Freigeben über


D3DXMatrixAffineTransformation-Funktion (D3dx9math.h)

Hinweis

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

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

Syntax

D3DXMATRIX* D3DXMatrixAffineTransformation(
  _Inout_       D3DXMATRIX     *pOut,
  _In_          FLOAT          Scaling,
  _In_    const D3DXVECTOR3    *pRotationCenter,
  _In_    const D3DXQUATERNION *pRotation,
  _In_    const D3DXVECTOR3    *pTranslation
);

Parameter

pOut [in, out]

Typ: D3DXMATRIX*

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

Skalierung [in]

Typ: FLOAT

Skalierungsfaktor.

pRotationCenter [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , ein Punkt, der den Drehpunkt identifiziert. Wenn dieses Argument NULL ist, wird eine Mrc-Identitätsmatrix 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 Den Hinweisen 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 Den Hinweisen angewendet.

Rückgabewert

Typ: D3DXMATRIX*

Zeiger auf eine D3DXMATRIX-Struktur , die eine affine Transformationsmatrix ist.

Bemerkungen

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

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

Dabei gilt Folgendes:

Mout = Ausgabematrix (pOut)

Ms = Skalierungsmatrix (Skalierung)

Mrc = Mittelpunkt der Drehungsmatrix (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 Funktion D3DXMatrixAffineTransformation als Parameter für eine andere Funktion verwendet werden.

Verwenden Sie für 2D-affine Transformationen D3DXMatrixAffineTransformation2D.

Anforderungen

Anforderung Wert
Header
D3dx9math.h
Bibliothek
D3dx9.lib

Siehe auch

Mathematische Funktionen

D3DXMatrixTransformation

Transformationen (Direct3D 9)