# *quat* library Quaternions manipulation library. ## Quaternion from matrix - *mat4.from_quat(...)* ```lua -- creates a quaternion based on the rotation matrix quat.from_mat4(m: matrix) -- writes a quaternion from the rotation matrix to dst quat.from_mat4(m: matrix, dst: quat) ``` ## Spherical linear interpolation - *quat.slerp(...)* The interpolation always take the short path and the rotation is performed at constant speed. ```lua -- creates a quaternion as an interpolation between a and b, -- where t is interpolation factor quat.slerp(a: quat, b: quat, t: number) -- writes a quaternion as an interpolation between a and b to dst, -- where t is interpolation factor quat.slerp(a: quat, b: quat, t: number, dst: quat) ``` ## Casting to string - *quat.tostring(...)* ```lua -- returns a string representing the contents of the quaternion quat.tostring(q: quat) ```