|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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 Object
public 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 |