数学游戏在想

时间:2011-12-27 13:54:49

标签: math

想象一下50微米长的手臂。 它位于100,100。 旋转中心为100,100。 手臂一直在旋转。 在手臂上有一个钩子,可以在手臂的整个距离前后移动。

我的变数:

X = 100;
Y = 100;
RotationAngel = 120; // Loops up to 360.
HookDistanceFromCenter = 25; // Goes 0 -> 50 -> 0 by a loop.

如何获得钩子的位置(x,y)?

2 个答案:

答案 0 :(得分:0)

根据您的具体数据:

x = 100 - HookDistanceFromCenter * cos(180 - RotationAngle)
y = 100 + HookDistanceFromCenter * sin(180 - RotationAngle)

但它会根据你所在的象限而改变。这是基本的三角学。您应该可以使用以下信息:http://en.wikipedia.org/wiki/Unit_circle,但圆的半径为HookDistanceFromCenter,并且您必须将旋转中心坐标添加到结果中才能获得实际的(x,y)

答案 1 :(得分:0)

本文可能有所帮助:

http://indiedevstories.com/2012/08/14/custom-cocos2d-action-rotating-sprite-around-arbitrary-point/

本文主要针对iOS的Cocos2d游戏,但介绍性部分仅供参考。

HTH!