Quaternion.invert() 方法是在 three.js 库中 Quaternion 类的方法之一。它会计算并返回该四元数的逆。
quaternion.invert()
该方法不需要传递任何参数。
该方法将返回与该方法所调用的四元数的值方向相反的四元数。
var quaternion = new THREE.Quaternion();
quaternion.setFromAxisAngle(new THREE.Vector3(0, 1, 0), Math.PI/2); // 在Y轴上旋转90度
console.log(quaternion);
quaternion.invert(); // 求该Quaternion的逆
console.log(quaternion);
执行上述代码,将会输出:
Quaternion {x: 0, y: 0.7071067811865475, z: 0, w: 0.7071067811865476}
Quaternion {x: -7.757789179817442e-17, y: -0.7071067811865475, z: -1.55892705528e-33, w: 0.7071067811865476}
在上述示例中,我们创建了一个围绕 Y 轴旋转了 90° 的四元数,并使用 console.log() 方法输出它的值。接下来我们使用 invert() 方法获取该四元数的逆,并再次使用 console.log() 方法输出结果。
${q_1} * {q_2} = 1$
, 那么 $q_1$ 就是 $q_2$ 的逆。所以,如果您有 $q_2$,那么您也可以通过以下方式计算 $q_2$ 的逆:var q2 = new THREE.Quaternion(0,0,0,1); // example
var qInv = q2.normalize().conjugate();