Freigeben über


D3DXMatrixTransformation2D-Funktion (D3dx9math.h)

Hinweis

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

Erstellt eine 2D-Transformationsmatrix, die Transformationen auf der xy-Ebene darstellt. NULL-Argumente werden als Identitätstransformationen behandelt.

Syntax

D3DXMATRIX* D3DXMatrixTransformation2D(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR2 *pScalingCenter,
  _In_          FLOAT       pScalingRotation,
  _In_    const D3DXVECTOR2 *pScaling,
  _In_    const D3DXVECTOR2 *pRotationCenter,
  _In_          FLOAT       Rotation,
  _In_    const D3DXVECTOR2 *pTranslation
);

Parameter

pOut [in, out]

Typ: D3DXMATRIX*

Zeiger auf die D3DXMATRIX-Struktur , die das Ergebnis der Transformationen enthält.

pScalingCenter [in]

Typ: const D3DXVECTOR2*

Zeiger auf eine D3DXVECTOR2-Struktur , ein Punkt, der das Skalierungszentrum identifiziert. Wenn dieses Argument NULL ist, wird eine Msc-Identitätsmatrix auf die Formel in Den Hinweisen angewendet.

pScalingRotation [in]

Typ: FLOAT

Der Skalierungsdrehungsfaktor.

pScaling [in]

Typ: const D3DXVECTOR2*

Zeiger auf eine D3DXVECTOR2-Struktur , ein Punkt, der die Skalierung identifiziert. Wenn dieses Argument NULL ist, wird eine Identität Ms-Matrix auf die Formel in den Hinweisen angewendet.

pRotationCenter [in]

Typ: const D3DXVECTOR2*

Zeiger auf eine D3DXVECTOR2-Struktur , einen Punkt, der das Drehzentrum identifiziert. Wenn dieses Argument NULL ist, wird eine Mrc-Identitätsmatrix auf die Formel in Den Hinweisen angewendet.

Drehung [in]

Typ: FLOAT

Der Drehwinkel im Bogenmaß.

pTranslation [in]

Typ: const D3DXVECTOR2*

Zeiger auf eine D3DXVECTOR2-Struktur , die die Übersetzung identifiziert. Wenn dieses Argument NULL ist, wird eine Mt-Matrix der Identität auf die Formel in Den Hinweisen angewendet.

Rückgabewert

Typ: D3DXMATRIX*

Zeiger auf eine D3DXMATRIX-Struktur , die die Transformationsmatrix enthält.

Bemerkungen

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

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

Dabei gilt Folgendes:

Mout = Ausgabematrix (pOut)

Msc = Skalierungsmittelmatrix (pScalingCenter)

Msr = Skalierungsdrehungsmatrix (pScalingRotation)

Ms = Skalierungsmatrix (pScaling)

Mrc = Mittelpunkt der Drehungsmatrix (pRotationCenter)

Mr = Drehungsmatrix (Drehung)

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 Funktion D3DXMatrixTransformation2D als Parameter für eine andere Funktion verwendet werden.

Verwenden Sie für 3D-Transformationen D3DXMatrixTransformation.

Anforderungen

Anforderung Wert
Header
D3dx9math.h
Bibliothek
D3dx9.lib

Siehe auch

Mathematische Funktionen

D3DXMatrixAffineTransformation2D

Transformationen (Direct3D 9)