我正在尝试计算一个球在圆圈中旋转的角度。 我有这个让它围绕一个圆圈移动:
BallPositionX = (cos( degreesToRadiansMultiplier * BallPositionAngle ) * 215) + centerPointX;
BallPositionY = centerPointY - (sin( degreesToRadiansMultiplier * BallPositionAngle ) * 215);
BallPositionAngle'计算方法如下:
BallPositionAngle += (BallSpeed * multiplier);
BallSpeed'是1到100之间的随机数和“乘数”#39;是动画中的帧编号。每一帧重复一次,直到球停止时的第78帧。
我写了这个公式来实际找出它的最终角度:
Winning = ((2*acos(((BallPositionX-centerPointX)/215)))/degreesToRadiansMultiplier);
这个公式每次都给我一个几乎随机的角度,这个角度远不及球的实际位置。
有人能想到更简单的方法吗?或者纠正我所做的一切? 我需要一个以度为单位的角度,以便我的其余代码能够运行。
我正在使用C并且不知道我的讲师正在使用什么编译器。
答案 0 :(得分:1)
非常确定您的BallPositionAngle
公式需要删除+
:
BallPositionAngle = (BallSpeed * multiplier);