D3DXQuaternionMultiply-Funktion (D3DX10Math.h)

Hinweis

Die D3DX10-Hilfsbibliothek ist veraltet. Es wird empfohlen, directXMath stattdessen 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 , die das Ergebnis des Vorgangs ist.

pQ1 [in]

Typ: const D3DXQUATERNION*

Zeiger auf eine Quellstruktur von D3DXQUATERNION .

pQ2 [in]

Typ: const D3DXQUATERNION*

Zeiger auf eine Quellstruktur von D3DXQUATERNION .

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 geschieht so, dass D3DXQuaternionMultiply dieselbe Semantik wie D3DXMatrixMultiply beibehalten, da Einheiten quaternionen als eine andere Möglichkeit betrachtet werden können, Drehungsmatrizen darzustellen.

Transformationen werden in derselben Reihenfolge für die Funktionen D3DXQuaternionMultiply und D3DXMatrixMultiply verkettet. Angenommen, mX und mY stellen die gleichen Drehungen wie qX und qY dar, sowohl m als auch q werden 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 der gleiche Wert, der im pOut-Parameter zurückgegeben wird. Auf diese Weise kann die D3DXQuaternionMultiply-Funktion als Parameter für eine andere Funktion verwendet werden.

Verwenden Sie D3DXQuaternionNormalize für jede Quaternion-Eingabe, die noch nicht normalisiert ist.

Requirements (Anforderungen)

Anforderung Wert
Header
D3DX10Math.h
Bibliothek
D3DX10.lib

Siehe auch

Mathematische Funktionen