Freigeben über


D3DXMatrixTransformation-Funktion (D3dx9math.h)

Hinweis

Die D3DX-Hilfsprogrammbibliothek ist veraltet. Es wird empfohlen, stattdessen DirectXMath zu verwenden.

Erstellt eine Transformationsmatrix. NULL-Argumente werden als Identitätstransformationen behandelt.

Syntax

D3DXMATRIX* D3DXMatrixTransformation(
  _Inout_       D3DXMATRIX     *pOut,
  _In_    const D3DXVECTOR3    *pScalingCenter,
  _In_    const D3DXQUATERNION *pScalingRotation,
  _In_    const D3DXVECTOR3    *pScaling,
  _In_    const D3DXVECTOR3    *pRotationCenter,
  _In_    const D3DXQUATERNION *pRotation,
  _In_    const D3DXVECTOR3    *pTranslation
);

Parameter

pOut [ein, aus]

Typ: D3DXMATRIX*

Zeiger auf die D3DXMATRIX-Struktur , die das Ergebnis des Vorgangs ist.

pScalingCenter [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , um den Skalierungsmittelpunkt zu identifizieren. Wenn dieses Argument NULL ist, wird eine Msc-Matrix der Identität auf die Formel in Hinweise angewendet.

pScalingRotation [in]

Typ: const D3DXQUATERNION*

Zeiger auf eine D3DXQUATERNION-Struktur , die die Skalierungsrotation angibt. Wenn dieses Argument NULL ist, wird eine Msr-Matrix der Identität auf die Formel in Den Hinweisen angewendet.

pScaling [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , den Skalierungsvektor. Wenn dieses Argument NULL ist, wird eine Ms-Matrix der Identität auf die Formel in Den Hinweisen angewendet.

pRotationCenter [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , einen Punkt, der den Drehpunkt identifiziert. Wenn dieses Argument NULL ist, wird eine Mrc-Matrix der Identität auf die Formel in Den Hinweisen angewendet.

pRotation [in]

Typ: const D3DXQUATERNION*

Zeiger auf eine D3DXQUATERNION-Struktur , die die Drehung angibt. Wenn dieses Argument NULL ist, wird eine Mr-Identitätsmatrix auf die Formel in Hinweise angewendet.

pTranslation [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , die die Übersetzung darstellt. Wenn dieses Argument NULL ist, wird eine Mt-Matrix der Identität auf die Formel in Anmerkungen angewendet.

Rückgabewert

Typ: D3DXMATRIX*

Zeiger auf eine D3DXMATRIX-Struktur , bei der es sich um die Transformationsmatrix handelt.

Bemerkungen

Diese Funktion berechnet die Transformationsmatrix mit der folgenden Formel, wobei die Matrixverkettung in der reihenfolge links nach rechts ausgewertet wird:

Mout = (Msc)⁻¹ * (Msr)⁻¹* Ms * Msr * Msc * (Mrc)⁻¹* Mr * Mrc * Mt

Dabei gilt Folgendes:

Mout = Ausgabematrix (pOut)

Msc = Skalierungszentrierungsmatrix (pScalingCenter)

Msr = Skalierungsrotation (pScalingRotation)

Ms = Skalierungsmatrix (pScaling)

Mrc = Mittelpunkt der Rotationsmatrix (pRotationCenter)

Mr = Rotationsmatrix (pRotation)

Mt = Übersetzungsmatrix (pTranslation)

Der Rückgabewert für diese Funktion ist derselbe Wert, der im pOut-Parameter zurückgegeben wird. Auf diese Weise kann die D3DXMatrixTransformation-Funktion als Parameter für eine andere Funktion verwendet werden.

Verwenden Sie für 2D-Transformationen D3DXMatrixTransformation2D.

Anforderungen

Anforderung Wert
Header
D3dx9math.h
Bibliothek
D3dx9.lib

Siehe auch

Mathematische Funktionen

D3DXMatrixAffineTransformation

Transformationen (Direct3D 9)