Función XMQuaternionMultiply (directxmath.h)
Calcula el producto de dos cuaterniones.
Sintaxis
XMVECTOR XM_CALLCONV XMQuaternionMultiply(
[in] FXMVECTOR Q1,
[in] FXMVECTOR Q2
) noexcept;
Parámetros
[in] Q1
Primer cuaternión.
[in] Q2
Segundo cuaternión.
Valor devuelto
Devuelve el producto de dos cuaterniones como Q2*Q1.
Comentarios
Las funciones de cuaternión directXMath usan un vector XMVECTOR 4 para representar cuaterniones, donde los componentes X, Y y Z son la parte vectorial y el componente W es la parte escalar.
El resultado representa la rotación Q1 seguida de la rotación Q2 para ser coherente con la concatenación XMMatrixMulplity, ya que esta función se usa normalmente para concatenar cuaterniones que representan rotaciones (es decir, devuelve Q2*Q1).
Esta función calcula el equivalente al pseudocódigo siguiente:
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;
Requisitos de la plataforma
Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK para Windows 8. Compatible con aplicaciones de escritorio Win32, aplicaciones de la Tienda Windows y Windows Phone 8 aplicaciones.Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | directxmath.h |