|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.math3.complex.Quaternion
public final class Quaternion
This class implements
quaternions (Hamilton's hypercomplex numbers).
Instance of this class are guaranteed to be immutable.
| Field Summary | |
|---|---|
static Quaternion |
I
i |
static Quaternion |
IDENTITY
Identity quaternion. |
static Quaternion |
J
j |
static Quaternion |
K
k |
static Quaternion |
ZERO
Zero quaternion. |
| Constructor Summary | |
|---|---|
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. |
|
| Method Summary | |
|---|---|
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()
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
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
| Constructor Detail |
|---|
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.| Method Detail |
|---|
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.
q
public 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(Object other)
equals in class Objectpublic int hashCode()
hashCode in class Object
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()
getQ1(),
getQ2(),
getQ3()public Quaternion multiply(double alpha)
alpha - Scalar factor.
public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||