D3DXMatrixAffineTransformation函数
创建一个仿射变换变换矩阵。NULL的参数就会当作是单位矩阵。
定义
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation(
D3DXMATRIX *pOut,
FLOAT Scaling,
const D3DXVECTOR3 *pRotationCenter,
const D3DXQUATERNION *pRotation,
const D3DXVECTOR3 *pTranslation
);
参数
pOut
[in, out] 指向D3DXMATRIX结构返回结果的矩阵。
Scaling
[in] 缩放系数。
pRotationCenter
[in] 指向D3DXVECTOR3结构指针,旋转中心向量。如果设置为NULL,就用一个单位矩阵代替Mrc 。
pRotation
[in] 指向D3DXQUATERNION结构旋转矩阵。如果参数为NULL,就用单位矩阵Mr 代替。
pTranslation
[in] 指向D3DXVECTOR3 结构变换向量。如果为NULL,就用单位矩阵Mt 。
返回值:
指向 D3DXMATRIX 结构的仿射变换矩阵。
说明:
本函数是用下面的公式来计算一个仿射变换矩阵:
Mout = Ms * (Mrc)-1 * Mr * Mrc * Mt
其中:
Mout = 输出矩阵 (pOut)
Ms = 缩放矩阵 (Scaling)
Mrc = 旋转矩阵中心 (pRotationCenter)
Mr = 旋转矩阵 (pRotation)
Mt = 平移矩阵 (pTranslation)
返回值跟pOut 是一样的,这样可以让D3DXMatrixAffineTransformation 成为其它函数参数使用。2D的仿射变换矩阵用D3DXMatrixAffineTransformation2D.
函数信息:
Header | d3dx9math.h |
Import library | d3dx9.lib |
Minimum operating systems | Windows 98 |
相关函数:
D3DXMatrixTransformation, Matrices