3D矢量由2个角度定义

Mof*_*ast 8 math 3d vector

所以基本上我正在寻找一种方法来计算矢量的x,y和z分量,使用2个角度,如图所示: 在此输入图像描述 其中alpha是2D角度,beta是y角度.我现在一直在使用的2D矢量是:

x = Math.sin(alpha);
z = Math.cos(alpha);
Run Code Online (Sandbox Code Playgroud)

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

 x = Math.sin(alpha)*Math.cos(beta);
 z = Math.sin(alpha)*Math.sin(beta);
 y = Math.cos(beta);
Run Code Online (Sandbox Code Playgroud)

注意:当使用β角接近90度时,x和z分量应接近零.所有帮助将不胜感激.

Tag*_*eev 16

适当的公式将是

x = Math.cos(alpha) * Math.cos(beta);
z = Math.sin(alpha) * Math.cos(beta);
y = Math.sin(beta);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这有效并且更有意义。(我必须切换 x 和 z,但这就是我的环境设置方式) (2认同)