D3DXMatrixAffineTransformation2D

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

D3DXMATRIX * D3DXMatrixAffineTransformation2D(
  D3DXMATRIX * pOut,
  FLOAT Scaling,
  CONST D3DXVECTOR2 * pRotationCenter,
  FLOAT Rotation,
  CONST D3DXVECTOR2 * pTranslation
);

Parameters

pOut
[in, out] Pointer to the D3DXMATRIX structure that is the result of the operation.
Scaling
[in] Scaling factor.
pRotationCenter
[in] Pointer to a D3DXVECTOR2 structure, a point identifying the center of rotation. If this argument is NULL, an identity Mrc matrix is applied to the formula in Remarks.
Rotation
[in] The angle of rotation.
pTranslation
[in] Pointer to a D3DXVECTOR2 structure, representing the translation. If this argument is NULL, an identity Mt matrix is applied to the formula in Remarks.

Return Values

Pointer to a D3DXMATRIX structure that is an affine transformation matrix.

Remarks

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

Mout = Ms * (Mrc)-1 * Mr * Mrc * Mt

where:

Mout = output matrix (pOut)

Ms = scaling matrix (Scaling)

Mrc = center of rotation matrix (pRotationCenter)

Mr = rotation matrix (Rotation)

Mt = translation matrix (pTranslation)

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

For 3D affine transformations, use D3DXMatrixAffineTransformation.

Requirements

Header: Declared in D3dx9math.h.

See Also

D3DXMatrixTransformation2D, Transforms