D3DXMatrixTransformation2D 函数 (D3dx9math.h)

注意

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

生成表示 xy 平面中的转换的 2D 转换矩阵。 NULL 参数被视为标识转换。

语法

D3DXMATRIX* D3DXMatrixTransformation2D(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR2 *pScalingCenter,
  _In_          FLOAT       pScalingRotation,
  _In_    const D3DXVECTOR2 *pScaling,
  _In_    const D3DXVECTOR2 *pRotationCenter,
  _In_          FLOAT       Rotation,
  _In_    const D3DXVECTOR2 *pTranslation
);

parameters

pOut [in, out]

类型: D3DXMATRIX*

指向包含转换结果的 D3DXMATRIX 结构的指针。

pScalingCenter [in]

类型: const D3DXVECTOR2*

指向 D3DXVECTOR2 结构的指针,一个标识缩放中心的点。 如果此参数为 NULL,则标识 Msc 矩阵将应用于“备注”中的公式。

pScalingRotation [in]

类型: FLOAT

缩放旋转因子。

pScaling [in]

类型: const D3DXVECTOR2*

指向 D3DXVECTOR2 结构的指针,一个标识刻度的点。 如果此参数为 NULL,则会将标识 Ms 矩阵应用于“备注”中的公式。

pRotationCenter [in]

类型: const D3DXVECTOR2*

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

旋转 [in]

类型: FLOAT

旋转角度(以弧度为单位)。

pTranslation [in]

类型: const D3DXVECTOR2*

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

返回值

类型: D3DXMATRIX*

指向包含转换矩阵的 D3DXMATRIX 结构的指针。

备注

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

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

其中:

Mout = 输出矩阵 (pOut)

Msc = 缩放中心矩阵 (pScalingCenter)

Msr = 缩放旋转矩阵 (pScalingRotation)

Ms = 缩放矩阵 (pScaling)

Mrc = 旋转矩阵 (pRotationCenter)

Mr = 旋转矩阵 (旋转)

Mt = 转换矩阵 (pTranslation)

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

对于 3D 转换,请使用 D3DXMatrixTransformation

要求

要求
标头
D3dx9math.h

D3dx9.lib

另请参阅

数学函数

D3DXMatrixAffineTransformation2D

转换 (Direct3D 9)