我希望能够基于3D点到原点的距离和两个角度来计算3D点的坐标:围绕Y轴的“偏航”和围绕X轴的“俯仰”。
在该示例中,距原点的距离为50个单位,偏航10度,俯仰10度。
是否存在用于检索3D结果点的公式?
答案 0 :(得分:1)
如果您有一个由方位角(yaw
),高度角(pitch
)和沿该方向矢量的距离定义的点,则必须转换方位角(首先是yaw
和高度方向(pitch
)的单位方向向量。
参见Solar zenith angle,Azimuth或Euler angles。
在坐标系中,x轴指向左侧,z轴指向前方,而y轴是向上矢量(Lefthanded coordiante system),可以这样计算:
x = sin(yaw) * cos(pitch)
y = sin(pitch)
z = cos(yaw) * cos(pitch)
其中yaw
是z轴和指向该点的矢量(投影到XZ平面)之间的顺时针角度。
该方向必须乘以到原点的距离:
P = distance * (x, y, z);
或
Px = distance * sin(yaw) * cos(pitch)
Py = distance * sin(pitch)
Pz = distance * cos(yaw) * cos(pitch)