fromEuler 方法通过给定的欧拉角创建一个四元数。欧拉角包含了一个旋转矢量沿着三个轴线的旋转,这些轴线被称为欧拉角顺序。
目前,支持 XYZ,YXZ,ZXY 和 ZYX 这四种欧拉角顺序。
Quaternion.fromEuler(x, y, z, order);
x <number>:表示绕着 x 轴旋转的角度,单位为弧度。y <number>:表示绕着 y 轴旋转的角度,单位为弧度。z <number>:表示绕着 z 轴旋转的角度,单位为弧度。order <string>:表示欧拉角的顺序,取值为 XYZ,YXZ,ZXY 或 ZYX。一个新的四元数对象。如果输入不合法,返回 null。
const q = Quaternion.fromEuler(Math.PI/2, Math.PI/4, -Math.PI/6, 'YXZ');
console.log(q); // Quaternion {x: 0.586, y: 0.450, z: -0.450, w: 0.450}
如果给定的 order 参数不是 XYZ,YXZ,ZXY 或 ZYX 中的任意一个,将会返回 null。
fromEuler 方法使用四元数的欧拉角顺序定义来计算一个四元数。order 参数和绕每个轴旋转的角度是程序员提供的输入。由于四元数具有“全局旋转”性质(在任何点的旋转结果不取决于旋转轴的选取点),因此两个四元数之间的插值是可能的。
在 XYZ,YXZ,ZXY 和 ZYX 中的每一个欧拉角顺序中,四元数都按照不同的顺序执行欧拉旋转。fromEuler 方法通过检查 order 参数来确定应该按照哪种顺序运行欧拉旋转。如果 order 参数未知,则函数将返回 null。