Quaternion.
A unit quaternion used for representing 3D rotations.
It is similar to [Basis], which implements matrix representation of rotations, and can be parametrized using both an axis-angle pair or Euler angles. But due to its compactness and the way it is stored in memory, certain operations (obtaining axis-angle and performing SLERP, in particular) are more efficient and robust against floating-point errors.
Quaternions need to be (re)normalized.
https://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html#interpolating-with-quaternions
Returns the rotation matrix corresponding to the given quaternion.
Returns a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle).
Returns a quaternion that will rotate around the given axis by the specified angle. The axis must be a normalized vector.
Returns a quaternion defined by these values.
Performs a cubic spherical-linear interpolation with another quaternion.
Returns the dot product of two quaternions.
Returns Euler angles (in the YXZ convention: first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X angle, Y angle, Z angle).
Returns the inverse of the quaternion.
Returns whether the quaternion is normalized or not.
Returns the length of the quaternion.
Returns the length of the quaternion, squared.
Returns a copy of the quaternion, normalized to unit length.
Sets the quaternion to a rotation which rotates around axis by the specified angle, in radians. The axis must be a normalized vector.
Sets the quaternion to a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle).
Performs a spherical-linear interpolation with another quaternion.
Performs a spherical-linear interpolation with another quaterion without checking if the rotation path is not bigger than 90°.
Transforms the vector [code]v[/code] by this quaternion.
W component of the quaternion. Default value: [code]1[/code].
X component of the quaternion. Default value: [code]0[/code].
Y component of the quaternion. Default value: [code]0[/code].
Z component of the quaternion. Default value: [code]0[/code].