Tesla Graphics Engine Documentation (January 2012)
Quaternion Structure
TeslaTesla.MathQuaternion
Defines a 4 dimensional vector that represents a rotation, where the x,y,z components are a vector that an object is rotated about by the angle theta. W is equal to cos(theta/2).
Declaration Syntax
C#
[SerializableAttribute]
public struct Quaternion : IEquatable<Quaternion>
Members
All Members Constructors Methods Properties Fields



Icon Member Description
Quaternion(Vector3, Single)
Creates a new instance of Quaternion.

Quaternion(Single, Single, Single, Single)
Creates a new instance of Quaternion.

Add(Quaternion, Quaternion)
Adds two quaternions together.

Add(Quaternion%, Quaternion%, Quaternion%)
Adds two quaternions together.

Addition(Quaternion, Quaternion)
Adds the two quaternions together.

Conjugate()()()()
Transforms this quaternion into its conjugate.

Conjugate(Quaternion)
Returns the conjugate of the specified quaternion.

Conjugate(Quaternion%, Quaternion%)
Returns the conjugate of the specified quaternion.

Divide(Quaternion, Quaternion)
Divides a quaternion by another.

Divide(Quaternion%, Quaternion%, Quaternion%)
Divides a quaternion by another.

Division(Quaternion, Quaternion)
Divides two quaternions.

Dot(Quaternion, Quaternion)
Computes the dot product of two quaternions.

Dot(Quaternion%, Quaternion%, Single%)
Computes the dot product of two quaternions.

Equality(Quaternion, Quaternion)
Tests equality between two quaternions.

Equals(Quaternion)
Tests equality with another quaternion.

Equals(Object)
Tests equality between this quaternion and the supplied object.
(Overrides ValueType.Equals(Object).)
FromAngleAxis(Single, Vector3)
Creates a quaternion from an axis and an angle to rotate about that axis.

FromAngleAxis(Single, Vector3%, Quaternion%)
Creates a quaternion from an axis and an angle to rotate about that axis.

FromAxes(Vector3, Vector3, Vector3)
Creates a quaternion that represents a rotation formed by three axes. It is assumed the axes are orthogonal to one another and represent a proper xAxis-hand system.

FromAxes(Vector3%, Vector3%, Vector3%, Quaternion%)
Creates a quaternion that represents a rotation formed by three axes. It is assumed the axes are orthogonal to one another and represent a proper xAxis-hand system.

FromEulerAngles(Single, Single, Single)
Creates a quaternion from euler angles yaw, pitch, roll.

FromEulerAngles(Single, Single, Single, Quaternion%)
Creates a quaternion from euler angles yaw, pitch, and roll.

FromRotationMatrix(Matrix)
Creates a quaternion from a matrix that contains a rotation.

FromRotationMatrix(Matrix%, Quaternion%)
Creates a quaternion from a matrix that contains a rotation.

GetHashCode()()()()
Get the object's hash code.
(Overrides ValueType.GetHashCode()()()().)
GetRotationVector(Quaternion, Int32)
Gets the row of a 3x3 rotation matrix as a vector from this quaternion (normalized).

GetRotationVector(Quaternion%, Int32, Vector3%)
Gets the row of a 3x3 rotation matrix as a vector from this quaternion (normalized).

GetType()()()()
Gets the Type of the current instance.
(Inherited from Object.)
Identity
Gets the Quaternion identity - (0, 0, 0, 1).

Inequality(Quaternion, Quaternion)
Tests inequality between two quaternions.

Invert()()()()
Invert this quaternion.

Invert(Quaternion)
Invert the specified quaternion.

Invert(Quaternion%, Quaternion%)
Invert the specified quaternion.

Length()()()()
Compute the count (magnitude) of this quaternion.

LengthSquared()()()()
Compute the count (magnitude) squared, of this quaternion.

Lerp(Quaternion, Quaternion, Single)
Lineraly interpolate between two quaternions.

Lerp(Quaternion%, Quaternion%, Single, Quaternion%)
Lineraly interpolate between two quaternions.

LookAt(Vector3, Vector3, Vector3)
Creates a rotation quaternion where the object is facing the target along its z axis. If your object's "forward" facing is down -Z, then the object will correctly face the target.

LookAt(Vector3%, Vector3%, Vector3%, Quaternion%)
Creates a rotation quaternion where the object is facing the target along its z axis. If your object's "forward" facing is down -Z, then the object will correctly face the target.

Multiply(Quaternion, Quaternion)
Multiplies two quaternions together.

Multiply(Quaternion, Single)
Multiplies a quaternion by a scaling value.

Multiply(Quaternion%, Quaternion%, Quaternion%)
Multiplies two quaternions.

Multiply(Quaternion%, Single, Quaternion%)
Multiplies a quaternion by a scaling value.

Multiply(Quaternion, Quaternion)
Multiplies two quaternions together.

Multiply(Quaternion, Single)
Multiplies a quaternion by a scaling factor.

Multiply(Single, Quaternion)
Multiplies a quaternion by a scaling factor.

Negate()()()()
Flips the signs of the components of this quaternion.

Negate(Quaternion)
Flips the signs of the components of the specified quaternion.

Negate(Quaternion%, Quaternion%)
Flips the signs of the components of the specified quaternion.

Normalize()()()()
Normalizes this quaternion.

Normalize(Quaternion)
Normalizes the specified quaternion.

Normalize(Quaternion%, Quaternion%)
Normalizes the specified quaternion.

SizeInBytes
Gets the size of a Quaternion in bytes.

Slerp(Quaternion, Quaternion, Single)
Interpolates between two quaternions using spherical linear interpolation.

Slerp(Quaternion%, Quaternion%, Single, Quaternion%)
Interpolates between two quaternions using spherical linear interpolation.

Subtract(Quaternion, Quaternion)
Subtracts two quaternions.

Subtract(Quaternion%, Quaternion%, Quaternion%)
Subtracts two quaternions.

Subtraction(Quaternion, Quaternion)
Subtracts a quaternion from another.

ToString()()()()
Get a string representation for the object.
(Overrides ValueType.ToString()()()().)
UnaryNegation(Quaternion)
Flips the signs of the components of the specified quaternion.

W
Rotation component of the quaternion.

X
X component of the vector part of the quaternion.

Y
Y component of the vector part of the quaternion.

Z
Z component of the vector part of the quaternion.

Assembly: Tesla (Module: Tesla) Version: 0.5.0.0 (0.5.0.0)