XMQuaternionRotationAxis 函数是 DirectX 数学库(DirectXMath)中的一个函数,用于创建绕任意轴旋转的四元数。该函数接受一个轴向量和一个旋转角度,并返回相应的四元数。

以下是 XMQuaternionRotationAxis 函数的声明:
XMVECTOR XMQuaternionRotationAxis(
  FXMVECTOR Axis,
  float    Angle
);

参数说明:
  •  Axis: 表示旋转轴的向量。

  •  Angle: 表示旋转角度(以弧度为单位)。


函数返回一个 XMVECTOR,表示绕指定轴旋转指定角度的四元数。

示例用法:
#include <iostream>
#include <DirectXMath.h>

using namespace DirectX;

int main() {
    XMVECTOR axis = XMVectorSet(1.0f, 0.0f, 0.0f, 0.0f); // X轴作为旋转轴
    float angle = XMConvertToRadians(45.0f); // 旋转45度

    // 创建绕X轴旋转45度的四元数
    XMVECTOR quaternion = XMQuaternionRotationAxis(axis, angle);

    // 输出结果
    std::cout << "Quaternion: (" << XMVectorGetX(quaternion) << ", "
              << XMVectorGetY(quaternion) << ", " << XMVectorGetZ(quaternion) << ", "
              << XMVectorGetW(quaternion) << ")" << std::endl;

    // 其他操作...

    return 0;
}

在上述示例中,XMVectorSet 用于创建表示X轴的向量,然后通过调用 XMQuaternionRotationAxis 函数,创建绕X轴旋转45度的四元数。最终,输出创建的四元数。


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