C公式帮助圆形位置

时间:2014-04-17 01:43:06

标签: c geometry trigonometry

我正在尝试计算一个球在圆圈中旋转的角度。 我有这个让它围绕一个圆圈移动:

    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并且不知道我的讲师正在使用什么编译器。

1 个答案:

答案 0 :(得分:1)

非常确定您的BallPositionAngle公式需要删除+

BallPositionAngle = (BallSpeed * multiplier);