- Fix link resolution with proper relative/absolute path handling - Improve link styling with underline decoration - Hide leaf nodes from tree, only show directories - Fix log file path for packaged app
70 lines
2.3 KiB
Markdown
70 lines
2.3 KiB
Markdown
# Vector3
|
||
|
||
3D 向量结构体,用于表示 3D 空间中的点、方向、颜色或法线。
|
||
|
||
**头文件:** `#include <XCEngine/Math/Vector3.h>`
|
||
|
||
**命名空间:** `XCEngine::Math`
|
||
|
||
## 结构体定义
|
||
|
||
```cpp
|
||
struct Vector3 {
|
||
float x = 0.0f;
|
||
float y = 0.0f;
|
||
float z = 0.0f;
|
||
};
|
||
```
|
||
|
||
## 静态工厂方法
|
||
|
||
| 方法 | 返回值 | 描述 |
|
||
|------|--------|------|
|
||
| [Zero()](zero.md) | `Vector3` | 返回 (0, 0, 0) |
|
||
| [One()](one.md) | `Vector3` | 返回 (1, 1, 1) |
|
||
| [Forward()](forward.md) | `Vector3` | 返回 (0, 0, 1),前方向(Z+) |
|
||
| [Back()](back.md) | `Vector3` | 返回 (0, 0, -1),后方向 |
|
||
| [Up()](up.md) | `Vector3` | 返回 (0, 1, 0),上方向 |
|
||
| [Down()](down.md) | `Vector3` | 返回 (0, -1, 0),下方向 |
|
||
| [Right()](right.md) | `Vector3` | 返回 (1, 0, 0),右方向 |
|
||
| [Left()](left.md) | `Vector3` | 返回 (-1, 0, 0),左方向 |
|
||
|
||
## 静态数学方法
|
||
|
||
| 方法 | 返回值 | 描述 |
|
||
|------|--------|------|
|
||
| [Dot(a, b)](dot.md) | `float` | 点积 |
|
||
| [Cross(a, b)](cross.md) | `Vector3` | 叉积(垂直于 a 和 b) |
|
||
| [Normalize(v)](normalize.md) | `Vector3` | 归一化向量 |
|
||
| [Magnitude(v)](magnitude.md) | `float` | 向量长度 |
|
||
| [SqrMagnitude(v)](sqrmagnitude.md) | `float` | 长度平方 |
|
||
| [Lerp(a, b, t)](lerp.md) | `Vector3` | 线性插值 |
|
||
| [MoveTowards(current, target, maxDistance)](movetowards.md) | `Vector3` | 朝目标移动 |
|
||
| [Project(vector, onNormal)](project.md) | `Vector3` | 投影到法线上 |
|
||
| [ProjectOnPlane(vector, planeNormal)](projectonplane.md) | `Vector3` | 投影到平面上 |
|
||
| [Angle(from, to)](angle.md) | `float` | 两向量夹角(度) |
|
||
| [Reflect(inDirection, inNormal)](reflect.md) | `Vector3` | 反射 |
|
||
|
||
## 实例方法
|
||
|
||
| 方法 | 返回值 | 描述 |
|
||
|------|--------|------|
|
||
| [Magnitude()](magnitude.md) | `float` | 获取向量长度 |
|
||
| [SqrMagnitude()](sqrmagnitude.md) | `float` | 获取长度平方 |
|
||
| [Normalized()](normalized.md) | `Vector3` | 获取归一化副本 |
|
||
|
||
## 运算符
|
||
|
||
- 算术: `+`, `-`, `*` (scalar/memberwise), `/` (scalar/memberwise)
|
||
- 复合赋值: `+=`, `-=`, `*=`, `/=`
|
||
- 下标: `operator[]` (0=x, 1=y, 2=z)
|
||
- 比较: `==`, `!=`
|
||
|
||
## 与 Quaternion 的乘法
|
||
|
||
[Vector3 * Quaternion](quaternion-multiply.md) - 用四元数旋转向量
|
||
|
||
## 相关文档
|
||
|
||
- [Math 模块总览](../math.md) - 返回 Math 模块总览
|