Linear interpolation. Always chooses the SHORTEST way between rotations. q - targeted quaternion. p - progress from 0 to 1.
Re-exports: Matrices
public tuple quat(real x, real y, real z, real w)
public function eulerToQuat(real yaw, real pitch, real roll) returns quat
public function quat.op_plus(quat q) returns quat
public function quat.op_plus(real scalar) returns quat
public function real.op_plus(quat q) returns quat
public function quat.op_minus(quat q) returns quat
public function quat.op_minus(real scalar) returns quat
public function quat.op_mult(real scalar) returns quat
public function real.op_mult(quat q) returns quat
public function quat.dot(quat q) returns real
public function quat.cross(quat q) returns quat
Represents the composition of two rotations.
public function quat.conj() returns quat
Represents the same rotation in opposite direction.
public function quat.length() returns real
public function quat.norm() returns quat
Returns zero quaternion if lenght is zero.
public function quat.exp(real alpha) returns quat
Quaternion to power of alpha.
public function quat.toMatrix() returns mat3
public function quat.getX() returns vec3
Extracts X-axis from a quaternion that represents rotation.
public function quat.getY() returns vec3
Extracts Y-axis as a vector from a quaternion that represents rotation.
public function quat.getZ() returns vec3
Extracts Z-axis as a vector from a quaternion that represents rotation.
public function quat.lerp(quat q, real p) returns quat
Linear interpolation. q - targeted quaternion. p - progress from 0 to 1.
public function quat.lerpShort(quat q, real p) returns quat
public function quat.lerpLong(quat q, real p) returns quat
Linear interpolation. Always chooses the LONGEST way between rotations. q - targeted quaternion. p - progress from 0 to 1.
public function quat.nlerp(quat q, real p) returns quat
Normalized linear interpolation. q - targeted quaternion. p - progress from 0 to 1.
public function quat.nlerpShort(quat q, real p) returns quat
Normalized linear interpolation. Always chooses the SHORTEST way between rotations. q - targeted quaternion. p - progress from 0 to 1.
public function quat.nlerpLong(quat q, real p) returns quat
Normalized linear interpolation. Always chooses the LONGEST way between rotations. q - targeted quaternion. p - progress from 0 to 1.
public function quat.slerp(quat q, real p) returns quat
Spherical linear interpolation. Interpolates between two rotations. q - targeted quaternion. p - progress from 0 to 1. Slerp is the least efficient approach in performance so try to avoid using it, unless you need constant angular velocity. Nlerp is better solution in most cases.
public function quat.slerpShort(quat q, real p) returns quat
Spherical linear interpolation. Interpolates between two rotations. Always chooses the SHORTEST way between rotations. q - targeted quaternion. p - progress from 0 to 1. Slerp is the least efficient approach in performance so try to avoid using it, unless you need constant angular velocity. Nlerp is better solution in most cases.
public function quat.slerpLong(quat q, real p) returns quat
Spherical linear interpolation. Interpolates between two rotations. Always chooses the LONGEST way between rotations. q - targeted quaternion. p - progress from 0 to 1. Slerp is the least efficient approach in performance so try to avoid using it, unless you need constant angular velocity. Nlerp is better solution in most cases.
public function quat.toString() returns string
public function quat.getGimbalPole() returns int
Gimbal lock detection. Returns 1 for north, -1 for south, 0 if no gimbal lock.
public function quat.toEuler() returns vec3
Extracts Euler-angles (Tait-Bryan) in radians from a quaternion. Order of the result is Z-Y-X (Yaw-Pitch-Roll).
public function vec3.toQuat(angle angl) returns quat
Creates a quaternion from rotation axis and angle.
public function angle.toQuat(vec3 axis) returns quat
Creates a quaternion from rotation axis and angle.
public function vec3.rotate(quat q) returns vec3
Rotates a vector by a quaternion.
public function mat3.toQuat() returns quat
Extracts quaternion from a rotation matrix.
public function quat.assertEquals(quat expected)
public constant IDENTITYQ = quat(0, 0, 0, 1)
public constant ZEROQ = quat(0, 0, 0, 0)