Files
XCSDD/docs/api/math/vector3/vector3.md
ssdfasd 58a83f445a fix: improve doc link navigation and tree display
- 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
2026-03-19 12:44:08 +08:00

70 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 模块总览