如何通过相机旋转使3D物体进入轨道

时间:2012-08-16 14:13:13

标签: javascript math three.js

我刚开始进入three.js并且我有一个固定到0,0,0的相机,可以旋转360度左右。我有一个3D物体,它从相机前面开始,我想围绕相机进行轨道运动,与相机的旋转相切,这样3D物体基本上不会离开相机的视线

相机的代码很标准

    phi     = TDP.toRadians( 90 - lat );    
    theta   = TDP.toRadians( lon );         

    camera.target.x = Math.sin( phi ) * Math.cos( theta );
    camera.target.y = Math.cos( phi );
    camera.target.z = Math.sin( phi ) * Math.sin( theta );

更新3D对象的代码

    arrow.position.x = - Math.sin( TDP.toRadians( lon ) ) * camera.target.x + arrow.position.x;
    arrow.position.z = Math.cos( TDP.toRadians( lon ) ) * camera.target.z + arrow.position.z;

我刚刚玩弄这个等式并且数学方面被困住了。物体沿x轴的运动类型有效但z位置偏离。提前感谢您的帮助。

0 个答案:

没有答案