docs: update math API docs
This commit is contained in:
@@ -1,21 +1,39 @@
|
||||
# Matrix4::Rotation
|
||||
# Matrix4x4::Rotation
|
||||
|
||||
```cpp
|
||||
static Matrix4 Rotation(const Quaternion& q)
|
||||
static Matrix4x4 Rotation(const Quaternion& q)
|
||||
```
|
||||
|
||||
从四元数创建旋转矩阵。
|
||||
从四元数创建旋转矩阵。用于将旋转变换应用到点或向量。
|
||||
|
||||
**参数:**
|
||||
- `q` - 四元数
|
||||
- `q` - 表示旋转的四元数
|
||||
|
||||
**返回:** `Matrix4` - 旋转矩阵
|
||||
**返回:** 旋转矩阵
|
||||
|
||||
**线程安全:** ✅
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Quaternion rot = Quaternion::FromEulerAngles(0.0f, 90.0f * DEG_TO_RAD, 0.0f);
|
||||
Matrix4 rotation = Matrix4::Rotation(rot);
|
||||
#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 度
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [Matrix4](matrix4.md) - 返回类总览
|
||||
- [Quaternion](../quaternion/quaternion.md) - 四元数类
|
||||
- [TRS](trs.md) - 组合变换矩阵
|
||||
Reference in New Issue
Block a user