Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
The D3DX utility library is deprecated. We recommend that you use DirectXMath instead.
Builds a 2D affine transformation matrix in the xy plane. NULL arguments are treated as identity transformations.
Syntax
D3DXMATRIX* D3DXMatrixAffineTransformation2D(
_Inout_ D3DXMATRIX *pOut,
_In_ FLOAT Scaling,
_In_ const D3DXVECTOR2 *pRotationCenter,
_In_ FLOAT Rotation,
_In_ const D3DXVECTOR2 *pTranslation
);
Parameters
-
pOut [in, out]
-
Type: D3DXMATRIX*
Pointer to the D3DXMATRIX structure that is the result of the operation.
-
Scaling [in]
-
Type: FLOAT
Scaling factor.
-
pRotationCenter [in]
-
Type: const D3DXVECTOR2*
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]
-
Type: FLOAT
The angle of rotation.
-
pTranslation [in]
-
Type: const D3DXVECTOR2*
Pointer to a D3DXVECTOR2 structure, 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)⁻¹ * 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 |
|
Library |
|
See also