想象一个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)?
发布于 2011-12-27 22:12:55
从您的特定数据中:
x = 100 - HookDistanceFromCenter * cos(180 - RotationAngle)
y = 100 + HookDistanceFromCenter * sin(180 - RotationAngle)但它会根据您所在的象限而变化。这是基本的三角学。你应该能够在这里使用信息:http://en.wikipedia.org/wiki/Unit_circle,除了你的圆的半径是HookDistanceFromCenter,并且你必须将你的旋转中心坐标添加到结果中才能得到实际的(x,y)。
https://stackoverflow.com/questions/8645397
复制相似问题