Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

D3DXMatrixTransformation2D function

Builds a 2D transformation matrix that represents transformations in the xy plane. NULL arguments are treated as identity transformations.

Syntax


D3DXMATRIX* D3DXMatrixTransformation2D(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR2 *pScalingCenter,
  _In_          FLOAT       pScalingRotation,
  _In_    const D3DXVECTOR2 *pScaling,
  _In_    const D3DXVECTOR2 *pRotationCenter,
  _In_          FLOAT       Rotation,
  _In_    const D3DXVECTOR2 *pTranslation
);

Parameters

pOut [in, out]

Type: D3DXMATRIX*

Pointer to the D3DXMATRIX structure that contains the result of the transformations.

pScalingCenter [in]

Type: const D3DXVECTOR2*

Pointer to a D3DXVECTOR2 structure, a point identifying the scaling center. If this argument is NULL, an identity Msc matrix is applied to the formula in Remarks.

pScalingRotation [in]

Type: FLOAT

The scaling rotation factor.

pScaling [in]

Type: const D3DXVECTOR2*

Pointer to a D3DXVECTOR2 structure, a point identifying the scale. If this argument is NULL, an identity Mₛ matrix is applied to the formula in Remarks.

pRotationCenter [in]

Type: const D3DXVECTOR2*

Pointer to a D3DXVECTOR2 structure, a point identifying the rotation center. If this argument is NULL, an identity Mrc matrix is applied to the formula in Remarks.

Rotation [in]

Type: FLOAT

The angle of rotation in radians.

pTranslation [in]

Type: const D3DXVECTOR2*

Pointer to a D3DXVECTOR2 structure, identifying the translation. If this argument is NULL, an identity Mₜ matrix is applied to the formula in Remarks.

Return value

Type: D3DXMATRIX*

Pointer to a D3DXMATRIX structure that contains the transformation matrix.

Remarks

This function calculates the transformation matrix with the following formula, with matrix concatenation evaluated in left-to-right order:

Mout = (Msc)⁻¹* (Msr)⁻¹* Mₛ * Msr * Msc * (Mrc)⁻¹* Mr * Mrc * Mₜ

where:

Mout = output matrix (pOut)

Msc = scaling center matrix (pScalingCenter)

Msr = scaling rotation matrix (pScalingRotation)

Mₛ = scaling matrix (pScaling)

Mrc = center of rotation matrix (pRotationCenter)

Mr = rotation matrix (Rotation)

Mₜ = translation matrix (pTranslation)

The return value for this function is the same value returned in the pOut parameter. In this way, the D3DXMatrixTransformation2D function can be used as a parameter for another function.

For 3D transformations, use D3DXMatrixTransformation.

Requirements

Header

D3dx9math.h

Library

D3dx9.lib

See also

D3DXMatrixAffineTransformation2D
Transforms (Direct3D 9)

 

 

Community Additions

ADD
Show:
© 2015 Microsoft