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. |
See:
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> packedInterpolationLength :Number
-
The number of elements used to store the object into an array in its interpolatable form.
-
<static> packedLength :Number
-
The number of elements used to pack the object into an array.
-
<static> ZERO
-
An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 0.0).
Methods
-
clone
-
Duplicates this Quaternion instance.
Parameters:
Name Type Argument Description resultQuaternion <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. -
equals
-
Compares this and the provided quaternion componentwise and returns
trueif they are equal,falseotherwise.Parameters:
Name Type Argument Description rightQuaternion <optional>
The right hand side quaternion. Returns:
Booleantrueif left and right are equal,falseotherwise. -
equalsEpsilon
-
Compares this and the provided quaternion componentwise and returns
trueif they are within the provided epsilon,falseotherwise.Parameters:
Name Type Argument Description rightQuaternion <optional>
The right hand side quaternion. epsilonNumber The epsilon to use for equality testing. Returns:
Booleantrueif left and right are within the provided epsilon,falseotherwise. -
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 leftQuaternion The first quaternion. rightQuaternion The second quaternion. resultQuaternion <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. -
<static> clone
-
Duplicates a Quaternion instance.
Parameters:
Name Type Argument Description quaternionQuaternion The quaternion to duplicate. resultQuaternion <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 quaternionQuaternion The quaternion to conjugate. resultQuaternion <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. -
<static> convertPackedArrayForInterpolation
-
Converts a packed array into a form suitable for interpolation.
Parameters:
Name Type Argument Default Description packedArrayArray The packed array. startingIndexNumber <optional>
0 The index of the first element to be converted. lastIndexNumber <optional>
packedArray.length The index of the last element to be converted. resultArray <optional>
The object into which to store the result. -
<static> divideByScalar
-
Divides the provided quaternion componentwise by the provided scalar.
Parameters:
Name Type Argument Description quaternionQuaternion The quaternion to be divided. scalarNumber The scalar to divide by. resultQuaternion <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. -
<static> dot
-
Computes the dot (scalar) product of two quaternions.
Parameters:
Name Type Description leftQuaternion The first quaternion. rightQuaternion The second quaternion. Returns:
Number The dot product. -
<static> equals
-
Compares the provided quaternions componentwise and returns
trueif they are equal,falseotherwise.Parameters:
Name Type Argument Description leftQuaternion <optional>
The first quaternion. rightQuaternion <optional>
The second quaternion. Returns:
Booleantrueif left and right are equal,falseotherwise. -
<static> equalsEpsilon
-
Compares the provided quaternions componentwise and returns
trueif they are within the provided epsilon,falseotherwise.Parameters:
Name Type Argument Description leftQuaternion <optional>
The first quaternion. rightQuaternion <optional>
The second quaternion. epsilonNumber The epsilon to use for equality testing. Returns:
Booleantrueif left and right are within the provided epsilon,falseotherwise. -
<static> exp
-
The exponential quaternion function.
Parameters:
Name Type Argument Description cartesianCartesian3 The cartesian. resultQuaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new instance if one was not provided. -
<static> fastSlerp
-
Computes the spherical linear interpolation or extrapolation at t using the provided quaternions. This implementation is faster than Quaternion#slerp, but is only accurate up to 10-6.
Parameters:
Name Type Argument Description startQuaternion The value corresponding to t at 0.0. endQuaternion The value corresponding to t at 1.0. tNumber The point along t at which to interpolate. resultQuaternion <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.- Quaternion#slerp
See:
-
<static> fastSquad
-
Computes the spherical quadrangle interpolation between quaternions. An implementation that is faster than Quaternion#squad, but less accurate.
Parameters:
Name Type Argument Description q0Quaternion The first quaternion. q1Quaternion The second quaternion. s0Quaternion The first inner quadrangle. s1Quaternion The second inner quadrangle. tNumber The time in [0,1] used to interpolate. resultQuaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new instance if none was provided.- Quaternion#squad
See:
-
<static> fromAxisAngle
-
Computes a quaternion representing a rotation around an axis.
Parameters:
Name Type Argument Description axisCartesian3 The axis of rotation. angleNumber The angle in radians to rotate around the axis. resultQuaternion <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. -
<static> fromRotationMatrix
-
Computes a Quaternion from the provided Matrix3 instance.
Parameters:
Name Type Argument Description matrixMatrix3 The rotation matrix. resultQuaternion <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. -
<static> getAngle
-
Computes the angle of rotation of the provided quaternion.
Parameters:
Name Type Description quaternionQuaternion The quaternion to use. Returns:
Number The angle of rotation. -
<static> getAxis
-
Computes the axis of rotation of the provided quaternion.
Parameters:
Name Type Argument Description quaternionQuaternion The quaternion to use. resultCartesian3 <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. -
<static> innerQuadrangle
-
Computes an inner quadrangle point.
This will compute quaternions that ensure a squad curve is C1.
Parameters:
Name Type Argument Description q0Quaternion The first quaternion. q1Quaternion The second quaternion. q2Quaternion The third quaternion. resultQuaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new instance if none was provided.- Quaternion#squad
See:
-
<static> inverse
-
Computes the inverse of the provided quaternion.
Parameters:
Name Type Argument Description quaternionQuaternion The quaternion to normalize. resultQuaternion <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. -
<static> lerp
-
Computes the linear interpolation or extrapolation at t using the provided quaternions.
Parameters:
Name Type Argument Description startQuaternion The value corresponding to t at 0.0. endQuaternion The value corresponding to t at 1.0. tNumber The point along t at which to interpolate. resultQuaternion <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. -
<static> log
-
The logarithmic quaternion function.
Parameters:
Name Type Argument Description quaternionQuaternion The unit quaternion. resultCartesian3 <optional>
The object onto which to store the result. Returns:
Cartesian3 The modified result parameter or a new instance if one was not provided. -
<static> magnitude
-
Computes magnitude for the provided quaternion.
Parameters:
Name Type Description quaternionQuaternion The quaternion to conjugate. Returns:
Number The magnitude. -
<static> magnitudeSquared
-
Computes magnitude squared for the provided quaternion.
Parameters:
Name Type Description quaternionQuaternion The quaternion to conjugate. Returns:
Number The magnitude squared. -
<static> multiply
-
Computes the product of two quaternions.
Parameters:
Name Type Argument Description leftQuaternion The first quaternion. rightQuaternion The second quaternion. resultQuaternion <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. -
<static> multiplyByScalar
-
Multiplies the provided quaternion componentwise by the provided scalar.
Parameters:
Name Type Argument Description quaternionQuaternion The quaternion to be scaled. scalarNumber The scalar to multiply with. resultQuaternion <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. -
<static> negate
-
Negates the provided quaternion.
Parameters:
Name Type Argument Description quaternionQuaternion The quaternion to be negated. resultQuaternion <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. -
<static> normalize
-
Computes the normalized form of the provided quaternion.
Parameters:
Name Type Argument Description quaternionQuaternion The quaternion to normalize. resultQuaternion <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. -
<static> pack
-
Stores the provided instance into the provided array.
Parameters:
Name Type Argument Default Description valueQuaternion The value to pack. arrayArray The array to pack into. startingIndexNumber <optional>
0 The index into the array at which to start packing the elements. -
<static> slerp
-
Computes the spherical linear interpolation or extrapolation at t using the provided quaternions.
Parameters:
Name Type Argument Description startQuaternion The value corresponding to t at 0.0. endQuaternion The value corresponding to t at 1.0. tNumber The point along t at which to interpolate. resultQuaternion <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.- Quaternion#fastSlerp
See:
-
<static> squad
-
Computes the spherical quadrangle interpolation between quaternions.
Parameters:
Name Type Argument Description q0Quaternion The first quaternion. q1Quaternion The second quaternion. s0Quaternion The first inner quadrangle. s1Quaternion The second inner quadrangle. tNumber The time in [0,1] used to interpolate. resultQuaternion <optional>
The object onto which to store the result. Returns:
Quaternion The modified result parameter or a new instance if none was provided.Example
// 1. compute the squad interpolation between two quaternions on a curve var s0 = Cesium.Quaternion.innerQuadrangle(quaternions[i - 1], quaternions[i], quaternions[i + 1]); var s1 = Cesium.Quaternion.innerQuadrangle(quaternions[i], quaternions[i + 1], quaternions[i + 2]); var q = Cesium.Quaternion.squad(quaternions[i], quaternions[i + 1], s0, s1, t); // 2. compute the squad interpolation as above but where the first quaternion is a end point. var s1 = Cesium.Quaternion.innerQuadrangle(quaternions[0], quaternions[1], quaternions[2]); var q = Cesium.Quaternion.squad(quaternions[0], quaternions[1], quaternions[0], s1, t);
- Quaternion#innerQuadrangle
See:
-
<static> subtract
-
Computes the componentwise difference of two quaternions.
Parameters:
Name Type Argument Description leftQuaternion The first quaternion. rightQuaternion The second quaternion. resultQuaternion <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. -
<static> unpack
-
Retrieves an instance from a packed array.
Parameters:
Name Type Argument Default Description arrayArray The packed array. startingIndexNumber <optional>
0 The starting index of the element to be unpacked. resultQuaternion <optional>
The object into which to store the result. -
<static> unpackInterpolationResult
-
Retrieves an instance from a packed array converted with convertPackedArrayForInterpolation.
Parameters:
Name Type Argument Default Description arrayArray The original packed array. sourceArrayArray The converted array. startingIndexNumber <optional>
0 The startingIndex used to convert the array. lastIndexNumber <optional>
packedArray.length The lastIndex used to convert the array. resultQuaternion <optional>
The object into which to store the result.
