来自两个角度和距离的 3D 点

3D point from two angles and a distance

我希望能够根据距离原点的距离和两个角度计算 3D 点的坐标:"yaw" 围绕 Y 轴,"pitch" 围绕 X -轴。

在示例中,距原点的距离为 50 个单位,偏航 10 度,俯仰 10 度。

是否有检索3D结果点的公式?

如果您有一个由方位角 (yaw)、高度角 (pitch) 和沿该方向矢量的距离定义的点,则必须变换方位角角度(yaw)和高度角(pitch)首先指向单位方向矢量。
参见 Solar zenith angle, Azimuth or 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)