飞机上的旋转点

时间:2012-02-17 23:05:23

标签: 3d rotation plane

给定一个平面(正常),并给出位于该平面上的2个点K1,K2。我需要在该平面上以给定的角度α将K2点旋转K1。如何计算K2的新坐标?

2 个答案:

答案 0 :(得分:2)

嗯,不知道你在编写什么语言,一般的答案是这样的:

//get some distances
distx = K2.x - K1.x
disty = K2.y - K1.y

//use Pythagorean theorem to find radius
radius = Math.sqrt(distx*distx + disty*disty)

//set new location using your angle, alpha
K2.x = K1.x + radius*cos(alpha)
K2.y = K1.y + radius*sin(alpha)

答案 1 :(得分:0)

根据定义,旋转位于具有固定枢轴点的轴上。 可以把它想象成用笔在一张纸上旋转,只有当它适合你时才能改变纸和笔的排列。

旋转单个轴以创建要旋转的轴。 您需要距离原点的距离,以通过轴的移动来保持其位置。 您还需要必要的角度来实现新轴。测量终端时保持一致。

接下来,您需要一个位于该轴上的轴心点。这是你的起源素数。 由于它在固定轴上旋转,您不再需要担心z轴,因为它无法前后滑动。 使用正弦和余弦,距离和旋转角度来查找新坐标。

最后将轴旋转回原来的位置,以便你拥有(x',y',z')

轴角度,旋转公式和欧拉角度。 会为初学者推荐最后一个。