关于摇杆的角度计算,为毛总是不对,在线等,跪求!

已知Vec2 ballPos(触点B),Vec2 centerPos(中心点A),radius(半径r),求角CAB的度数

引擎:cocos2dx 3.7.1,我用三角函数来求,不知道为何总不对.

请上运行代码,我已经醉了…分别用了cos atan sin度数都不对,唯一接近的是用了下面的.

float angle = atan((ballPos.y - centerPos.y) / (ballPos.x - centerPos.x)) * 100;


```


请各位亲帮忙啊~~
1赞

新手,试了下好像可以这样:
float angle = 180 - CC_RADIANS_TO_DEGREES(ccpSub(posA, posB).getAngle()) * -1; //posA posB 分别为 A B 两点的坐标
不对勿怪~ sry!

我是这样做的,首先获取方向向量
auto desPos = ballPos - centerPos;
向量归一化
desPos.normalize();
获取角度
float angle = CC_RADIANS_TO_DEGREES(desPos.getAngle())
在目标对像可以直接加上方向向量进行移动
auto targetPos = target->getPosition()
target->setPosition(targetPos+2*desPos)
2的意思是,每动一下摇杆,目标就向摇杆方向移动2个像素

这问题太过于简单
前面加个-
有时间去看看我的问题