new Quaternion(x, y, z, w)
A set of 4-dimensional coordinates used to represent rotation in 3-dimensional space.
Name | Type | Default | Description |
---|---|---|---|
x |
Number |
0.0
|
optional The X component. |
y |
Number |
0.0
|
optional The Y component. |
z |
Number |
0.0
|
optional The Z component. |
w |
Number |
0.0
|
optional The W component. |
See:
Source:
Core/Quaternion.js, line 34
Members
-
staticconstantQuaternion.IDENTITY :Quaternion
-
An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 1.0).Source: Core/Quaternion.js, line 1066
-
staticQuaternion.packedInterpolationLength :Number
-
The number of elements used to store the object into an array in its interpolatable form.Source: Core/Quaternion.js, line 246
-
staticQuaternion.packedLength :Number
-
The number of elements used to pack the object into an array.Source: Core/Quaternion.js, line 188
-
staticconstantQuaternion.ZERO :Quaternion
-
An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 0.0).Source: Core/Quaternion.js, line 1058
-
w :Number
-
The W component.
-
Default Value:
0.0
Source: Core/Quaternion.js, line 61 -
x :Number
-
The X component.
-
Default Value:
0.0
Source: Core/Quaternion.js, line 40 -
y :Number
-
The Y component.
-
Default Value:
0.0
Source: Core/Quaternion.js, line 47 -
z :Number
-
The Z component.
-
Default Value:
0.0
Source: Core/Quaternion.js, line 54
Methods
-
staticQuaternion.add(left, right, result) → Quaternion
-
Computes the componentwise sum of two quaternions.
Name Type Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 432 -
staticQuaternion.clone(quaternion, result) → Quaternion
-
Duplicates a Quaternion instance.
Name Type Description quaternion
Quaternion The quaternion to duplicate. result
Quaternion optional The object onto which to store the result. Returns:
The modified result parameter or a new Quaternion instance if one was not provided. (Returns undefined if quaternion is undefined)Source: Core/Quaternion.js, line 312 -
staticQuaternion.computeAngle(quaternion) → Number
-
Computes the angle of rotation of the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to use. Returns:
The angle of rotation.Source: Core/Quaternion.js, line 660 -
staticQuaternion.computeAxis(quaternion, result) → Cartesian3
-
Computes the axis of rotation of the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to use. result
Cartesian3 The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 630 -
staticQuaternion.computeInnerQuadrangle(q0, q1, q2, result) → Quaternion
-
Computes an inner quadrangle point.
This will compute quaternions that ensure a squad curve is C1.
Name Type Description q0
Quaternion The first quaternion. q1
Quaternion The second quaternion. q2
Quaternion The third quaternion. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.- Quaternion#squad
See:
Source: Core/Quaternion.js, line 833 -
staticQuaternion.conjugate(quaternion, result) → Quaternion
-
Computes the conjugate of the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to conjugate. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 335 -
staticQuaternion.convertPackedArrayForInterpolation(packedArray, startingIndex, lastIndex, result)
-
Converts a packed array into a form suitable for interpolation.
Name Type Default Description packedArray
Array.<Number> The packed array. startingIndex
Number 0
optional The index of the first element to be converted. lastIndex
Number packedArray.length
optional The index of the last element to be converted. result
Array.<Number> optional The object into which to store the result. Source: Core/Quaternion.js, line 256 -
staticQuaternion.divideByScalar(quaternion, scalar, result) → Quaternion
-
Divides the provided quaternion componentwise by the provided scalar.
Name Type Description quaternion
Quaternion The quaternion to be divided. scalar
Number The scalar to divide by. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 603 -
staticQuaternion.dot(left, right) → Number
-
Computes the dot (scalar) product of two quaternions.
Name Type Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. Returns:
The dot product.Source: Core/Quaternion.js, line 511 -
staticQuaternion.equals(left, right) → Boolean
-
Compares the provided quaternions componentwise and returns
true
if they are equal,false
otherwise.Name Type Description left
Quaternion optional The first quaternion. right
Quaternion optional The second quaternion. Returns:
true
if left and right are equal,false
otherwise.Source: Core/Quaternion.js, line 1016 -
staticQuaternion.equalsEpsilon(left, right, epsilon) → Boolean
-
Compares the provided quaternions componentwise and returns
true
if they are within the provided epsilon,false
otherwise.Name Type Description left
Quaternion optional The first quaternion. right
Quaternion optional The second quaternion. epsilon
Number The epsilon to use for equality testing. Returns:
true
if left and right are within the provided epsilon,false
otherwise.Source: Core/Quaternion.js, line 1036 -
staticQuaternion.exp(cartesian, result) → Quaternion
-
The exponential quaternion function.
Name Type Description cartesian
Cartesian3 The cartesian. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 791 -
staticQuaternion.fastSlerp(start, end, t, result) → Quaternion
-
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.Name Type Description start
Quaternion The value corresponding to t at 0.0. end
Quaternion The value corresponding to t at 1.0. t
Number The point along t at which to interpolate. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.- Quaternion#slerp
See:
Source: Core/Quaternion.js, line 928 -
staticQuaternion.fastSquad(q0, q1, s0, s1, t, result) → Quaternion
-
Computes the spherical quadrangle interpolation between quaternions. An implementation that is faster than
Quaternion#squad
, but less accurate.Name Type Description q0
Quaternion The first quaternion. q1
Quaternion The second quaternion. s0
Quaternion The first inner quadrangle. s1
Quaternion The second inner quadrangle. t
Number The time in [0,1] used to interpolate. result
Quaternion optional The object onto which to store the result. Returns:
The modified result parameter or a new instance if none was provided.- Quaternion#squad
See:
Source: Core/Quaternion.js, line 990 -
staticQuaternion.fromAxisAngle(axis, angle, result) → Quaternion
-
Computes a quaternion representing a rotation around an axis.
Name Type 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. Returns:
The modified result parameter or a new Quaternion instance if one was not provided.Source: Core/Quaternion.js, line 74 -
staticQuaternion.fromRotationMatrix(matrix, result) → Quaternion
-
Computes a Quaternion from the provided Matrix3 instance.
Name Type Description matrix
Matrix3 The rotation matrix. result
Quaternion optional The object onto which to store the result. Returns:
The modified result parameter or a new Quaternion instance if one was not provided.See:
Source: Core/Quaternion.js, line 113 -
staticQuaternion.inverse(quaternion, result) → Quaternion
-
Computes the inverse of the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to normalize. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 412 -
staticQuaternion.lerp(start, end, t, result) → Quaternion
-
Computes the linear interpolation or extrapolation at t using the provided quaternions.
Name Type Description start
Quaternion The value corresponding to t at 0.0. end
Quaternion The value corresponding to t at 1.0. t
Number The point along t at which to interpolate. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 683 -
staticQuaternion.log(quaternion, result) → Cartesian3
-
The logarithmic quaternion function.
Name Type Description quaternion
Quaternion The unit quaternion. result
Cartesian3 The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 764 -
staticQuaternion.magnitude(quaternion) → Number
-
Computes magnitude for the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to conjugate. Returns:
The magnitude.Source: Core/Quaternion.js, line 374 -
staticQuaternion.magnitudeSquared(quaternion) → Number
-
Computes magnitude squared for the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to conjugate. Returns:
The magnitude squared.Source: Core/Quaternion.js, line 358 -
staticQuaternion.multiply(left, right, result) → Quaternion
-
Computes the product of two quaternions.
Name Type Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 532 -
staticQuaternion.multiplyByScalar(quaternion, scalar, result) → Quaternion
-
Multiplies the provided quaternion componentwise by the provided scalar.
Name Type Description quaternion
Quaternion The quaternion to be scaled. scalar
Number The scalar to multiply with. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 575 -
staticQuaternion.negate(quaternion, result) → Quaternion
-
Negates the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to be negated. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 487 -
staticQuaternion.normalize(quaternion, result) → Quaternion
-
Computes the normalized form of the provided quaternion.
Name Type Description quaternion
Quaternion The quaternion to normalize. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 385 -
staticQuaternion.pack(value, array, startingIndex)
-
Stores the provided instance into the provided array.
Name Type Default Description value
Quaternion The value to pack. array
Array.<Number> The array to pack into. startingIndex
Number 0
optional The index into the array at which to start packing the elements. Source: Core/Quaternion.js, line 197 -
staticQuaternion.slerp(start, end, t, result) → Quaternion
-
Computes the spherical linear interpolation or extrapolation at t using the provided quaternions.
Name Type Description start
Quaternion The value corresponding to t at 0.0. end
Quaternion The value corresponding to t at 1.0. t
Number The point along t at which to interpolate. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.- Quaternion#fastSlerp
See:
Source: Core/Quaternion.js, line 718 -
staticQuaternion.squad(q0, q1, s0, s1, t, result) → Quaternion
-
Computes the spherical quadrangle interpolation between quaternions.
Name Type Description q0
Quaternion The first quaternion. q1
Quaternion The second quaternion. s0
Quaternion The first inner quadrangle. s1
Quaternion The second inner quadrangle. t
Number The time in [0,1] used to interpolate. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.- Quaternion#computeInnerQuadrangle
Example:
// 1. compute the squad interpolation between two quaternions on a curve var s0 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[i - 1], quaternions[i], quaternions[i + 1]); var s1 = Cesium.Quaternion.computeInnerQuadrangle(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.computeInnerQuadrangle(quaternions[0], quaternions[1], quaternions[2]); var q = Cesium.Quaternion.squad(quaternions[0], quaternions[1], quaternions[0], s1, t);
See:
Source: Core/Quaternion.js, line 881 -
staticQuaternion.subtract(left, right, result) → Quaternion
-
Computes the componentwise difference of two quaternions.
Name Type Description left
Quaternion The first quaternion. right
Quaternion The second quaternion. result
Quaternion The object onto which to store the result. Returns:
The modified result parameter.Source: Core/Quaternion.js, line 460 -
staticQuaternion.unpack(array, startingIndex, result)
-
Retrieves an instance from a packed array.
Name Type Default Description array
Array.<Number> The packed array. startingIndex
Number 0
optional The starting index of the element to be unpacked. result
Quaternion optional The object into which to store the result. Source: Core/Quaternion.js, line 223 -
staticQuaternion.unpackInterpolationResult(array, sourceArray, startingIndex, lastIndex, result)
-
Retrieves an instance from a packed array converted with
convertPackedArrayForInterpolation
.Name Type Default Description array
Array.<Number> The original packed array. sourceArray
Array.<Number> The converted array. startingIndex
Number 0
optional The startingIndex used to convert the array. lastIndex
Number packedArray.length
optional The lastIndex used to convert the array. result
Quaternion optional The object into which to store the result. Source: Core/Quaternion.js, line 287 -
clone(result) → Quaternion
-
Duplicates this Quaternion instance.
Name Type Description result
Quaternion optional The object onto which to store the result. Returns:
The modified result parameter or a new Quaternion instance if one was not provided.Source: Core/Quaternion.js, line 1074 -
equals(right) → Boolean
-
Compares this and the provided quaternion componentwise and returns
true
if they are equal,false
otherwise.Name Type Description right
Quaternion optional The right hand side quaternion. Returns:
true
if left and right are equal,false
otherwise.Source: Core/Quaternion.js, line 1085 -
equalsEpsilon(right, epsilon) → Boolean
-
Compares this and the provided quaternion componentwise and returns
true
if they are within the provided epsilon,false
otherwise.Name Type Description right
Quaternion optional The right hand side quaternion. epsilon
Number The epsilon to use for equality testing. Returns:
true
if left and right are within the provided epsilon,false
otherwise.Source: Core/Quaternion.js, line 1098 -
toString() → String
-
Returns a string representing this quaternion in the format (x, y, z, w).
Returns:
A string representing this Quaternion.Source: Core/Quaternion.js, line 1107