In game development, the quaternion is most often used to represent rotations. Why not use a matrix for that, you may ask. Unlike matrices, quaternions can be interpolated (animated) and produce a meaningful result. When interpolating two quaternions, there is a smooth transition from one rotation to another, whereas interpolating two matrices would yield garbage.
Return a new quaternion with values x, y, z, and w.
Return #t
if obj is a quaternion.
Return the W component of the quaternion q.
Return the X component of the quaternion q.
Return the Y component of the quaternion q.
Return the Z component of the quaternion q.
Return the identity quaternion.