我有一个在模拟世界中移动的模型。操作框架是右手,X - 向前,Y - 左和 Z - 向上。
我知道当前的位置,P1 (x1, y1, z1)
和当前的RPY角度,(R1, P1, Y1)
.我有一个目标位置,P2 (x2, y2, z2)
.我想将我的模型从P1
移动到P2
。我被困在计算目标 RPY 角度上。我希望我的模型首先在从 P1 到 P2 的方向上转身,然后朝那个方向移动以达到目标。
(R2, P2, Y2)
,如何计算目标RPY角度,鉴于上述信息?
-
计算方向矢量
D = P2 - P1 = (x2 - x1, y2 - y1, z2 - z1)
-
音高
P2 = asin(Dz / |D|)
-
偏航
Y2 = atan2(Dy, Dx)
(NB可以使用P2 = atan2(Dz, sqrt(Dx^2 + Dy^2))
代替,以获得在球形极点附近的更坚固性(