本文整理了Java中com.ardor3d.math.Quaternion.fromEulerAngles
方法的一些代码示例,展示了Quaternion.fromEulerAngles
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Quaternion.fromEulerAngles
方法的具体详情如下:
包路径:com.ardor3d.math.Quaternion
类名称:Quaternion
方法名:fromEulerAngles
[英]Updates this quaternion from the given Euler rotation angles, applied in the given order: heading, attitude, bank.
[中]根据给定的欧拉旋转角度更新此四元数,并按给定顺序应用:航向、姿态、倾斜。
代码示例来源:origin: com.ardor3d/ardor3d-math
/**
* Updates this quaternion from the given Euler rotation angles, applied in the given order: heading, attitude,
* bank.
*
* @param angles
* the Euler angles of rotation (in radians) stored as heading, attitude, and bank.
* @return this quaternion for chaining
* @throws ArrayIndexOutOfBoundsException
* if angles is less than length 3
* @throws NullPointerException
* if angles is null.
*/
public Quaternion fromEulerAngles(final double[] angles) {
return fromEulerAngles(angles[0], angles[1], angles[2]);
}
代码示例来源:origin: Renanse/Ardor3D
/**
* Updates this quaternion from the given Euler rotation angles, applied in the given order: heading, attitude,
* bank.
*
* @param angles
* the Euler angles of rotation (in radians) stored as heading, attitude, and bank.
* @return this quaternion for chaining
* @throws ArrayIndexOutOfBoundsException
* if angles is less than length 3
* @throws NullPointerException
* if angles is null.
*/
public Quaternion fromEulerAngles(final double[] angles) {
return fromEulerAngles(angles[0], angles[1], angles[2]);
}
代码示例来源:origin: Renanse/Ardor3D
@Test(expected = ArrayIndexOutOfBoundsException.class)
public void testBadEuler1() {
new Quaternion().fromEulerAngles(new double[2]);
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testEulerAngles() {
final Quaternion quat = new Quaternion().fromEulerAngles(new double[] { MathUtils.HALF_PI, 0, 0 });
assertTrue(1.0 == quat.magnitude());
assertTrue(Math.abs(Vector3.NEG_UNIT_Z.distance(quat.apply(Vector3.UNIT_X, null))) <= MathUtils.EPSILON);
quat.fromEulerAngles(0, -MathUtils.HALF_PI, 0);
assertTrue(1.0 == quat.magnitude());
assertTrue(Math.abs(Vector3.NEG_UNIT_Y.distance(quat.apply(Vector3.UNIT_X, null))) <= MathUtils.EPSILON);
quat.fromEulerAngles(0, 0, MathUtils.HALF_PI);
assertTrue(1.0 == quat.magnitude());
assertTrue(Math.abs(Vector3.UNIT_Z.distance(quat.apply(Vector3.UNIT_Y, null))) <= MathUtils.EPSILON);
quat.fromEulerAngles(0, MathUtils.HALF_PI, 0);
double[] angles = quat.toEulerAngles(null);
final Quaternion quat2 = new Quaternion().fromEulerAngles(angles);
assertEquals(quat, quat2);
quat.fromEulerAngles(0, -MathUtils.HALF_PI, 0);
angles = quat.toEulerAngles(null);
quat2.fromEulerAngles(angles);
assertEquals(quat, quat2);
quat.fromEulerAngles(0, 0, MathUtils.HALF_PI);
angles = quat.toEulerAngles(null);
quat2.fromEulerAngles(angles);
assertEquals(quat, quat2);
}
代码示例来源:origin: Renanse/Ardor3D
quat.fromEulerAngles(MathUtils.QUARTER_PI, MathUtils.PI, MathUtils.HALF_PI);
final Vector3 rotated = new Vector3(1, 1, 1);
quat.apply(rotated, rotated);
内容来源于网络,如有侵权,请联系作者删除!