D3DXMatrixTransformation-Funktion (D3DX10Math.h)
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 Mittelpunkt der Skalierung identifiziert. Wenn dieses Argument NULL ist, wird eine M sc-Identitätsmatrix auf die Formel in "Hinweise" angewendet.
-
pScalingRotation [ In]
-
Typ: const D3DXQUATERNION *
Zeiger auf ein D3DXQUATERNION,das die Skalierungsrotation angibt. Wenn dieses Argument NULL ist, wird eine M SR-Identitätsmatrix auf die Formel in "Hinweise" angewendet.
-
pScaling [ In]
-
Typ: const D3DXVECTOR3 *
Zeiger auf eine D3DXVECTOR3-Struktur, den Skalierungsvektor. Wenn dieses Argument NULL ist, wird eine Ms-Identitätsmatrix auf die Formel in "Hinweise" angewendet.
-
pRotationCenter [ In]
-
Typ: const D3DXVECTOR3 *
Zeiger auf eine D3DXVECTOR3-Struktur, ein Punkt, der den Mittelpunkt der Drehung identifiziert. Wenn dieses Argument NULL ist, wird eine Identity M rc-Matrix auf die Formel in "Remarks" angewendet.
-
pRotation [ In]
-
Typ: const D3DXQUATERNION *
Zeiger auf eine D3DXQUATERNION-Struktur, die die Drehung angibt. Wenn dieses Argument NULL ist, wird eine M r-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-Identitätsmatrix auf die Formel in "Hinweise" angewendet.
Rückgabewert
Typ: D3DXMATRIX*
Zeiger auf eine D3DXMATRIX-Struktur, die die Transformationsmatrix ist.
Hinweise
Diese Funktion berechnet die Transformationsmatrix mit der folgenden Formel, wobei die Matrixverkettung in der Reihenfolge von links nach rechts ausgewertet wird:
Mout = (Msc)⁻¹ * (Msr)⁻¹ * Mₛ * Msr * Msc * (Mrc)⁻¹ * Mr * Mrc * Mt
Dabei gilt:
Mout = Ausgabematrix (pOut)
Msc = Skalierungscentermatrix (pScalingCenter)
Msr = Skalierungsrotationsmatrix (pScalingRotation)
Ms = Skalierungsmatrix (pScaling)
Mrc = Mittelpunkt der Rotationsmatrix (pRotationCenter)
Mr = Rotationsmatrix (pRotation)
Mt = Übersetzungsmatrix (pTranslation)
Der Rückgabewert für diese Funktion ist der gleiche 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 |
|