Функция XMQuaternionMultiply (directxmath.h)
Вычисляет произведение двух кватернионов.
Синтаксис
XMVECTOR XM_CALLCONV XMQuaternionMultiply(
[in] FXMVECTOR Q1,
[in] FXMVECTOR Q2
) noexcept;
Параметры
[in] Q1
Первый кватернион.
[in] Q2
Второй кватернион.
Возвращаемое значение
Возвращает произведение двух кватернионов как Q2*Q1.
Комментарии
Функции кватерниона DirectXMath используют 4-векторный XMVECTOR для представления кватернионов, где компоненты X, Y и Z являются векторной частью, а компонент W — скалярной частью.
Результат представляет поворот Q1, за которым следует поворот Q2, чтобы обеспечить соответствие с объединением XMMatrixMulplity, так как эта функция обычно используется для сцепления кватернионов, представляющих повороты (т. е. возвращает Q2*Q1).
Эта функция вычисляет эквивалент следующего псевдокода:
XMVECTOR Result;
Result.x = (Q2.w * Q1.x) + (Q2.x * Q1.w) + (Q2.y * Q1.z) - (Q2.z * Q1.y);
Result.y = (Q2.w * Q1.y) - (Q2.x * Q1.z) + (Q2.y * Q1.w) + (Q2.z * Q1.x);
Result.z = (Q2.w * Q1.z) + (Q2.x * Q1.y) - (Q2.y * Q1.x) + (Q2.z * Q1.w);
Result.w = (Q2.w * Q1.w) - (Q2.x * Q1.x) - (Q2.y * Q1.y) - (Q2.z * Q1.z);
return Result;
Требования к платформе
Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | directxmath.h |