D3DXMatrixAffineTransformation2D 函数 (D3dx9math.h)

注意

D3DX 实用工具库已弃用。 建议改用 DirectXMath

在 xy 平面中生成 2D 仿射转换矩阵。 NULL 参数被视为标识转换。

语法

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

parameters

pOut [in, out]

类型: D3DXMATRIX*

指向操作结果的 D3DXMATRIX 结构的指针。

缩放 [in]

类型: FLOAT

缩放因子。

pRotationCenter [in]

类型: const D3DXVECTOR2*

指向 D3DXVECTOR2 结构的指针,该结构是标识旋转中心的点。 如果此参数为 NULL,则标识 Mrc 矩阵将应用于“备注”中的公式。

旋转 [in]

类型: FLOAT

旋转角度。

pTranslation [in]

类型: const D3DXVECTOR2*

指向表示翻译的 D3DXVECTOR2 结构的指针。 如果此参数为 NULL,则将标识 Mt 矩阵应用于“备注”中的公式。

返回值

类型: D3DXMATRIX*

指向作为仿射转换矩阵的 D3DXMATRIX 结构的指针。

备注

此函数使用以下公式计算仿射转换矩阵,矩阵串联按从左到右的顺序计算:

Mout = Ms * (Mrc) ⁻¹ * Mr * Mrc * Mt

其中:

Mout = 输出矩阵 (pOut)

Ms = 缩放矩阵 (缩放)

Mrc = 旋转矩阵中心 (pRotationCenter)

Mr = 旋转矩阵 (旋转)

Mt = 转换矩阵 (pTranslation)

此函数的返回值与 pOut 参数中返回的值相同。 这样, D3DXMatrixAffineTransformation2D 函数可用作另一个函数的参数。

对于 3D 仿射转换,请使用 D3DXMatrixAffineTransformation

要求

要求
标头
D3dx9math.h

D3dx9.lib

另请参阅

数学函数

D3DXMatrixTransformation2D

转换 (Direct3D 9)