D3DXQuaternionMultiply-Funktion (D3dx9math.h)
Hinweis
Die D3DX-Hilfsprogrammbibliothek ist veraltet. Es wird empfohlen, stattdessen DirectXMath zu verwenden.
Multipliziert zwei Quaternionen.
Syntax
D3DXQUATERNION* D3DXQuaternionMultiply(
_Inout_ D3DXQUATERNION *pOut,
_In_ const D3DXQUATERNION *pQ1,
_In_ const D3DXQUATERNION *pQ2
);
Parameter
-
pOut [in, out]
-
Typ: D3DXQUATERNION*
Zeiger auf die D3DXQUATERNION-Struktur , die das Ergebnis des Vorgangs ist.
-
pQ1 [in]
-
Typ: const D3DXQUATERNION*
Zeiger auf eine D3DXQUATERNION-Quellstruktur .
-
pQ2 [in]
-
Typ: const D3DXQUATERNION*
Zeiger auf eine D3DXQUATERNION-Quellstruktur .
Rückgabewert
Typ: D3DXQUATERNION*
Zeiger auf eine D3DXQUATERNION-Struktur , die das Produkt von zwei Quaternionen ist.
Bemerkungen
Das Ergebnis stellt die Drehung Q1 gefolgt von der Drehung Q2 (Out = Q2 * Q1) dar. Dies erfolgt, damit D3DXQuaternionMultiply dieselbe Semantik wie D3DXMatrixMultiply beibehält, da Einheitenquaternionen als eine andere Möglichkeit zum Darstellen von Rotationsmatrizen betrachtet werden können.
Transformationen werden für die Funktionen D3DXQuaternionMultiply und D3DXMatrixMultiply in derselben Reihenfolge verkettet. Angenommen, mX und mY stellen die gleichen Drehungen wie qX und qY dar, wobei sowohl m als auch q die gleichen Drehungen darstellen.
D3DXMatrixMultiply(&m, &mX, &mY);
D3DXQuaternionMultiply(&q, &qX, &qY);
Die Multiplikation von Quaternionen ist nicht kommutativ.
Der Rückgabewert für diese Funktion ist derselbe Wert, der im pOut-Parameter zurückgegeben wird. Auf diese Weise kann die Funktion D3DXQuaternionMultiply als Parameter für eine andere Funktion verwendet werden.
Verwenden Sie D3DXQuaternionNormalize für alle Quaternioneingaben, die noch nicht normalisiert sind.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch