由 2 个角度定义的 3D 矢量

3D Vector defined by 2 angles

所以基本上我正在寻找一种使用 2 个角度计算矢量的 x、y 和 z 分量的方法,如下所示: 其中 alpha 是 2D 角度,beta 是 y 角度。 到目前为止,我一直在使用的 2D 向量是:

x = Math.sin(alpha);
z = Math.cos(alpha);

在搜索 stackexchange math 后,我发现这个论坛并不能正常工作:

 x = Math.sin(alpha)*Math.cos(beta);
 z = Math.sin(alpha)*Math.sin(beta);
 y = Math.cos(beta);

注意:当 β 角接近 90 度时,x 和 z 分量应该接近零。 我们将不胜感激。

正确的公式是

x = Math.cos(alpha) * Math.cos(beta);
z = Math.sin(alpha) * Math.cos(beta);
y = Math.sin(beta);