Platform SDK: DirectX

D3DXMatrixAffineTransformation

The D3DXMatrixAffineTransformation function builds an affine transformation matrix.

D3DXMATRIX* D3DXMatrixAffineTransformation(
  D3DXMATRIX* pOut,
  float scaling,
  const D3DXVECTOR3* pRotationCenter,
  const D3DXQUATERNION* pRotation,
  const D3DXVECTOR3* pTranslation
); 

Parameters

pOut
A pointer to the D3DXMATRIX structure that is the result of the operation.
scaling
The scaling factor.
pRotationCenter
A pointer to a D3DXVECTOR3 structure, a point identifying the center of rotation. If this argument is NULL, it is treated as identity.
pRotation
A pointer to a D3DXQUATERNION structure, specifying the rotation. If this argument is NULL, it is treated as identity.
pTranslation
A pointer to a D3DXVECTOR3 structure, representing the translation. If this argument is NULL, it is treated as identity.

Return Values

A pointer to a D3DXMATRIX structure that is an affine transformation matrix.

Remarks

The D3DXMatrixAffineTransformation function calculates the affine transformation matrix with the following formula: Ms * Mrc-1 * Mr * Mrc * Mt, where Ms is the scaling matrix, Mrc is the center of rotation matrix, Mr is the rotation matrix, and Mt is the translation matrix.

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

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Version: Requires DirectX 7.0.
  Header: Declared in d3dxmath.h.
  Library: Use d3dx.lib.