Files
XCEngine/docs/api/math/quaternion/from-euler-angles.md
ssdfasd b414bc5326 refactor(docs): Fix broken links across multiple modules
Fixed broken references:
- texture-import-settings: Fix 16 files referencing wrong overview filename
- math/rectint: Fix 9 method links (rectint-* → get*, contains, intersects)
- rhi/opengl/device: Fix 8 cross-references (opengl-* → */**)
- resources/mesh: Fix meshsection and vertexattribute links
- rhi/d3d12/sampler: Fix RHISampler reference path
- math/vector3: Fix projectonplane → project-on-plane
- rhi/opengl/command-list: Remove broken ClearFlag enum ref
- rhi/opengl/device: Create 2 new method docs (MakeContextCurrent, GetNativeContext)
- rhi/device: Fix device-info types reference

All 0 broken references remaining.
2026-03-26 02:41:00 +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/Core/Math/Quaternion.h>
#include <XCEngine/Core/Math/Vector3.h>
#include <XCEngine/Core/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);

相关文档