以下是 XMQuaternionRotationMatrix 函数的声明:
XMVECTOR XMQuaternionRotationMatrix(
FXMMATRIX M
);
参数说明:
- M: 表示旋转矩阵的 4x4 矩阵。
函数返回一个 XMVECTOR,表示对应于输入旋转矩阵的四元数。
示例用法:
#include <iostream>
#include <DirectXMath.h>
using namespace DirectX;
int main() {
XMMATRIX rotationMatrix = XMMatrixRotationRollPitchYaw(XMConvertToRadians(45.0f), 0.0f, 0.0f); // 绕X轴旋转45度的矩阵
// 创建对应于旋转矩阵的四元数
XMVECTOR quaternion = XMQuaternionRotationMatrix(rotationMatrix);
// 输出结果
std::cout << "Quaternion: (" << XMVectorGetX(quaternion) << ", "
<< XMVectorGetY(quaternion) << ", " << XMVectorGetZ(quaternion) << ", "
<< XMVectorGetW(quaternion) << ")" << std::endl;
// 其他操作...
return 0;
}
在上述示例中,XMMatrixRotationRollPitchYaw 用于创建绕X轴旋转45度的旋转矩阵,然后通过调用 XMQuaternionRotationMatrix 函数,创建对应于该矩阵的四元数。最终,输出创建的四元数。
转载请注明出处:http://www.zyzy.cn/article/detail/26991/Win32 API/Directxmath.h/XMQuaternionRotationMatrix