new Quaternion
A set of 4-dimensional coordinates used to represent rotation in 3-dimensional space.
Parameters:
Name | Type | Argument | Default | Description |
---|---|---|---|---|
x |
Number |
<optional> |
0.0 | The X component. |
y |
Number |
<optional> |
0.0 | The Y component. |
z |
Number |
<optional> |
0.0 | The Z component. |
w |
Number |
<optional> |
0.0 | The W component. |
Source:
Members
-
w :Number
-
The W component.
- Default Value:
- 0.0
-
x :Number
-
The X component.
- Default Value:
- 0.0
-
y :Number
-
The Y component.
- Default Value:
- 0.0
-
z :Number
-
The Z component.
- Default Value:
- 0.0
-
<static> IDENTITY
-
An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 1.0).
-
<static> ZERO
-
An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 0.0).
Methods
-
add
-
Computes the componentwise sum of this and the provided quaternion.
Parameters:
Name Type Argument Description right
Quaternion The right hand side quaternion. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : right is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
clone
-
Duplicates this Quaternion instance.
Parameters:
Name Type Argument Description result
Quaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
conjugate
-
Computes the conjugate of this quaternion.
Parameters:
Name Type Argument Description result
Quaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
divideByScalar
-
Divides this quaternion componentwise by the provided scalar.
Parameters:
Name Type Argument Description scalar
Number The scalar to divide by. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : scalar is required and must be a number.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
dot
-
Computes the dot (scalar) product of this and the provided quaternion.
Parameters:
Name Type Description right
Quaternion The right hand side quaternion. Throws:
DeveloperError : right is required.Returns:
Number The dot product. -
equals
-
Compares this and the provided quaternion componentwise and returns
true
if they are equal,false
otherwise.Parameters:
Name Type Argument Description right
Quaternion <optional>
The right hand side quaternion. Returns:
Booleantrue
if left and right are equal,false
otherwise. -
equalsEpsilon
-
Compares this and the provided quaternion componentwise and returns
true
if they are within the provided epsilon,false
otherwise.Parameters:
Name Type Argument Description right
Quaternion <optional>
The right hand side quaternion. epsilon
Number The epsilon to use for equality testing. Throws:
DeveloperError : epsilon is required and must be a number.Returns:
Booleantrue
if left and right are within the provided epsilon,false
otherwise. -
getAngle
-
Computes the angle of rotation of this quaternion.
Returns:
Number The angle of rotation. -
getAxis
-
Computes the axis of rotation of this quaternion.
Parameters:
Name Type Argument Description result
Cartesian3 <optional>
The object onto which to store the result. Returns:
Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided. -
inverse
-
Computes the inverse of the provided quaternion.
Parameters:
Name Type Argument Description result
Quaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
lerp
-
Computes the linear interpolation or extrapolation at t using the provided quaternions. This quaternion is assumed to be t at 0.0.
Parameters:
Name Type Argument Description end
The value corresponding to t at 1.0. t
The point along t at which to interpolate. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : end is required.
-
DeveloperError : t is required and must be a number.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
magnitude
-
Computes magnitude for this quaternion.
Returns:
Number The magnitude. -
magnitudeSquared
-
Computes magnitude squared for this quaternion.
Returns:
Number The magnitude squared. -
multiply
-
Computes the product of this and the provided quaternion.
Parameters:
Name Type Argument Description right
Quaternion The right hande side quaternion. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : right is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
multiplyByScalar
-
Multiplies this quaternion componentwise by the provided scalar.
Parameters:
Name Type Argument Description scalar
Number The scalar to multiply with. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : scalar is required and must be a number.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
negate
-
Negates this quaternion.
Parameters:
Name Type Argument Description result
Quaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
normalize
-
Computes the normalized form of this quaternion.
Parameters:
Name Type Argument Description result
Quaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
slerp
-
Computes the spherical linear interpolation or extrapolation at t using the provided quaternions. This quaternion is assumed to be t at 0.0.
Parameters:
Name Type Argument Description end
The value corresponding to t at 1.0. t
The point along t at which to interpolate. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : end is required.
-
DeveloperError : t is required and must be a number.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
subtract
-
Computes the componentwise difference of this and the provided quaternion.
Parameters:
Name Type Argument Description right
Quaternion The right hand side quaternion. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : right is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
toString
-
Returns a string representing this quaternion in the format (x, y, z, w).
Returns:
String A string representing this Quaternion. -
<static> add
-
Computes the componentwise sum of two quaternions.
Parameters:
Name Type Argument Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : left is required.
-
DeveloperError : right is required.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
<static> clone
-
Duplicates a Quaternion instance.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to duplicate. result
Quaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. (Returns undefined if quaternion is undefined) -
<static> conjugate
-
Computes the conjugate of the provided quaternion.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to conjugate. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : quaternion is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
<static> divideByScalar
-
Divides the provided quaternion componentwise by the provided scalar.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to be divided. scalar
Number The scalar to divide by. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : quaternion is required.
-
DeveloperError : scalar is required and must be a number.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
<static> dot
-
Computes the dot (scalar) product of two quaternions.
Parameters:
Name Type Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. Throws:
-
DeveloperError : left is required.
-
DeveloperError : right is required.
Returns:
Number The dot product. -
-
<static> equals
-
Compares the provided quaternions componentwise and returns
true
if they are equal,false
otherwise.Parameters:
Name Type Argument Description left
Quaternion <optional>
The first quaternion. right
Quaternion <optional>
The second quaternion. Returns:
Booleantrue
if left and right are equal,false
otherwise. -
<static> equalsEpsilon
-
Compares the provided quaternions componentwise and returns
true
if they are within the provided epsilon,false
otherwise.Parameters:
Name Type Argument Description left
Quaternion <optional>
The first quaternion. right
Quaternion <optional>
The second quaternion. epsilon
Number The epsilon to use for equality testing. Throws:
DeveloperError : epsilon is required and must be a number.Returns:
Booleantrue
if left and right are within the provided epsilon,false
otherwise. -
<static> fromAxisAngle
-
Computes a quaternion representing a rotation around an axis.
Parameters:
Name Type Argument Description axis
Cartesian3 The axis of rotation. angle
Number The angle in radians to rotate around the axis. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : axis is required.
-
DeveloperError : angle is required and must be a number.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
<static> fromRotationMatrix
-
Computes a Quaternion from the provided Matrix3 instance.
Parameters:
Name Type Argument Description matrix
Matrix3 The rotation matrix. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : matrix is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
<static> getAngle
-
Computes the angle of rotation of the provided quaternion.
Parameters:
Name Type Description quaternion
Quaternion The quaternion to use. Throws:
DeveloperError : quaternion is required.Returns:
Number The angle of rotation. -
<static> getAxis
-
Computes the axis of rotation of the provided quaternion.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to use. result
Cartesian3 <optional>
The object onto which to store the result. Throws:
DeveloperError : quaternion is required.Returns:
Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided. -
<static> inverse
-
Computes the inverse of the provided quaternion.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to normalize. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : quaternion is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
<static> lerp
-
Computes the linear interpolation or extrapolation at t using the provided quaternions.
Parameters:
Name Type Argument Description start
The value corresponding to t at 0.0. end
The value corresponding to t at 1.0. t
The point along t at which to interpolate. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : start is required.
-
DeveloperError : end is required.
-
DeveloperError : t is required and must be a number.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
<static> magnitude
-
Computes magnitude for the provided quaternion.
Parameters:
Name Type Description quaternion
Quaternion The quaternion to conjugate. Throws:
DeveloperError : quaternion is required.Returns:
Number The magnitude. -
<static> magnitudeSquared
-
Computes magnitude squared for the provided quaternion.
Parameters:
Name Type Description quaternion
Quaternion The quaternion to conjugate. Throws:
DeveloperError : quaternion is required.Returns:
Number The magnitude squared. -
<static> multiply
-
Computes the product of two quaternions.
Parameters:
Name Type Argument Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : left is required.
-
DeveloperError : right is required.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
<static> multiplyByScalar
-
Multiplies the provided quaternion componentwise by the provided scalar.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to be scaled. scalar
Number The scalar to multiply with. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : quaternion is required.
-
DeveloperError : scalar is required and must be a number.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
<static> negate
-
Negates the provided quaternion.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to be negated. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : quaternion is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
<static> normalize
-
Computes the normalized form of the provided quaternion.
Parameters:
Name Type Argument Description quaternion
Quaternion The quaternion to normalize. result
Quaternion <optional>
The object onto which to store the result. Throws:
DeveloperError : quaternion is required.Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
<static> slerp
-
Computes the spherical linear interpolation or extrapolation at t using the provided quaternions.
Parameters:
Name Type Argument Description start
The value corresponding to t at 0.0. end
The value corresponding to t at 1.0. t
The point along t at which to interpolate. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : start is required.
-
DeveloperError : end is required.
-
DeveloperError : t is required and must be a number.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -
-
<static> subtract
-
Computes the componentwise difference of two quaternions.
Parameters:
Name Type Argument Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. result
Quaternion <optional>
The object onto which to store the result. Throws:
-
DeveloperError : left is required.
-
DeveloperError : right is required.
Returns:
Quaternion The modified result parameter or a new Quaternion instance if one was not provided. -