2026-03-20 02:35:15 +08:00
|
|
|
# Quaternion::ToEulerAngles
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
Vector3 ToEulerAngles() const;
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
将四元数转换为欧拉角。返回顺序为 (pitch, yaw, roll),单位为弧度。
|
|
|
|
|
|
|
|
|
|
**返回:** 欧拉角向量 (pitch, yaw, roll),单位为弧度
|
|
|
|
|
|
|
|
|
|
**线程安全:** ✅
|
|
|
|
|
|
|
|
|
|
**复杂度:** O(1)
|
|
|
|
|
|
|
|
|
|
**示例:**
|
|
|
|
|
|
|
|
|
|
```cpp
|
2026-03-26 02:41:00 +08:00
|
|
|
#include <XCEngine/Core/Math/Quaternion.h>
|
|
|
|
|
#include <XCEngine/Core/Math/Vector3.h>
|
|
|
|
|
#include <XCEngine/Core/Math/Math.h>
|
2026-03-20 02:35:15 +08:00
|
|
|
|
|
|
|
|
using namespace XCEngine::Math;
|
|
|
|
|
|
|
|
|
|
Quaternion q = Quaternion::FromEulerAngles(
|
|
|
|
|
Math::Radians(45.0f),
|
|
|
|
|
Math::Radians(30.0f),
|
|
|
|
|
Math::Radians(60.0f)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
Vector3 euler = q.ToEulerAngles();
|
|
|
|
|
// euler.x ≈ 45°, euler.y ≈ 30°, euler.z ≈ 60°
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
|
|
|
|
- [Quaternion](quaternion.md) - 返回类总览
|
|
|
|
|
- [FromEulerAngles](from-euler-angles.md) - 从欧拉角创建
|