GLKQuaternion type defines a structure that represents a quaternion. A quaternion is defined by a scalar component
s and an XYZ vector
v. Quaternions are often used in graphics programming as a compact representation of a rotation of an object in three dimensions.
The functions that manipulate
GLKQuaternion structures treat the inputs as immutable, instead returning a new quaternion that represent the results of the operation.