public final class Quaternion extends Object implements Serializable
| Modifier and Type | Field and Description | 
|---|---|
| static Quaternion | Ii | 
| static Quaternion | IDENTITYIdentity quaternion. | 
| static Quaternion | Jj | 
| static Quaternion | Kk | 
| static Quaternion | ZEROZero quaternion. | 
| Constructor and Description | 
|---|
| Quaternion(double[] v)Builds a pure quaternion from a vector (assuming that the scalar
 part is zero). | 
| Quaternion(double scalar,
          double[] v)Builds a quaternion from scalar and vector parts. | 
| Quaternion(double a,
          double b,
          double c,
          double d)Builds a quaternion from its components. | 
| Modifier and Type | Method and Description | 
|---|---|
| Quaternion | add(Quaternion q)Computes the sum of the instance and another quaternion. | 
| static Quaternion | add(Quaternion q1,
   Quaternion q2)Computes the sum of two quaternions. | 
| double | dotProduct(Quaternion q)Computes the dot-product of the instance by a quaternion. | 
| static double | dotProduct(Quaternion q1,
          Quaternion q2)Computes the dot-product of two quaternions. | 
| boolean | equals(Object other) | 
| boolean | equals(Quaternion q,
      double eps)Checks whether this instance is equal to another quaternion
 within a given tolerance. | 
| Quaternion | getConjugate()Returns the conjugate quaternion of the instance. | 
| Quaternion | getInverse()Returns the inverse of this instance. | 
| double | getNorm()Computes the norm of the quaternion. | 
| Quaternion | getPositivePolarForm()Returns the polar form of the quaternion. | 
| double | getQ0()Gets the first component of the quaternion (scalar part). | 
| double | getQ1()Gets the second component of the quaternion (first component
 of the vector part). | 
| double | getQ2()Gets the third component of the quaternion (second component
 of the vector part). | 
| double | getQ3()Gets the fourth component of the quaternion (third component
 of the vector part). | 
| double | getScalarPart()Gets the scalar part of the quaternion. | 
| double[] | getVectorPart()Gets the three components of the vector part of the quaternion. | 
| int | hashCode() | 
| boolean | isPureQuaternion(double eps)Checks whether the instance is a pure quaternion within a given
 tolerance. | 
| boolean | isUnitQuaternion(double eps)Checks whether the instance is a unit quaternion within a given
 tolerance. | 
| Quaternion | multiply(double alpha)Multiplies the instance by a scalar. | 
| Quaternion | multiply(Quaternion q)Returns the Hamilton product of the instance by a quaternion. | 
| static Quaternion | multiply(Quaternion q1,
        Quaternion q2)Returns the Hamilton product of two quaternions. | 
| Quaternion | normalize()Computes the normalized quaternion (the versor of the instance). | 
| Quaternion | subtract(Quaternion q)Subtracts a quaternion from the instance. | 
| static Quaternion | subtract(Quaternion q1,
        Quaternion q2)Subtracts two quaternions. | 
| String | toString() | 
public static final Quaternion IDENTITY
public static final Quaternion ZERO
public static final Quaternion I
public static final Quaternion J
public static final Quaternion K
public Quaternion(double a,
          double b,
          double c,
          double d)
a - Scalar component.b - First vector component.c - Second vector component.d - Third vector component.public Quaternion(double scalar,
          double[] v)
           throws DimensionMismatchException
scalar - Scalar part of the quaternion.v - Components of the vector part of the quaternion.DimensionMismatchException - if the array length is not 3.public Quaternion(double[] v)
v - Components of the vector part of the pure quaternion.public Quaternion getConjugate()
public static Quaternion multiply(Quaternion q1, Quaternion q2)
q1 - First quaternion.q2 - Second quaternion.q1 and q2, in that order.public Quaternion multiply(Quaternion q)
q - Quaternion.q, in that order.public static Quaternion add(Quaternion q1, Quaternion q2)
q1 - Quaternion.q2 - Quaternion.q1 and q2.public Quaternion add(Quaternion q)
q - Quaternion.qpublic static Quaternion subtract(Quaternion q1, Quaternion q2)
q1 - First Quaternion.q2 - Second quaternion.q1 and q2.public Quaternion subtract(Quaternion q)
q - Quaternion.q.public static double dotProduct(Quaternion q1, Quaternion q2)
q1 - Quaternion.q2 - Quaternion.q1 and q2.public double dotProduct(Quaternion q)
q - Quaternion.q.public double getNorm()
public Quaternion normalize()
ZeroException - if the norm of the quaternion is zero.public boolean equals(Quaternion q, double eps)
q - Quaternion with which to compare the current quaternion.eps - Tolerance.true if the each of the components are equal
 within the allowed absolute error.public boolean isUnitQuaternion(double eps)
eps - Tolerance (absolute error).true if the norm is 1 within the given tolerance,
 false otherwisepublic boolean isPureQuaternion(double eps)
eps - Tolerance (absolute error).true if the scalar part of the quaternion is zero.public Quaternion getPositivePolarForm()
public Quaternion getInverse()
ZeroException - if the norm (squared) of the quaternion is zero.public double getQ0()
public double getQ1()
public double getQ2()
public double getQ3()
public double getScalarPart()
getQ0()public double[] getVectorPart()
public Quaternion multiply(double alpha)
alpha - Scalar factor.Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.