| QuaternionF Structure |
Namespace: DigitalRune.Mathematics.Algebra
The QuaternionF type exposes the following members.
| Name | Description | |
|---|---|---|
| QuaternionF(IListSingle) |
Initializes a new instance of the QuaternionF class.
| |
| QuaternionF(Single) |
Initializes a new instance of the QuaternionF class.
| |
| QuaternionF(Single, Vector3F) |
Initializes a new instance of the QuaternionF class.
| |
| QuaternionF(Single, Single, Single, Single) |
Initializes a new instance of the QuaternionF class.
|
| Name | Description | |
|---|---|---|
| Add |
Adds two quaternions.
| |
| AreNumericallyEqual(QuaternionF, QuaternionF) |
Tests if two quaternions are equal (within the tolerance
EpsilonF).
| |
| AreNumericallyEqual(QuaternionF, QuaternionF, Single) |
Tests if two quaternions are equal (with a specific tolerance).
| |
| Conjugate |
Sets this quaternion to its conjugate.
| |
| CreateRotation(Matrix33F) |
Creates a unit quaternion that specifies the same rotation as the given rotation matrix.
| |
| CreateRotation(Vector3F, Vector3F) |
Creates a unit quaternion that specifies a rotation given by two vectors.
| |
| CreateRotation(Vector3F, Single) |
Creates a unit quaternion that specifies a rotation given by axis and angle.
| |
| CreateRotation(Single, Vector3F, Single, Vector3F, Single, Vector3F, Boolean) |
Gets an orientation quaternion from Euler angles (3 rotations around 3 axes).
| |
| CreateRotationX |
Creates a unit quaternion that specifies a rotation by a given angle around the x-axis.
| |
| CreateRotationY |
Creates a unit quaternion that specifies a rotation by a given angle around the y-axis.
| |
| CreateRotationZ |
Creates a unit quaternion that specifies a rotation by a given angle around the z-axis.
| |
| Divide(QuaternionF, QuaternionF) |
Divides a quaternions by another quaternion.
| |
| Divide(QuaternionF, Single) |
Divides a quaternion by a scalar.
| |
| Dot |
Returns the dot product of two quaternions.
| |
| Equals(Object) |
Indicates whether this instance and a specified object are equal.
(Overrides ValueTypeEquals(Object).) | |
| Equals(QuaternionF) |
Indicates whether the current object is equal to another object of the same type.
| |
| Exp |
Sets this quaternion to its exponential.
| |
| Exp(QuaternionF) |
Calculates the exponential.
| |
| FromXna |
Converts this QuaternionF (DigitalRune Mathematics) to
Quaternion (XNA Framework).
| |
| GetAngle |
Calculates the angle between two quaternions.
| |
| GetHashCode |
Returns the hash code for this instance.
(Overrides ValueTypeGetHashCode.) | |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| Invert |
Inverts the quaternion.
| |
| Ln |
Sets this quaternion to its natural logarithm.
| |
| Ln(QuaternionF) |
Calculates the natural logarithm.
| |
| Multiply(Single, QuaternionF) |
Multiplies a quaternion by a scalar.
| |
| Multiply(QuaternionF, QuaternionF) |
Multiplies two quaternions.
| |
| Negate |
Negates a quaternion.
| |
| Normalize |
Normalizes the quaternion.
| |
| Parse(String) |
Converts the string representation of a quaternion to its QuaternionF
equivalent.
| |
| Parse(String, IFormatProvider) |
Converts the string representation of a quaternion in a specified culture-specific format to
its QuaternionF equivalent.
| |
| Power(Single) |
Sets this unit quaternion to a power of itself.
| |
| Power(QuaternionF, Single) |
Calculates the power of a unit quaternion.
| |
| Rotate |
Rotates a vector.
| |
| Subtract |
Subtracts a quaternion from a quaternion.
| |
| ToArray |
Converts the quaternion to an array of 4 float values: (w, x, y, z).
| |
| ToList |
Converts the vector to a list of 4 float values: (w, x, y, z).
| |
| ToQuaternionD |
Converts this QuaternionF to QuaternionD.
| |
| ToRotationMatrix33 |
Returns the 3 x 3 rotation matrix of this quaternion.
| |
| ToRotationMatrix44 |
Returns the 4 x 4 rotation matrix of this quaternion.
| |
| ToString |
Returns the string representation of this quaternion.
(Overrides ValueTypeToString.) | |
| ToString(IFormatProvider) |
Returns the string representation of this vector using the specified culture-specific format
information.
| |
| ToXna |
Converts this QuaternionF (DigitalRune Mathematics) to
Quaternion (XNA Framework).
| |
| TryNormalize |
Tries to normalize the quaternion.
|
| Name | Description | |
|---|---|---|
| Addition |
Adds two quaternions.
| |
| Division(QuaternionF, QuaternionF) |
Divides a quaternions by another quaternion.
| |
| Division(QuaternionF, Single) |
Divides a quaternion by a scalar.
| |
| Equality |
Tests if two quaternions are equal.
| |
| (Quaternion to QuaternionF) |
Performs an conversion from Quaternion (XNA Framework) to
QuaternionF (DigitalRune Mathematics).
| |
| (QuaternionF to Single) |
Converts the quaternion to an array of 4 float values: (w, x, y, z).
| |
| (QuaternionF to ListSingle) |
Converts the vector to a list of 4 float values: (w, x, y, z).
| |
| (QuaternionF to Quaternion) |
Performs an conversion from QuaternionF (DigitalRune Mathematics) to
Quaternion (XNA Framework).
| |
| (QuaternionF to QuaternionD) |
Performs an implicit conversion from QuaternionF to QuaternionD.
| |
| Inequality |
Tests if two quaternions are not equal.
| |
| Multiply(Single, QuaternionF) |
Multiplies a quaternion by a scalar.
| |
| Multiply(QuaternionF, QuaternionF) |
Multiplies two quaternions.
| |
| Multiply(QuaternionF, Single) |
Multiplies a quaternion by a scalar.
| |
| Subtraction |
Subtracts a quaternion from a quaternion.
| |
| UnaryNegation |
Negates a quaternion.
|
| Name | Description | |
|---|---|---|
| Identity |
Returns the identity QuaternionF (1, 0, 0, 0).
| |
| W |
The w component.
| |
| X |
The x component.
| |
| Y |
The y component.
| |
| Z |
The z component.
| |
| Zero |
Returns a QuaternionF with all of its components set to zero.
|
| Name | Description | |
|---|---|---|
| Angle |
Gets or sets the angle of the rotation around Axis.
| |
| Axis |
Gets or sets the normalized unit vector with the direction of the rotation axis.
| |
| Conjugated |
Returns the conjugate of the quaternion.
| |
| Inverse |
Returns the inverse of this quaternion.
| |
| IsNaN |
Gets a value indicating whether a component of the quaternion is NaN.
| |
| IsNumericallyNormalized |
Returns a value indicating whether this quaternion is normalized (the Modulus
is numerically equal to 1).
| |
| Item |
Gets or sets the component at the specified index.
| |
| Modulus |
Returns the modulus (length).
| |
| Norm |
Returns the norm (length2).
| |
| Normalized |
Returns the normalized quaternion.
| |
| V |
Gets or sets the vector part (x, y, z).
|
A quaternion consists of a scalar component w and a vector component v = (x, y, z). Alternatively it can be represented as a complex number with three imaginary parts w + ix + jy + kz, or as a 4-dimensional vector (w, x, y, z)
Due to common notation, the quaternion components are stored in the order: (w, x, y, z).
Unit Quaternions:
A unit quaternion is a quaternion q where N(q) = 1. (See Norm.) A unit quaternion can be represented by
q = cosθ + usinθ,
where u as a 3D vector has a length of 1. By applying Euler's identity for complex numbers the quaternion can be written in exponential notation:
q = euθ = cosθ + usinθ
Several methods, such as Ln(QuaternionF), require that the quaternion is a unit quaternion.