lol*_*rup 4 javascript three.js
我想设置一个平面的旋转.这需要三个数字来表示x,y和z轴的弧度旋转.
我没有这些数字,但是,我有一个矢量'myVec',它一旦旋转就应该与平面正交.
这个向量让我向前迈进了一步,但并不完全在那里:THREE.Vector3提供了一个函数"setEulerFromRotationMatrix".也许我可以使用它,如果我能弄清楚如何从myVec生成旋转矩阵:
旋转矩阵描述了一个向量如何转换为另一个向量.因此出现了一个问题:哪个向量应该是起始向量?这一个(1,1,1),还是这一个(1,0,0)?
其次,我如何实际制作矩阵?我看过http://en.wikipedia.org/wiki/Rotation_matrix,但只发现了如何从旋转矩阵转换为其他东西.它必须以某种方式逆转矩阵乘法过程.
有什么指针吗?
在three.js r50中,默认平面位于原点,而它是正z方向的法线点.所以它是( 0, 0, 1 )你想要转换的矢量myVec.但你不必直接这样做.
在three.js中做你想做的最简单的方法就是这样.
var v = myPlane.position.clone();
v.add( myVec );
myPlane.lookAt( v );
Run Code Online (Sandbox Code Playgroud)
让three.js为你做数学运算.:-)
编辑:更新为three.js r.66