![]() | QuaternionD Structure |
Namespace: DigitalRune.Mathematics.Algebra
The QuaternionD type exposes the following members.
Name | Description | |
---|---|---|
![]() | QuaternionD(IListDouble) |
Initializes a new instance of the QuaternionD class.
|
![]() | QuaternionD(Double) |
Initializes a new instance of the QuaternionD class.
|
![]() | QuaternionD(Double, Vector3D) |
Initializes a new instance of the QuaternionD class.
|
![]() | QuaternionD(Double, Double, Double, Double) |
Initializes a new instance of the QuaternionD class.
|
Name | Description | |
---|---|---|
![]() ![]() | Add |
Adds two quaternions.
|
![]() ![]() | AreNumericallyEqual(QuaternionD, QuaternionD) |
Tests if two quaternions are equal (within the tolerance
EpsilonD).
|
![]() ![]() | AreNumericallyEqual(QuaternionD, QuaternionD, Double) |
Tests if two quaternions are equal (with a specific tolerance).
|
![]() | Conjugate |
Sets this quaternion to its conjugate.
|
![]() ![]() | CreateRotation(Matrix33D) |
Creates a unit quaternion that specifies the same rotation as the given rotation matrix.
|
![]() ![]() | CreateRotation(Vector3D, Vector3D) |
Creates a unit quaternion that specifies a rotation given by two vectors.
|
![]() ![]() | CreateRotation(Vector3D, Double) |
Creates a unit quaternion that specifies a rotation given by axis and angle.
|
![]() ![]() | CreateRotation(Double, Vector3D, Double, Vector3D, Double, Vector3D, 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(QuaternionD, QuaternionD) |
Divides a quaternions by another quaternion.
|
![]() ![]() | Divide(QuaternionD, Double) |
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(QuaternionD) |
Indicates whether the current object is equal to another object of the same type.
|
![]() | Exp |
Sets this quaternion to its exponential.
|
![]() ![]() | Exp(QuaternionD) |
Calculates the exponential.
|
![]() ![]() | FromXna |
Converts this QuaternionD (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(QuaternionD) |
Calculates the natural logarithm.
|
![]() ![]() | Multiply(Double, QuaternionD) |
Multiplies a quaternion by a scalar.
|
![]() ![]() | Multiply(QuaternionD, QuaternionD) |
Multiplies two quaternions.
|
![]() ![]() | Negate |
Negates a quaternion.
|
![]() | Normalize |
Normalizes the quaternion.
|
![]() ![]() | Parse(String) |
Converts the string representation of a quaternion to its QuaternionD
equivalent.
|
![]() ![]() | Parse(String, IFormatProvider) |
Converts the string representation of a quaternion in a specified culture-specific format to
its QuaternionD equivalent.
|
![]() | Power(Double) |
Sets this unit quaternion to a power of itself.
|
![]() ![]() | Power(QuaternionD, Double) |
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 double values: (w, x, y, z).
|
![]() | ToList |
Converts the vector to a list of 4 double values: (w, x, y, z).
|
![]() | ToQuaternionF |
Converts this QuaternionD to QuaternionF.
|
![]() | 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 QuaternionD (DigitalRune Mathematics) to
Quaternion (XNA Framework).
|
![]() | TryNormalize |
Tries to normalize the quaternion.
|
Name | Description | |
---|---|---|
![]() ![]() | Addition |
Adds two quaternions.
|
![]() ![]() | Division(QuaternionD, QuaternionD) |
Divides a quaternions by another quaternion.
|
![]() ![]() | Division(QuaternionD, Double) |
Divides a quaternion by a scalar.
|
![]() ![]() | Equality |
Tests if two quaternions are equal.
|
![]() ![]() | (Quaternion to QuaternionD) |
Performs an conversion from Quaternion (XNA Framework) to
QuaternionD (DigitalRune Mathematics).
|
![]() ![]() | (QuaternionD to Double) |
Converts the quaternion to an array of 4 double values: (w, x, y, z).
|
![]() ![]() | (QuaternionD to ListDouble) |
Converts the vector to a list of 4 double values: (w, x, y, z).
|
![]() ![]() | (QuaternionD to QuaternionF) |
Performs an explicit conversion from QuaternionD to QuaternionF.
|
![]() ![]() | (QuaternionD to Quaternion) |
Performs an conversion from QuaternionD (DigitalRune Mathematics) to
Quaternion (XNA Framework).
|
![]() ![]() | Inequality |
Tests if two quaternions are not equal.
|
![]() ![]() | Multiply(Double, QuaternionD) |
Multiplies a quaternion by a scalar.
|
![]() ![]() | Multiply(QuaternionD, QuaternionD) |
Multiplies two quaternions.
|
![]() ![]() | Multiply(QuaternionD, Double) |
Multiplies a quaternion by a scalar.
|
![]() ![]() | Subtraction |
Subtracts a quaternion from a quaternion.
|
![]() ![]() | UnaryNegation |
Negates a quaternion.
|
Name | Description | |
---|---|---|
![]() ![]() | Identity |
Returns the identity QuaternionD (1, 0, 0, 0).
|
![]() | W |
The w component.
|
![]() | X |
The x component.
|
![]() | Y |
The y component.
|
![]() | Z |
The z component.
|
![]() ![]() | Zero |
Returns a QuaternionD 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(QuaternionD), require that the quaternion is a unit quaternion.