com.ardor3d.math.Quaternion.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(6.2k)|赞(0)|评价(0)|浏览(125)

本文整理了Java中com.ardor3d.math.Quaternion.<init>方法的一些代码示例,展示了Quaternion.<init>的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Quaternion.<init>方法的具体详情如下:
包路径:com.ardor3d.math.Quaternion
类名称:Quaternion
方法名:<init>

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);
}

相关文章