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