D3DXMatrixAffineTransformation2D function (D3DX10Math.h)

Note

The D3DX utility library is deprecated. We recommend that you use DirectXMath instead.

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

Syntax

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

Parameters

pOut [in]

Type: D3DXMATRIX*

Pointer to the D3DXMATRIX that is the result of the operation.

Scaling [in]

Type: FLOAT

Scaling factor.

pRotationCenter [in]

Type: const D3DXVECTOR2*

Pointer to a D3DXVECTOR2, 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]

Type: FLOAT

The angle of rotation.

pTranslation [in]

Type: const D3DXVECTOR2*

Pointer to a D3DXVECTOR2, representing 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 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 = Mₛ * (Mrc)-1 * Mr * Mrc * Mₜ

where:

Mout = output matrix (pOut)

Mₛ = scaling matrix (Scaling)

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 D3DXMatrixAffineTransformation2D function can be used as a parameter for another function.

For 3D affine transformations, use D3DXMatrixAffineTransformation.

Requirements

Requirement Value
Header
D3DX10Math.h
Library
D3DX10.lib

See also

Math Functions