Assembly: DigitalRune.Mathematics (in DigitalRune.Mathematics.dll) Version: 1.7.0.0 (1.7.0.9486)
Syntax
| C# |
|---|
[SerializableAttribute] [TypeConverterAttribute(typeof(QuaternionDConverter))] [ObfuscationAttribute(Feature = "controlflow")] public struct QuaternionD : IEquatable<QuaternionD> |
| Visual Basic |
|---|
<SerializableAttribute> _ <TypeConverterAttribute(GetType(QuaternionDConverter))> _ <ObfuscationAttribute(Feature := "controlflow")> _ Public Structure QuaternionD _ Implements IEquatable(Of QuaternionD) |
| Visual C++ |
|---|
[SerializableAttribute] [TypeConverterAttribute(typeof(QuaternionDConverter))] [ObfuscationAttribute(Feature = L"controlflow")] public value class QuaternionD : IEquatable<QuaternionD> |
Remarks
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.