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

36 lines
842 B
Markdown
Raw Normal View History

2026-03-20 02:35:15 +08:00
# Matrix4x4::MultiplyVector
```cpp
Vector3 MultiplyVector(const Vector3& v) const
```
2026-03-20 02:35:15 +08:00
使用矩阵变换一个方向向量。会自动处理 w=0 的齐次坐标变换,适用于方向变换,不受平移影响。
**参数:**
2026-03-20 02:35:15 +08:00
- `v` - 待变换的三维方向向量
2026-03-20 02:35:15 +08:00
**返回:** 变换后的三维方向向量
**线程安全:** ✅
**复杂度:** O(1)
**示例:**
```cpp
#include "XCEngine/Core/Math/Matrix4.h"
#include "XCEngine/Core/Math/Vector3.h"
2026-03-20 02:35:15 +08:00
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)
```
2026-03-20 02:35:15 +08:00
## 相关文档
- [Matrix4](matrix4.md) - 返回类总览
- [MultiplyPoint](multiplypoint.md) - 点变换
- [operator*](operator_mul.md) - 矩阵乘法