Quaternion.rotateTowards()
Quaternion.rotateTowards() 方法用于将当前四元数旋转朝向目标四元数,即通过一系列旋转将当前四元数旋转到与目标四元数相同的方向上。
语法
Quaternion.rotateTowards(target, maxAngle)
参数
返回值
该方法没有返回值,会直接修改当前的四元数。
说明
范例
var quaternion1 = new THREE.Quaternion().setFromEuler(new THREE.Euler(0.2, 0.3, 0.4, 'XYZ'));
var quaternion2 = new THREE.Quaternion().setFromEuler(new THREE.Euler(1, 0.5, 0, 'XYZ'));
quaternion1.rotateTowards(quaternion2, Math.PI / 2);
在该例子中,我们创建了两个四元数 quaternion1 和 quaternion2,然后通过将欧拉角转换成四元数的方式对其进行初始化。
接着,我们将当前四元数 quaternion1 旋转朝向目标四元数 quaternion2。我们设置了最大旋转角度为 90 度(即 pi / 2),所以当前四元数将不断逐渐旋转,直到与目标四元数的差值小于等于这个角度。
最终,quaternion1 的方向将会与 quaternion2 相同。