Files
XCEngine/docs/api/math/matrix4/get-rotation.md

42 lines
929 B
Markdown
Raw Normal View History

2026-03-20 02:35:15 +08:00
# Matrix4x4::GetRotation
```cpp
Quaternion GetRotation() const
```
2026-03-20 02:35:15 +08:00
从变换矩阵中提取旋转分量。将矩阵转换为对应的四元数表示。
2026-03-20 02:35:15 +08:00
**参数:** (无)
**返回:** 旋转四元数
**线程安全:** ✅
**复杂度:** O(1)
**示例:**
```cpp
#include "XCEngine/Core/Math/Matrix4.h"
#include "XCEngine/Core/Math/Quaternion.h"
2026-03-20 02:35:15 +08:00
using namespace XCEngine::Math;
Quaternion expected = Quaternion::FromEuler(0.0f, 90.0f, 0.0f);
Matrix4 transform = Matrix4::TRS(
Vector3(0.0f, 0.0f, 0.0f),
expected,
Vector3(1.0f, 1.0f, 1.0f)
);
Quaternion rotation = transform.GetRotation();
// rotation 表示相同的旋转
```
2026-03-20 02:35:15 +08:00
## 相关文档
- [Matrix4](matrix4.md) - 返回类总览
- [Quaternion](../quaternion/quaternion.md) - 四元数类
- [GetTranslation](get-translation.md) - 获取平移分量
- [GetScale](get-scale.md) - 获取缩放分量
2026-03-20 02:35:15 +08:00
- [Decompose](decompose.md) - 分解矩阵