Package javax.vecmath

Class Quat4d

  • All Implemented Interfaces:
    java.io.Serializable

    public class Quat4d
    extends Tuple4d
    implements java.io.Serializable
    A 4 element quaternion represented by double precision floating point x,y,z,w coordinates.
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class javax.vecmath.Tuple4d

        w, x, y, z
    • Constructor Summary

      Constructors 
      Constructor Description
      Quat4d()
      Constructs and initializes a Quat4d to (0,0,0,0).
      Quat4d​(double[] q)
      Constructs and initializes a Quat4d from the array of length 4.
      Quat4d​(double x, double y, double z, double w)
      Constructs and initializes a Quat4d from the specified xyzw coordinates.
      Quat4d​(Quat4d q1)
      Constructs and initializes a Quat4d from the specified Quat4d.
      Quat4d​(Quat4f q1)
      Constructs and initializes a Quat4d from the specified Quat4f.
      Quat4d​(Tuple4d t1)
      Constructs and initializes a Quat4d from the specified Tuple4d.
      Quat4d​(Tuple4f t1)
      Constructs and initializes a Quat4d from the specified Tuple4f.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void conjugate()
      Negate the value of of each of this quaternion's x,y,z coordinates in place.
      void conjugate​(Quat4d q1)
      Sets the value of this quaternion to the conjugate of quaternion q1.
      void interpolate​(Quat4d q1, double alpha)
      Performs a great circle interpolation between this quaternion and the quaternion parameter and places the result into this quaternion.
      void interpolate​(Quat4d q1, Quat4d q2, double alpha)
      Performs a great circle interpolation between quaternion q1 and quaternion q2 and places the result into this quaternion.
      void inverse()
      Sets the value of this quaternion to the quaternion inverse of itself.
      void inverse​(Quat4d q1)
      Sets the value of this quaternion to quaternion inverse of quaternion q1.
      void mul​(Quat4d q1)
      Sets the value of this quaternion to the quaternion product of itself and q1 (this = this * q1).
      void mul​(Quat4d q1, Quat4d q2)
      Sets the value of this quaternion to the quaternion product of quaternions q1 and q2 (this = q1 * q2).
      void mulInverse​(Quat4d q1)
      Multiplies this quaternion by the inverse of quaternion q1 and places the value into this quaternion.
      void mulInverse​(Quat4d q1, Quat4d q2)
      Multiplies quaternion q1 by the inverse of quaternion q2 and places the value into this quaternion.
      void normalize()
      Normalizes the value of this quaternion in place.
      void normalize​(Quat4d q1)
      Sets the value of this quaternion to the normalized value of quaternion q1.
      void set​(AxisAngle4d a1)
      Sets the value of this quaternion to the equivalent rotation of teh AxisAngle argument.
      void set​(AxisAngle4f a1)
      Sets the value of this quaternion to the equivalent rotation of teh AxisAngle argument.
      void set​(Matrix3d m1)
      Sets the value of this quaternion to the rotational component of the passed matrix.
      void set​(Matrix3f m1)
      Sets the value of this quaternion to the rotational component of the passed matrix.
      void set​(Matrix4d m1)
      Sets the value of this quaternion to the rotational component of the passed matrix.
      void set​(Matrix4f m1)
      Sets the value of this quaternion to the rotational component of the passed matrix.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Quat4d

        public Quat4d​(double x,
                      double y,
                      double z,
                      double w)
        Constructs and initializes a Quat4d from the specified xyzw coordinates.
        Parameters:
        x - the x coordinate
        y - the y coordinate
        z - the z coordinate
        w - the w scalar component
      • Quat4d

        public Quat4d​(double[] q)
        Constructs and initializes a Quat4d from the array of length 4.
        Parameters:
        q - the array of length 4 containing xyzw in order
      • Quat4d

        public Quat4d​(Quat4d q1)
        Constructs and initializes a Quat4d from the specified Quat4d.
        Parameters:
        q1 - the Quat4d containing the initialization x y z w data
      • Quat4d

        public Quat4d​(Quat4f q1)
        Constructs and initializes a Quat4d from the specified Quat4f.
        Parameters:
        q1 - the Quat4f containing the initialization x y z w data
      • Quat4d

        public Quat4d​(Tuple4d t1)
        Constructs and initializes a Quat4d from the specified Tuple4d.
        Parameters:
        t1 - the Tuple4d containing the initialization x y z w data
      • Quat4d

        public Quat4d​(Tuple4f t1)
        Constructs and initializes a Quat4d from the specified Tuple4f.
        Parameters:
        t1 - the Tuple4f containing the initialization x y z w data
      • Quat4d

        public Quat4d()
        Constructs and initializes a Quat4d to (0,0,0,0).
    • Method Detail

      • conjugate

        public final void conjugate​(Quat4d q1)
        Sets the value of this quaternion to the conjugate of quaternion q1.
        Parameters:
        q1 - the source vector
      • conjugate

        public final void conjugate()
        Negate the value of of each of this quaternion's x,y,z coordinates in place.
      • mul

        public final void mul​(Quat4d q1,
                              Quat4d q2)
        Sets the value of this quaternion to the quaternion product of quaternions q1 and q2 (this = q1 * q2). Note that this is safe for aliasing (e.g. this can be q1 or q2).
        Parameters:
        q1 - the first quaternion
        q2 - the second quaternion
      • mul

        public final void mul​(Quat4d q1)
        Sets the value of this quaternion to the quaternion product of itself and q1 (this = this * q1).
        Parameters:
        q1 - the other quaternion
      • mulInverse

        public final void mulInverse​(Quat4d q1,
                                     Quat4d q2)
        Multiplies quaternion q1 by the inverse of quaternion q2 and places the value into this quaternion. The value of both argument quaternions is preservered (this = q1 * q2^-1).
        Parameters:
        q1 - the left quaternion
        q2 - the right quaternion
      • mulInverse

        public final void mulInverse​(Quat4d q1)
        Multiplies this quaternion by the inverse of quaternion q1 and places the value into this quaternion. The value of the argument quaternion is preserved (this = this * q^-1).
        Parameters:
        q1 - the other quaternion
      • inverse

        public final void inverse​(Quat4d q1)
        Sets the value of this quaternion to quaternion inverse of quaternion q1.
        Parameters:
        q1 - the quaternion to be inverted
      • inverse

        public final void inverse()
        Sets the value of this quaternion to the quaternion inverse of itself.
      • normalize

        public final void normalize​(Quat4d q1)
        Sets the value of this quaternion to the normalized value of quaternion q1.
        Parameters:
        q1 - the quaternion to be normalized.
      • normalize

        public final void normalize()
        Normalizes the value of this quaternion in place.
      • set

        public final void set​(Matrix4f m1)
        Sets the value of this quaternion to the rotational component of the passed matrix.
        Parameters:
        m1 - the matrix4f
      • set

        public final void set​(Matrix4d m1)
        Sets the value of this quaternion to the rotational component of the passed matrix.
        Parameters:
        m1 - the matrix4d
      • set

        public final void set​(Matrix3f m1)
        Sets the value of this quaternion to the rotational component of the passed matrix.
        Parameters:
        m1 - the matrix3f
      • set

        public final void set​(Matrix3d m1)
        Sets the value of this quaternion to the rotational component of the passed matrix.
        Parameters:
        m1 - the matrix3d
      • set

        public final void set​(AxisAngle4f a1)
        Sets the value of this quaternion to the equivalent rotation of teh AxisAngle argument.
        Parameters:
        a1 - the axis-angle
      • set

        public final void set​(AxisAngle4d a1)
        Sets the value of this quaternion to the equivalent rotation of teh AxisAngle argument.
        Parameters:
        a1 - the axis-angle
      • interpolate

        public final void interpolate​(Quat4d q1,
                                      double alpha)
        Performs a great circle interpolation between this quaternion and the quaternion parameter and places the result into this quaternion.
        Parameters:
        q1 - the other quaternion
        alpha - the alpha interpolation parameter
      • interpolate

        public final void interpolate​(Quat4d q1,
                                      Quat4d q2,
                                      double alpha)
        Performs a great circle interpolation between quaternion q1 and quaternion q2 and places the result into this quaternion.
        Parameters:
        q1 - the first quaternion
        q2 - the second quaternion
        alpha - the alpha interpolation parameter