XMQuaternionMultiply 函数是 DirectX 数学库(DirectXMath)中的一个函数,用于计算两个四元数的乘法结果。

以下是 XMQuaternionMultiply 函数的声明:
XMVECTOR XMQuaternionMultiply(
  FXMVECTOR Q1,
  FXMVECTOR Q2
);

参数说明:
  •  Q1: 第一个四元数。

  •  Q2: 第二个四元数。


函数返回一个 XMVECTOR,表示两个输入四元数的乘积。

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

using namespace DirectX;

int main() {
    XMVECTOR quaternion1 = XMQuaternionRotationRollPitchYaw(XMConvertToRadians(45.0f), 0.0f, 0.0f); // 绕X轴旋转45度的四元数
    XMVECTOR quaternion2 = XMQuaternionRotationRollPitchYaw(0.0f, XMConvertToRadians(30.0f), 0.0f); // 绕Y轴旋转30度的四元数

    // 计算两个四元数的乘积
    XMVECTOR result = XMQuaternionMultiply(quaternion1, quaternion2);

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

    // 其他操作...

    return 0;
}

在上述示例中,XMQuaternionRotationRollPitchYaw 用于创建绕X轴和Y轴旋转的两个四元数。然后,通过调用 XMQuaternionMultiply 函数,计算这两个四元数的乘积。最终,输出乘积的结果。


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