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
D3DX10Math.h
Bibliothek
D3DX10.lib

Weitere Informationen

Mathematische Funktionen