我想设置平面的旋转。这需要三个数字来表示 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 );
让 Three.js 为您计算一下。 :-)
编辑:更新到 Three.js r.66
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)