Files
XCEngine/docs/api/math/quaternion/from-euler-angles.md
2026-03-20 02:35:15 +08:00

1.1 KiB
Raw Blame History

Quaternion::FromEulerAngles

static Quaternion FromEulerAngles(float pitch, float yaw, float roll);
static Quaternion FromEulerAngles(const Vector3& euler);

从欧拉角创建四元数。使用 YXZ 顺序(先绕 Y 轴 yaw再绕 X 轴 pitch最后绕 Z 轴 roll

参数:

  • pitch - 绕 X 轴旋转角度(弧度)
  • yaw - 绕 Y 轴旋转角度(弧度)
  • roll - 绕 Z 轴旋转角度(弧度)
  • euler - 欧拉角向量 (pitch, yaw, roll)

返回: 表示该旋转的四元数

线程安全:

复杂度: O(1)

示例:

#include <XCEngine/Math/Quaternion.h>
#include <XCEngine/Math/Vector3.h>
#include <XCEngine/Math/Math.h>

using namespace XCEngine::Math;

Quaternion q1 = Quaternion::FromEulerAngles(
    Math::Radians(45.0f),
    Math::Radians(30.0f),
    Math::Radians(60.0f)
);

Quaternion q2 = Quaternion::FromEulerAngles(Vector3(45, 30, 60) * DEG_TO_RAD);

相关文档