D3DXQUATERNION structure
Describes a quaternion.
Syntax
typedef struct D3DXQUATERNION { FLOAT x; FLOAT y; FLOAT z; FLOAT w; } D3DXQUATERNION, *LPD3DXQUATERNION;
Members
- x
-
Type: FLOAT
-
The x-component.
- y
-
Type: FLOAT
-
The y-component.
- z
-
Type: FLOAT
-
The z-component.
- w
-
Type: FLOAT
-
The w-component.
Remarks
Quaternions add a fourth element to the [ x, y, z] values that define a vector, resulting in arbitrary 4D vectors. However, the following illustrates how each element of a unit quaternion relates to an axis-angle rotation (where q represents a unit quaternion (x, y, z, w), axis is normalized, and theta is the desired CCW rotation about the axis):
q.x = sin(theta/2) * axis.x q.y = sin(theta/2) * axis.y q.z = sin(theta/2) * axis.z q.w = cos(theta/2)
C++ programmers can take advantage of operator overloading and type casting with the D3DXQUATERNION Extensions, which implement overloaded constructors and assignment, unary, and binary (including equality) operators.
Requirements
|
Header |
|
|---|
See also