D3DXQUATERNION
Microsoft DirectX 9.0 SDK Update (October 2004)

D3DXQUATERNION Structure


Describes a quaternion.

Syntax

typedef struct D3DXQUATERNION {
    FLOAT x;
    FLOAT y;
    FLOAT z;
    FLOAT w;
} D3DXQUATERNION;

Members

x
The x-component.
y
The y-component.
z
The z-component.
w
The w-component.

Remarks

Quaternions add a fourth element to the [ x, y, z] values that define a vector, resulting in arbitrary 4-D 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.

Structure Information

Headerd3dx9math.h
Minimum operating systems Windows 98

See Also

Vectors, Vertices, and Quaternions


© 2004 Microsoft Corporation. All rights reserved.
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center.