Freigeben über


XMQuaternionMultiply-Funktion (directxmath.h)

Berechnet das Produkt aus zwei Quaternionen.

Syntax

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

Parameter

[in] Q1

Die erste Quaternion.

[in] Q2

Die zweite Quaternion.

Rückgabewert

Gibt das Produkt von zwei Quaternionen als Q2*Q1 zurück.

Hinweise

Die DirectXMath-Quaternionsfunktionen verwenden einen XMVECTOR 4-Vektor, um Quaternionen darzustellen, wobei die X-, Y- und Z-Komponenten der Vektorteil und die W-Komponente der Skalarteil ist.

Das Ergebnis stellt die Drehung Q1 gefolgt von der Drehung Q2 dar, um mit der XMMatrixMulplity-Verkettung konsistent zu sein, da diese Funktion normalerweise verwendet wird, um Quaternionen zu verketten, die Drehungen darstellen (d. h. sie gibt Q2*Q1 zurück).

Diese Funktion berechnet das Äquivalent zum folgenden Pseudocode:


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;
    

Plattformanforderungen

Microsoft Visual Studio 2010 oder Microsoft Visual Studio 2012 mit dem Windows SDK für Windows 8. Unterstützt für Win32-Desktop-Apps, Windows Store-Apps und Windows Phone 8-Apps.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile directxmath.h

Weitere Informationen

Quaternionfunktionen der DirectXMath-Bibliothek