本文整理了Java中com.ardor3d.math.Quaternion.<init>
方法的一些代码示例,展示了Quaternion.<init>
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Quaternion.<init>
方法的具体详情如下:
包路径:com.ardor3d.math.Quaternion
类名称:Quaternion
方法名:<init>
[英]Constructs a new quaternion set to (0, 0, 0, 1).
[中]将新的四元数集构造为(0,0,0,1)。
代码示例来源:origin: Renanse/Ardor3D
@Override
public Quaternion clone() {
return new Quaternion(this);
}
代码示例来源:origin: com.ardor3d/ardor3d-math
/**
* @return An instance of Quaternion that is intended for temporary use in calculations and so forth. Multiple calls
* to the method should return instances of this class that are not currently in use.
*/
public final static Quaternion fetchTempInstance() {
if (MathConstants.useMathPools) {
return Quaternion.QUAT_POOL.fetch();
} else {
return new Quaternion();
}
}
代码示例来源:origin: Renanse/Ardor3D
/**
* @return An instance of Quaternion that is intended for temporary use in calculations and so forth. Multiple calls
* to the method should return instances of this class that are not currently in use.
*/
public final static Quaternion fetchTempInstance() {
if (MathConstants.useMathPools) {
return Quaternion.QUAT_POOL.fetch();
} else {
return new Quaternion();
}
}
代码示例来源:origin: Renanse/Ardor3D
@Test(expected = ArrayIndexOutOfBoundsException.class)
public void testBadEuler2() {
final Quaternion quat = new Quaternion();
quat.toEulerAngles(new double[2]);
}
代码示例来源:origin: com.ardor3d/ardor3d-animation
public void write(final OutputCapsule capsule) throws IOException {
capsule.write(_rotation, "rotation", new Quaternion(Quaternion.IDENTITY));
capsule.write(_scale, "scale", new Vector3(Vector3.ONE));
capsule.write(_translation, "translation", new Vector3(Vector3.ZERO));
}
代码示例来源:origin: Renanse/Ardor3D
@Test(expected = ArrayIndexOutOfBoundsException.class)
public void testBadArray() {
final Quaternion quat = new Quaternion();
quat.toArray(new double[2]);
}
代码示例来源:origin: Renanse/Ardor3D
@Test(expected = ArrayIndexOutOfBoundsException.class)
public void testBadAxesArray() {
final Quaternion quat = new Quaternion();
quat.toAxes(new Vector3[2]);
}
代码示例来源:origin: Renanse/Ardor3D
public void write(final OutputCapsule capsule) throws IOException {
capsule.write(_rotation, "rotation", new Quaternion(Quaternion.IDENTITY));
capsule.write(_scale, "scale", new Vector3(Vector3.ONE));
capsule.write(_translation, "translation", new Vector3(Vector3.ZERO));
}
代码示例来源:origin: Renanse/Ardor3D
@Test(expected = IllegalArgumentException.class)
public void testBadRotationColumn2() {
new Quaternion().getRotationColumn(4, null);
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testSimpleHash() {
// Just a simple sanity check.
final Quaternion quat1 = new Quaternion(1, 2, 3, 4);
final Quaternion quat2 = new Quaternion(1, 2, 3, 4);
final Quaternion quat3 = new Quaternion(1, 2, 3, 0);
assertTrue(quat1.hashCode() == quat2.hashCode());
assertTrue(quat1.hashCode() != quat3.hashCode());
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testDot() {
final Quaternion quat = new Quaternion(7, 2, 5, -1);
assertTrue(35.0 == quat.dot(3, 1, 2, -2));
assertTrue(-11.0 == quat.dot(new Quaternion(-1, 1, -1, 1)));
}
代码示例来源:origin: Renanse/Ardor3D
public MoveWidget withXAxis(final ReadOnlyColorRGBA color, final double scale, final double width,
final double lengthGap, final double tipGap) {
if (_xArrow != null) {
_xArrow.removeFromParent();
}
_xColor.set(color);
_xArrow = new InteractArrow("xMoveArrow", scale, width, lengthGap, tipGap);
_xArrow.setDefaultColor(color);
final Quaternion rotate = new Quaternion().fromAngleAxis(MathUtils.HALF_PI, Vector3.UNIT_Y);
_xArrow.setRotation(rotate);
_handle.attachChild(_xArrow);
return this;
}
代码示例来源:origin: com.ardor3d/ardor3d-animation
public void read(final InputCapsule capsule) throws IOException {
setRotation((Quaternion) capsule.readSavable("rotation", new Quaternion(Quaternion.IDENTITY)));
setScale((Vector3) capsule.readSavable("scale", new Vector3(Vector3.ONE)));
setTranslation((Vector3) capsule.readSavable("rotation", new Vector3(Vector3.ZERO)));
}
}
代码示例来源:origin: Renanse/Ardor3D
public void read(final InputCapsule capsule) throws IOException {
setRotation((Quaternion) capsule.readSavable("rotation", new Quaternion(Quaternion.IDENTITY)));
setScale((Vector3) capsule.readSavable("scale", new Vector3(Vector3.ONE)));
setTranslation((Vector3) capsule.readSavable("rotation", new Vector3(Vector3.ZERO)));
}
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testApplyToZero() {
assertEquals(Vector3.ZERO, new Quaternion().apply(new Vector3(0, 0, 0), null));
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testClone() {
final Quaternion quat1 = new Quaternion();
final Quaternion quat2 = quat1.clone();
assertEquals(quat1, quat2);
assertNotSame(quat1, quat2);
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testNormalize() {
final Quaternion quat = new Quaternion(0, 1, 2, 3);
final Quaternion quat2 = quat.normalize(null);
assertEquals(quat2, quat.normalizeLocal());
assertTrue(Math.abs(1 - quat.magnitude()) <= MathUtils.EPSILON);
assertTrue(Math.abs(1 - quat2.magnitude()) <= MathUtils.EPSILON);
}
代码示例来源:origin: Renanse/Ardor3D
@Test(expected = InvalidTransformException.class)
public void testSetRotationReadOnlyQuaternion() {
final ValidatingTransform vt1 = new ValidatingTransform();
final Quaternion rotation = new Quaternion();
vt1.setRotation(rotation); // good
rotation.setX(Double.NaN);
vt1.setRotation(rotation); // bad
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testAxes() {
final Matrix3 rot = new Matrix3().applyRotationX(MathUtils.QUARTER_PI).applyRotationY(MathUtils.HALF_PI);
final Quaternion quat1 = new Quaternion().fromAxes(rot.getColumn(0, null), rot.getColumn(1, null),
rot.getColumn(2, null));
final Quaternion quat2 = new Quaternion().fromRotationMatrix(rot);
assertEquals(quat2, quat1);
final Vector3[] axes = quat1.toAxes(new Vector3[3]);
quat1.fromAxes(axes[0], axes[1], axes[2]);
assertEquals(quat2, quat1);
}
代码示例来源:origin: Renanse/Ardor3D
@Test
public void testLookAt() {
final Vector3 direction = new Vector3(-1, 0, 0);
final Quaternion quat = new Quaternion().lookAt(direction, Vector3.UNIT_Y);
assertTrue(Math.abs(direction.distance(quat.apply(Vector3.UNIT_Z, null))) <= Quaternion.ALLOWED_DEVIANCE);
direction.set(1, 1, 1).normalizeLocal();
quat.lookAt(direction, Vector3.UNIT_Y);
assertTrue(Math.abs(direction.distance(quat.apply(Vector3.UNIT_Z, null))) <= Quaternion.ALLOWED_DEVIANCE);
direction.set(-1, 2, -1).normalizeLocal();
quat.lookAt(direction, Vector3.UNIT_Y);
assertTrue(Math.abs(direction.distance(quat.apply(Vector3.UNIT_Z, null))) <= Quaternion.ALLOWED_DEVIANCE);
}
内容来源于网络,如有侵权,请联系作者删除!