public static GLKQuaternion Multiply (GLKQuaternion quaternionLeft, GLKQuaternion quaternionRight)
{
GLKQuaternion q = new GLKQuaternion (quaternionLeft.w * quaternionRight.x +
quaternionLeft.x * quaternionRight.w +
quaternionLeft.y * quaternionRight.z -
quaternionLeft.z * quaternionRight.y,
quaternionLeft.w * quaternionRight.y +
quaternionLeft.y * quaternionRight.w +
quaternionLeft.z * quaternionRight.x -
quaternionLeft.x * quaternionRight.z,
quaternionLeft.w * quaternionRight.z +
quaternionLeft.z * quaternionRight.w +
quaternionLeft.x * quaternionRight.y -
quaternionLeft.y * quaternionRight.x,
quaternionLeft.w * quaternionRight.w -
quaternionLeft.x * quaternionRight.x -
quaternionLeft.y * quaternionRight.y -
quaternionLeft.z * quaternionRight.z);
return q;
}