我正在使用rotateX,rotateY,rotateZ在3个轴上旋转Object3D。最初,我的角度定义为
var rotations = {
x: 0,
y: 180,
z: 0
};
初始轮换工作正常。在稍后的阶段,我想读取object3D的旋转值并将其转换回我的原始对象。但是,它产生不同的结果。有没有一种方法可以将对象反向旋转以将object3D的旋转转换回原始角度?
var deg = Math.PI / 180;
var rotations = {
x: 0,
y: 180,
z: 0
};
var o = new THREE.Object3D();
o.rotateZ(rotations.z * deg);
o.rotateX(rotations.x * deg);
o.rotateY(rotations.y * deg);
var orig = "x: " + rotations.x + ", y:" + rotations.y + ", z:" + rotations.z;
var current = "x: " + o.rotation.x / deg + ", y:" + o.rotation.y / deg + ", z:" + o.rotation.z / deg;
document.body.innerHTML = orig + "<br/>" + current;
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/102/three.min.js"></script>