Package org.joml
Class AxisAngle4f
java.lang.Object
org.joml.AxisAngle4f
- All Implemented Interfaces:
Externalizable
,Serializable
,Cloneable
Represents a 3D rotation of a given radians about an axis represented as an
unit 3D vector.
This class uses single-precision components.
- Author:
- Kai Burjack
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCreate a newAxisAngle4f
with zero rotation about(0, 0, 1)
.AxisAngle4f
(float angle, float x, float y, float z) Create a newAxisAngle4f
with the given values.AxisAngle4f
(float angle, Vector3fc v) Create a newAxisAngle4f
with the given values.Create a newAxisAngle4f
with the same values ofa
.Create a newAxisAngle4f
from the givenQuaternionfc
. -
Method Summary
Modifier and TypeMethodDescriptionclone()
boolean
get
(AxisAngle4d dest) Set the givenAxisAngle4d
to thisAxisAngle4f
.get
(AxisAngle4f dest) Set the givenAxisAngle4f
to thisAxisAngle4f
.Set the givenMatrix3d
to a rotation transformation equivalent to thisAxisAngle4f
.Set the givenMatrix3f
to a rotation transformation equivalent to thisAxisAngle4f
.Set the givenMatrix4d
to a rotation transformation equivalent to thisAxisAngle4f
.Set the givenMatrix4f
to a rotation transformation equivalent to thisAxisAngle4f
.get
(Quaterniond q) Set the givenQuaterniond
to be equivalent to thisAxisAngle4f
rotation.get
(Quaternionf q) Set the givenQuaternionf
to be equivalent to thisAxisAngle4f
rotation.int
hashCode()
Normalize the axis vector.void
rotate
(float ang) Increase the rotation angle by the given amount.set
(float angle, float x, float y, float z) Set thisAxisAngle4f
to the given values.Set thisAxisAngle4f
to the given values.set
(AxisAngle4d a) Set thisAxisAngle4f
to the values ofa
.set
(AxisAngle4f a) Set thisAxisAngle4f
to the values ofa
.Set thisAxisAngle4f
to be equivalent to the rotation of the givenMatrix3dc
.Set thisAxisAngle4f
to be equivalent to the rotation of the givenMatrix3fc
.Set thisAxisAngle4f
to be equivalent to the rotational component of the givenMatrix4dc
.Set thisAxisAngle4f
to be equivalent to the rotational component of the givenMatrix4fc
.set
(Matrix4x3fc m) Set thisAxisAngle4f
to be equivalent to the rotational component of the givenMatrix4x3fc
.set
(Quaterniondc q) Set thisAxisAngle4f
to be equivalent to the givenQuaterniondc
.set
(Quaternionfc q) Set thisAxisAngle4f
to be equivalent to the givenQuaternionfc
.toString()
Return a string representation of thisAxisAngle4f
.toString
(NumberFormat formatter) Return a string representation of thisAxisAngle4f
by formatting the components with the givenNumberFormat
.Transform the given vector by the rotation transformation described by thisAxisAngle4f
.Transform the given vector by the rotation transformation described by thisAxisAngle4f
and store the result indest
.Transform the given vector by the rotation transformation described by thisAxisAngle4f
.Transform the given vector by the rotation transformation described by thisAxisAngle4f
and store the result indest
.void
-
Field Details
-
angle
public float angleThe angle in radians. -
x
public float xThe x-component of the rotation axis. -
y
public float yThe y-component of the rotation axis. -
z
public float zThe z-component of the rotation axis.
-
-
Constructor Details
-
AxisAngle4f
public AxisAngle4f()Create a newAxisAngle4f
with zero rotation about(0, 0, 1)
. -
AxisAngle4f
Create a newAxisAngle4f
with the same values ofa
.- Parameters:
a
- the AngleAxis4f to copy the values from
-
AxisAngle4f
- Parameters:
q
- the quaternion from which to create the new AngleAxis4f
-
AxisAngle4f
public AxisAngle4f(float angle, float x, float y, float z) Create a newAxisAngle4f
with the given values.- Parameters:
angle
- the angle in radiansx
- the x-coordinate of the rotation axisy
- the y-coordinate of the rotation axisz
- the z-coordinate of the rotation axis
-
AxisAngle4f
Create a newAxisAngle4f
with the given values.- Parameters:
angle
- the angle in radiansv
- the rotation axis as aVector3f
-
-
Method Details
-
set
Set thisAxisAngle4f
to the values ofa
.- Parameters:
a
- the AngleAxis4f to copy the values from- Returns:
- this
-
set
Set thisAxisAngle4f
to the values ofa
.- Parameters:
a
- the AngleAxis4d to copy the values from- Returns:
- this
-
set
Set thisAxisAngle4f
to the given values.- Parameters:
angle
- the angle in radiansx
- the x-coordinate of the rotation axisy
- the y-coordinate of the rotation axisz
- the z-coordinate of the rotation axis- Returns:
- this
-
set
Set thisAxisAngle4f
to the given values.- Parameters:
angle
- the angle in radiansv
- the rotation axis as aVector3f
- Returns:
- this
-
set
Set thisAxisAngle4f
to be equivalent to the givenQuaternionfc
.- Parameters:
q
- the quaternion to set this AngleAxis4f from- Returns:
- this
-
set
Set thisAxisAngle4f
to be equivalent to the givenQuaterniondc
.- Parameters:
q
- the quaternion to set this AngleAxis4f from- Returns:
- this
-
set
Set thisAxisAngle4f
to be equivalent to the rotation of the givenMatrix3fc
.Reference: http://www.euclideanspace.com
- Parameters:
m
- the Matrix3fc to set this AngleAxis4f from- Returns:
- this
-
set
Set thisAxisAngle4f
to be equivalent to the rotation of the givenMatrix3dc
.Reference: http://www.euclideanspace.com
- Parameters:
m
- the Matrix3d to set this AngleAxis4f from- Returns:
- this
-
set
Set thisAxisAngle4f
to be equivalent to the rotational component of the givenMatrix4fc
.Reference: http://www.euclideanspace.com
- Parameters:
m
- the Matrix4fc to set this AngleAxis4f from- Returns:
- this
-
set
Set thisAxisAngle4f
to be equivalent to the rotational component of the givenMatrix4x3fc
.Reference: http://www.euclideanspace.com
- Parameters:
m
- the Matrix4x3fc to set this AngleAxis4f from- Returns:
- this
-
set
Set thisAxisAngle4f
to be equivalent to the rotational component of the givenMatrix4dc
.Reference: http://www.euclideanspace.com
- Parameters:
m
- the Matrix4dc to set this AngleAxis4f from- Returns:
- this
-
get
Set the givenQuaternionf
to be equivalent to thisAxisAngle4f
rotation.- Parameters:
q
- the quaternion to set- Returns:
- q
- See Also:
-
get
Set the givenQuaterniond
to be equivalent to thisAxisAngle4f
rotation.- Parameters:
q
- the quaternion to set- Returns:
- q
- See Also:
-
get
Set the givenMatrix4f
to a rotation transformation equivalent to thisAxisAngle4f
.- Parameters:
m
- the matrix to set- Returns:
- m
- See Also:
-
get
Set the givenMatrix3f
to a rotation transformation equivalent to thisAxisAngle4f
.- Parameters:
m
- the matrix to set- Returns:
- m
- See Also:
-
get
Set the givenMatrix4d
to a rotation transformation equivalent to thisAxisAngle4f
.- Parameters:
m
- the matrix to set- Returns:
- m
- See Also:
-
get
Set the givenMatrix3d
to a rotation transformation equivalent to thisAxisAngle4f
.- Parameters:
m
- the matrix to set- Returns:
- m
- See Also:
-
get
Set the givenAxisAngle4d
to thisAxisAngle4f
.- Parameters:
dest
- will hold the result- Returns:
- dest
-
get
Set the givenAxisAngle4f
to thisAxisAngle4f
.- Parameters:
dest
- will hold the result- Returns:
- dest
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
normalize
Normalize the axis vector.- Returns:
- this
-
rotate
Increase the rotation angle by the given amount.This method also takes care of wrapping around.
- Parameters:
ang
- the angle increase- Returns:
- this
-
transform
Transform the given vector by the rotation transformation described by thisAxisAngle4f
.- Parameters:
v
- the vector to transform- Returns:
- v
-
transform
Transform the given vector by the rotation transformation described by thisAxisAngle4f
and store the result indest
.- Parameters:
v
- the vector to transformdest
- will hold the result- Returns:
- dest
-
transform
Transform the given vector by the rotation transformation described by thisAxisAngle4f
.- Parameters:
v
- the vector to transform- Returns:
- v
-
transform
Transform the given vector by the rotation transformation described by thisAxisAngle4f
and store the result indest
.- Parameters:
v
- the vector to transformdest
- will hold the result- Returns:
- dest
-
toString
Return a string representation of thisAxisAngle4f
.This method creates a new
DecimalFormat
on every invocation with the format string "0.000E0;-
". -
toString
Return a string representation of thisAxisAngle4f
by formatting the components with the givenNumberFormat
.- Parameters:
formatter
- theNumberFormat
used to format the vector components with- Returns:
- the string representation
-
hashCode
public int hashCode() -
equals
-
clone
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-