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.