Compartir a través de


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

Consulte también

Funciones de cuaternión de la biblioteca DirectXMath