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 |