Структура D3DXQUATERNION (D3dx9math.h)
Примечание
Служебная библиотека D3DX является устаревшей. Вместо этого рекомендуется использовать DirectXMath .
Описывает кватернион.
Синтаксис
typedef struct D3DXQUATERNION {
FLOAT x;
FLOAT y;
FLOAT z;
FLOAT w;
} D3DXQUATERNION, *LPD3DXQUATERNION;
Члены
-
x
-
Тип: FLOAT
-
X-компонент.
-
y
-
Тип: FLOAT
-
Компонент y.
-
z
-
Тип: FLOAT
-
Z-компонент.
-
w
-
Тип: FLOAT
-
W-компонент.
Комментарии
Кватернионы добавляют четвертый элемент к значениям [x, y, z], которые определяют вектор, что приводит к произвольным 4D-векторам. Однако ниже показано, как каждый элемент кватерниона единиц соотносится с поворотом угла оси (где q представляет единицу кватерниона (x, y, z, w), ось нормализуется, а theta является требуемым поворотом CCW вокруг оси:
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++ могут воспользоваться преимуществами перегрузки операторов и приведения типов с помощью расширений D3DXQUATERNION, которые реализуют перегруженные конструкторы и операторы присваивания, унарные и двоичные операторы (включая равенство).
Требования
Требование | Значение |
---|---|
Заголовок |
|
См. также раздел