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 |