XMMatrixAffineTransformation 函数是 DirectXMath 库中的一个函数,用于创建仿射变换矩阵。以下是函数的简要说明:
XMMATRIX XMMatrixAffineTransformation(
  [in] XMVECTOR Scaling,
  [in] XMVECTOR RotationOrigin,
  [in] XMVECTOR RotationQuaternion,
  [in] XMVECTOR Translation
);

这个函数接受四个参数:

  •  Scaling: 缩放向量,表示在每个轴上的缩放比例。

  •  RotationOrigin: 旋转的原点。

  •  RotationQuaternion: 旋转的四元数。

  •  Translation: 平移向量。


函数返回一个仿射变换矩阵 (XMMATRIX),它包含了指定的缩放、旋转和平移变换。

这个函数的典型用法如下:
XMVECTOR scaling = XMVectorSet(2.0f, 1.5f, 1.0f, 1.0f);
XMVECTOR rotationOrigin = XMVectorSet(0.0f, 0.0f, 0.0f, 1.0f);
XMVECTOR rotationQuaternion = XMQuaternionRotationRollPitchYaw(0.0f, XMConvertToRadians(45.0f), 0.0f);
XMVECTOR translation = XMVectorSet(1.0f, 2.0f, 3.0f, 1.0f);

XMMATRIX affineMatrix = XMMatrixAffineTransformation(scaling, rotationOrigin, rotationQuaternion, translation);

在这个例子中,affineMatrix 将包含指定的缩放、旋转和平移变换。这个矩阵可以用于将顶点进行仿射变换。


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