XMMatrixTransformation2D 是DirectX 数学库(DirectXMath)中的一个函数,用于构建一个二维仿射变换矩阵。这个函数的原型如下:
XMMATRIX XMMatrixTransformation2D(
  FXMVECTOR ScalingOrigin,
  FLOAT   ScalingOrientation,
  FXMVECTOR Scaling,
  FXMVECTOR RotationCenter,
  FLOAT   Rotation,
  FXMVECTOR Translation
);

这个函数用于创建一个二维仿射变换矩阵,该矩阵可以包含缩放、旋转和平移。参数的含义如下:

  •  ScalingOrigin: 缩放的原点。

  •  ScalingOrientation: 缩放的方向,以弧度表示。

  •  Scaling: 缩放的因子。

  •  RotationCenter: 旋转的中心点。

  •  Rotation: 旋转的角度,以弧度表示。

  •  Translation: 平移的向量。


这个函数返回一个 XMMATRIX 类型的矩阵,表示通过指定的二维变换参数构建的仿射变换矩阵。

以下是一个使用 XMMatrixTransformation2D 函数的简单示例:
#include <DirectXMath.h>

// ...

// 创建一个二维仿射变换矩阵,其中包含缩放、旋转和平移
XMMATRIX transformationMatrix = XMMatrixTransformation2D(
    XMVectorSet(0, 0, 0, 0),    // ScalingOrigin
    0.0f,                        // ScalingOrientation
    XMVectorSet(2, 2, 0, 0),     // Scaling
    XMVectorSet(0, 0, 0, 0),     // RotationCenter
    XMConvertToRadians(45.0f),   // Rotation (45 degrees)
    XMVectorSet(1, 2, 0, 0)      // Translation
);

这里的示例将创建一个包含缩放、旋转(45度)和平移的二维仿射变换矩阵。


转载请注明出处:http://www.zyzy.cn/article/detail/26962/Win32 API/Directxmath.h/XMMatrixTransformation2D