|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jogamp.opengl.math.Quaternion
public class Quaternion
Constructor Summary | |
---|---|
Quaternion()
|
|
Quaternion(float[] vector,
float angle)
Constructor to create a rotation based quaternion from axis vector and angle |
|
Quaternion(float[] vector1,
float[] vector2)
Constructor to create a rotation based quaternion from two vectors |
|
Quaternion(float x,
float y,
float z,
float w)
|
|
Quaternion(Quaternion q)
|
Method Summary | |
---|---|
void |
add(Quaternion q)
Add a quaternion |
void |
divide(float n)
Divide a quaternion by a constant |
void |
fromAxis(float[] vector,
float angle)
Initialize this quaternion with given axis vector and rotation angle |
float |
getW()
|
float |
getX()
|
float |
getY()
|
float |
getZ()
|
void |
inverse()
Invert the quaternion If rotational, will produce a the inverse rotation |
boolean |
isEmpty()
Deprecated. use isIdentity() instead |
boolean |
isIdentity()
Check if this quaternion represents an identity matrix, for rotation. |
boolean |
isRotationMatrix(float[] m)
Check if the the 3x3 matrix (param) is in fact an affine rotational matrix |
void |
mult(float n)
Multiply a quaternion by a constant |
float[] |
mult(float[] vector)
Rotate given vector by this quaternion |
void |
mult(Quaternion q)
Multiply this quaternion by the param quaternion |
void |
normalize()
Normalize a quaternion required if to be used as a rotational quaternion |
void |
setFromMatrix(float[] m)
compute the quaternion from a 3x3 column matrix |
void |
setIdentity()
Set this quaternion to identity (x=0,y=0,z=0,w=1) |
void |
setW(float w)
|
void |
setX(float x)
|
void |
setY(float y)
|
void |
setZ(float z)
|
void |
slerp(Quaternion a,
Quaternion b,
float t)
Set this quaternion from a Sphereical interpolation of two param quaternion, used mostly for rotational animation. |
void |
subtract(Quaternion q)
Subtract a quaternion |
float[] |
toAxis()
Transform the rotational quaternion to axis based rotation angles |
float[] |
toMatrix()
Transform this quaternion to a 4x4 column matrix representing the rotation |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Quaternion()
public Quaternion(Quaternion q)
public Quaternion(float x, float y, float z, float w)
public Quaternion(float[] vector1, float[] vector2)
vector1
- vector2
- public Quaternion(float[] vector, float angle)
vector
- axis vectorangle
- rotation angle (rads)fromAxis(float[], float)
Method Detail |
---|
public void fromAxis(float[] vector, float angle)
vector
- axis vectorangle
- rotation angle (rads)public float[] toAxis()
public float getW()
public void setW(float w)
public float getX()
public void setX(float x)
public float getY()
public void setY(float y)
public float getZ()
public void setZ(float z)
public void add(Quaternion q)
q
- quaternionpublic void subtract(Quaternion q)
q
- quaternionpublic void divide(float n)
n
- a float to divide bypublic void mult(Quaternion q)
q
- a quaternion to multiply withpublic void mult(float n)
n
- a float constantpublic float[] mult(float[] vector)
vector
- input vector
public void normalize()
public void inverse()
public float[] toMatrix()
public void slerp(Quaternion a, Quaternion b, float t)
Note: Method does not normalize this quaternion!
See http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/ quaternions/slerp/
a
- initial quaternionb
- target quaterniont
- float between 0 and 1 representing interp.@Deprecated public boolean isEmpty()
isIdentity()
instead
public boolean isIdentity()
public void setIdentity()
public void setFromMatrix(float[] m)
m
- 3x3 column matrixpublic boolean isRotationMatrix(float[] m)
m
- 3x3 column matrix
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |