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

39 lines
819 B
Markdown
Raw Normal View History

2026-03-20 02:35:15 +08:00
# Matrix4x4::Rotation
```cpp
2026-03-20 02:35:15 +08:00
static Matrix4x4 Rotation(const Quaternion& q)
```
2026-03-20 02:35:15 +08:00
从四元数创建旋转矩阵。用于将旋转变换应用到点或向量。
**参数:**
2026-03-20 02:35:15 +08:00
- `q` - 表示旋转的四元数
2026-03-20 02:35:15 +08:00
**返回:** 旋转矩阵
**线程安全:** ✅
**复杂度:** O(1)
**示例:**
```cpp
2026-03-20 02:35:15 +08:00
#include "XCEngine/Math/Matrix4.h"
#include "XCEngine/Math/Quaternion.h"
#include "XCEngine/Math/Vector3.h"
using namespace XCEngine::Math;
Quaternion q = Quaternion::FromEuler(0.0f, 90.0f, 0.0f);
Matrix4 rotate = Matrix4::Rotation(q);
Vector3 point(1.0f, 0.0f, 0.0f);
Vector3 rotated = rotate.MultiplyVector(point);
// point 绕 Y 轴旋转 90 度
```
2026-03-20 02:35:15 +08:00
## 相关文档
- [Matrix4](matrix4.md) - 返回类总览
- [Quaternion](../quaternion/quaternion.md) - 四元数类
- [TRS](trs.md) - 组合变换矩阵