Skip to content

Quaternion class

Note

A class that represents the four elements x, y, z, and w of a quaternion.


class definition

class Quaternion
{
     public float x, y, z, w;

     public Quaternion()
     public Matrix GetMatrix()
}

Quaternion utility functions

makeQuaternion

Quaternion makeQuaternion(float x, float y, float z, float w)

global function. Generate a quaternion by specifying 4 elements x, y, z, w.

makeQuaternionMul

Quaternion makeQuaternionMul(Quaternion a, Quaternion b)

global function. Multiplies two quaternions and returns the result as a new quaternion.

makeQuaternionXRotation

Quaternion makeQuaternionXRotation(float rotateRadian)

global function. Returns the quaternion rotated by rotateRadian around the x-axis.

makeQuaternionYRotation

Quaternion makeQuaternionYRotation(float rotateRadian)

global function. Returns the quaternion rotated by rotateRadian around the y-axis.

makeQuaternionZRotation

Quaternion makeQuaternionZRotation(float rotateRadian)

global function. Returns the quaternion rotated by rotateRadian around the z-axis.

makeQuaternionEuler

Quaternion makeQuaternionEuler(float x, float y, float z)

global function. Generates a quaternion from the triplet of Euler angles x, y, z.

makeQuaternionFromTo

Quaternion makeQuaternionFromTo(Vector3 From, Vector3 To)

global function. Generates a quaternion from From vector to To vector.

makeQuaternionLook

Quaternion makeQuaternionLook(Vector3 LookView, Vector3 Up)

global function. Generates a quaternion which will face the LookView direction. The Up vector should be designated as (0.0f, 1.0f, 0.0f) unless intended.


Constructor

Quaternion()

public Quaternion()

Creates a quaternion instance with x, y, z elements set to 0 and w element set to 1.

member variables

float x

public float x

The x component of the quaternion.

float y

public float y

The y component of the quaternion.

float z

public float z

The z component of the quaternion.

float w

public float w

The w component of the quaternion.

methods

GetMatrix()

public Matrix GetMatrix()

Returns the quaternion as a 4x4 matrix.

Set

public void Set(float x, float y, float z, float w)

Sets the quaternion with the four elements x, y, z, and w.

SetEuler

public void SetEuler(float x, float y, float z)

Sets the quaternion with the Euler angles (degrees) x, y, and z.

SetEulerVector3

public void SetEulerVector3(Vector3 angles)

Sets the quaternion with the Euler angles (degrees) x, y, and z as a Vector3.

GetEuler

public void GetEuler(ref float x, ref float y, ref float z)

Gets the Euler angles (degrees) from the quaternion as the arguments x, y, and z.

GetEulerVector3

public Vector3 GetEulerVector3()

Gets the Euler angles (degrees) from the quaternion as a Vector3.