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 |
|
Bibliothek |
|
Siehe auch