D3DXMatrixTransformation-Funktion (D3DX10Math.h)
Hinweis
Die D3DX10-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 [in, out]
-
Typ: D3DXMATRIX*
Zeiger auf die D3DXMATRIX-Struktur , die das Ergebnis des Vorgangs ist.
-
pScalingCenter [in]
-
Typ: const D3DXVECTOR3*
Zeiger auf einen D3DXVECTOR3, der den Skalierungsmittelpunkt identifiziert. Wenn dieses Argument NULL ist, wird eine Msc-Identitätsmatrix auf die Formel in Den Hinweisen angewendet.
-
pScalingRotation [in]
-
Typ: const D3DXQUATERNION*
Zeiger auf eine D3DXQUATERNION , die die Skalierungsdrehung 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 Identität Ms-Matrix auf die Formel in den Hinweisen angewendet.
-
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, bei der es sich um die Transformationsmatrix handelt.
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 = 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 D3DXMatrixTransformation als Parameter für eine andere Funktion verwendet werden.
Verwenden Sie für 2D-Transformationen D3DXMatrixTransformation2D.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für