由 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);
所以基本上我正在寻找一种使用 2 个角度计算矢量的 x、y 和 z 分量的方法,如下所示:
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);