# new quat()
- Source:
Members
# (static) rotationTo
- Source:
Sets a quaternion to represent the shortest rotation from one vector to another.
Both vectors are assumed to be unit length.
# (static) setAxes
- Source:
Sets the specified quaternion with values corresponding to the given axes. Each axis is a vec3 and is expected to be unit length and perpendicular to all other specified axes.
Methods
# (static) add(out, a, b) → {quat}
- Source:
Adds two quat's
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | the first operand |
b |
quat | the second operand |
Returns:
out
- Type
- quat
# (static) calculateW(out, a) → {quat}
- Source:
Calculates the W component of a quat from the X, Y, and Z components. Assumes that quaternion is 1 unit in length. Any existing W component will be ignored.
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | quat to calculate W component of |
Returns:
out
- Type
- quat
# (static) clone(a) → {quat}
- Source:
Creates a new quat initialized with values from an existing quaternion
Parameters:
Name | Type | Description |
---|---|---|
a |
quat | quaternion to clone |
Returns:
a new quaternion
- Type
- quat
# (static) conjugate(out, a) → {quat}
- Source:
Calculates the conjugate of a quat If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | quat to calculate conjugate of |
Returns:
out
- Type
- quat
# (static) copy(out, a) → {quat}
- Source:
Copy the values from one quat to another
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | the source quaternion |
Returns:
out
- Type
- quat
# (static) create() → {quat}
- Source:
Creates a new identity quat
Returns:
a new quaternion
- Type
- quat
# (static) dot(a, b) → {Number}
- Source:
Calculates the dot product of two quat's
Parameters:
Name | Type | Description |
---|---|---|
a |
quat | the first operand |
b |
quat | the second operand |
Returns:
dot product of a and b
- Type
- Number
# (static) fromMat3(out, m) → {quat}
- Source:
Creates a quaternion from the given 3x3 rotation matrix.
NOTE: The resultant quaternion is not normalized, so you should be sure to renormalize the quaternion yourself where necessary.
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
m |
mat3 | rotation matrix |
Returns:
out
- Type
- quat
# (static) fromValues(x, y, z, w) → {quat}
- Source:
Creates a new quat initialized with the given values
Parameters:
Name | Type | Description |
---|---|---|
x |
Number | X component |
y |
Number | Y component |
z |
Number | Z component |
w |
Number | W component |
Returns:
a new quaternion
- Type
- quat
# (static) identity(out) → {quat}
- Source:
Set a quat to the identity quaternion
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
Returns:
out
- Type
- quat
# (static) invert(out, a) → {quat}
- Source:
Calculates the inverse of a quat
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | quat to calculate inverse of |
Returns:
out
- Type
- quat
# (static) len()
- Source:
Alias for quat.length
# (static) length(a) → {Number}
- Source:
Calculates the length of a quat
Parameters:
Name | Type | Description |
---|---|---|
a |
quat | vector to calculate length of |
Returns:
length of a
- Type
- Number
# (static) lerp(out, a, b, t) → {quat}
- Source:
Performs a linear interpolation between two quat's
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | the first operand |
b |
quat | the second operand |
t |
Number | interpolation amount between the two inputs |
Returns:
out
- Type
- quat
# (static) mul()
- Source:
Alias for quat.multiply
# (static) multiply(out, a, b) → {quat}
- Source:
Multiplies two quat's
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | the first operand |
b |
quat | the second operand |
Returns:
out
- Type
- quat
# (static) normalize(out, a) → {quat}
- Source:
Normalize a quat
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | quaternion to normalize |
Returns:
out
- Type
- quat
# (static) rotateX(out, a, rad) → {quat}
- Source:
Rotates a quaternion by the given angle about the X axis
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | quat receiving operation result |
a |
quat | quat to rotate |
rad |
number | angle (in radians) to rotate |
Returns:
out
- Type
- quat
# (static) rotateY(out, a, rad) → {quat}
- Source:
Rotates a quaternion by the given angle about the Y axis
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | quat receiving operation result |
a |
quat | quat to rotate |
rad |
number | angle (in radians) to rotate |
Returns:
out
- Type
- quat
# (static) rotateZ(out, a, rad) → {quat}
- Source:
Rotates a quaternion by the given angle about the Z axis
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | quat receiving operation result |
a |
quat | quat to rotate |
rad |
number | angle (in radians) to rotate |
Returns:
out
- Type
- quat
# (static) scale(out, a, b) → {quat}
- Source:
Scales a quat by a scalar number
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving vector |
a |
quat | the vector to scale |
b |
Number | amount to scale the vector by |
Returns:
out
- Type
- quat
# (static) set(out, x, y, z, w) → {quat}
- Source:
Set the components of a quat to the given values
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
x |
Number | X component |
y |
Number | Y component |
z |
Number | Z component |
w |
Number | W component |
Returns:
out
- Type
- quat
# (static) setAxisAngle(out, axis, rad) → {quat}
- Source:
Sets a quat from the given angle and rotation axis, then returns it.
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
axis |
vec3 | the axis around which to rotate |
rad |
Number | the angle in radians |
Returns:
out
- Type
- quat
# (static) slerp(out, a, b, t) → {quat}
- Source:
Performs a spherical linear interpolation between two quat
Parameters:
Name | Type | Description |
---|---|---|
out |
quat | the receiving quaternion |
a |
quat | the first operand |
b |
quat | the second operand |
t |
Number | interpolation amount between the two inputs |
Returns:
out
- Type
- quat
# (static) sqrLen()
- Source:
Alias for quat.squaredLength
# (static) squaredLength(a) → {Number}
- Source:
Calculates the squared length of a quat
Parameters:
Name | Type | Description |
---|---|---|
a |
quat | vector to calculate squared length of |
Returns:
squared length of a
- Type
- Number