Функция D3DXQuaternionMultiply (D3dx9math.h)
Примечание
Служебная библиотека D3DX устарела. Вместо этого рекомендуется использовать DirectXMath .
Умножает два кватерниона.
Синтаксис
D3DXQUATERNION* D3DXQuaternionMultiply(
_Inout_ D3DXQUATERNION *pOut,
_In_ const D3DXQUATERNION *pQ1,
_In_ const D3DXQUATERNION *pQ2
);
Параметры
-
pOut [in, out]
-
Тип: D3DXQUATERNION*
Указатель на структуру D3DXQUATERNION , которая является результатом операции.
-
pQ1 [in]
-
Тип: const D3DXQUATERNION*
Указатель на исходную структуру D3DXQUATERNION .
-
pQ2 [in]
-
Тип: const D3DXQUATERNION*
Указатель на исходную структуру D3DXQUATERNION .
Возвращаемое значение
Тип: D3DXQUATERNION*
Указатель на структуру D3DXQUATERNION , которая является произведением двух кватернионов.
Комментарии
Результат представляет поворот Q1, за которым следует поворот Q2 (Out = Q2 * Q1). Это делается для того, чтобы D3DXQuaternionMultiply поддерживал ту же семантику, что и D3DXMatrixMultiply , так как кватернионы единиц можно рассматривать как другой способ представления матриц поворота.
Преобразования объединяются в одном порядке для функций D3DXQuaternionMultiply и D3DXMatrixMultiply . Например, если mX и mY представляют одни и те же повороты, что и qX и qY, m и q будут представлять одни и те же повороты.
D3DXMatrixMultiply(&m, &mX, &mY);
D3DXQuaternionMultiply(&q, &qX, &qY);
Умножение кватернионов не является коммутативным.
Возвращаемое значение для этой функции совпадает с значением, возвращаемым в параметре pOut . Таким образом, функцию D3DXQuaternionMultiply можно использовать в качестве параметра для другой функции.
Используйте D3DXQuaternionNormalize для любых входных данных кватерниона, которые еще не нормализованы.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел