Freigeben über


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
D3dx9math.h
Bibliothek
D3dx9.lib

Siehe auch

Mathematische Funktionen

D3DXMatrixMultiply