Funzione XMQuaternionMultiply (directxmath.h)

Calcola il prodotto di due quaternioni.

Sintassi

XMVECTOR XM_CALLCONV XMQuaternionMultiply(
  [in] FXMVECTOR Q1,
  [in] FXMVECTOR Q2
) noexcept;

Parametri

[in] Q1

Primo quaternione.

[in] Q2

Secondo quaternione.

Valore restituito

Restituisce il prodotto di due quaternioni come Q2*Q1.

Commenti

Le funzioni directXMath quaternion usano un vettore XMVECTOR 4-vector per rappresentare quaternioni, dove i componenti X, Y e Z sono la parte vettore e il componente W è la parte scalare.

Il risultato rappresenta la rotazione Q1 seguita dalla rotazione Q2 per essere coerente con la concatenazione XMMatrixMulplity poiché questa funzione viene in genere usata per concatenare quaternioni che rappresentano rotazioni (ad esempio restituisce Q2*Q1).

Questa funzione calcola l'equivalente allo pseudo-codice seguente:


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;
    

Requisiti della piattaforma

Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK per Windows 8. Supportato per app desktop Win32, app di Windows Store e Windows Phone 8 app.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione directxmath.h

Vedi anche

Funzioni di Quaternion della libreria DirectXMath