Three.js object.rotation详细信息
我阅读了three.js关于旋转的文档,所以我知道three.js在应用旋转时对Euler角度使用内在(Tait Bryan)排序。 然后,正如我所记得的,它们在后端被转换成四元数,以防止万向节锁定 我的目标是应用yzy旋转 让我们考虑一个角度Three.js object.rotation详细信息,three.js,rotation,euler-angles,Three.js,Rotation,Euler Angles,我阅读了three.js关于旋转的文档,所以我知道three.js在应用旋转时对Euler角度使用内在(Tait Bryan)排序。 然后,正如我所记得的,它们在后端被转换成四元数,以防止万向节锁定 我的目标是应用yzy旋转 让我们考虑一个角度phi 让我们考虑另一个角度theta θ是一个常数,一个任意值,我将使用它作为步长 在渲染循环中 function render(){ object.rotation.y = phi; object.rotation.z += theta;
phi
让我们考虑另一个角度theta
θ是一个常数,一个任意值,我将使用它作为步长
在渲染循环中
function render(){
object.rotation.y = phi;
object.rotation.z += theta;
object.rotation.y = -phi;
}
我对这里发生的事情感到困惑
这些是YZY Euler角度应用程序的步骤吗?
如何在three.js中进行内部旋转?
谢谢你的帮助
更清楚地说,,
是
同
object.rotation.setRotationFromEuler(new THREE.Euler(val1,val2,val3,'XYZ'));
let vec = new THREE.Vector3(object's current normalized direction vector);
vec.applyEuler(new THREE.Euler(val1,val2,val3,'XYZ'));
object.rotation.x = vec.x;
object.rotation.y = vec.y;
object.rotation.z = vec.z;
亦同
object.rotation.setRotationFromEuler(new THREE.Euler(val1,val2,val3,'XYZ'));
let vec = new THREE.Vector3(object's current normalized direction vector);
vec.applyEuler(new THREE.Euler(val1,val2,val3,'XYZ'));
object.rotation.x = vec.x;
object.rotation.y = vec.y;
object.rotation.z = vec.z;
这些?
还有,为什么我们不能在three.js中进行YZY旋转
抱歉,如果问题不太清楚,老实说,我对所有这些都不清楚:)你期望什么,它应该如何表现,以及它实际上是如何表现的?我编辑了这个问题。我希望旋转。x、y或z一个接一个地按顺序旋转。因此,我可以实现yzy旋转,然后渲染帧。