docs: update math API docs
This commit is contained in:
@@ -1,21 +1,36 @@
|
||||
# Matrix4::MultiplyVector
|
||||
# Matrix4x4::MultiplyVector
|
||||
|
||||
```cpp
|
||||
Vector3 MultiplyVector(const Vector3& v) const
|
||||
```
|
||||
|
||||
使用矩阵变换方向向量(不包含平移)。
|
||||
使用矩阵变换一个方向向量。会自动处理 w=0 的齐次坐标变换,适用于方向变换,不受平移影响。
|
||||
|
||||
**参数:**
|
||||
- `v` - 要变换的方向向量
|
||||
- `v` - 待变换的三维方向向量
|
||||
|
||||
**返回:** `Vector3` - 变换后的方向
|
||||
**返回:** 变换后的三维方向向量
|
||||
|
||||
**线程安全:** ✅
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Matrix4 model = Matrix4::TRS(pos, rot, scale);
|
||||
Vector3 worldDir = model.MultiplyVector(localDir);
|
||||
#include "XCEngine/Math/Matrix4.h"
|
||||
#include "XCEngine/Math/Vector3.h"
|
||||
|
||||
using namespace XCEngine::Math;
|
||||
|
||||
Matrix4 rotation = Matrix4::RotationY(3.14159265f / 2.0f);
|
||||
Vector3 direction(1.0f, 0.0f, 0.0f);
|
||||
Vector3 rotated = rotation.MultiplyVector(direction);
|
||||
// rotated = (0.0f, 0.0f, -1.0f)
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [Matrix4](matrix4.md) - 返回类总览
|
||||
- [MultiplyPoint](multiplypoint.md) - 点变换
|
||||
- [operator*](operator_mul.md) - 矩阵乘法
|
||||
Reference in New Issue
Block a user