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

Siehe auch

Mathematische Funktionen