Files
XCEngine/docs/api/math/vector3/vector3.md
ssdfasd dc850d7739 docs: 重构 API 文档结构并修正源码准确性
- 重组文档目录结构: 每个模块的概述页移动到模块子目录
- 重命名 index.md 为 main.md
- 修正所有模块文档中的错误:
  - math: FromEuler→FromEulerAngles, TransformDirection 包含缩放, Box 是 OBB, Color::ToRGBA 格式
  - containers: 新增 operator==/!= 文档, 补充 std::hash DJB 算法细节
  - core: 修复 types 链接错误
  - debug: LogLevelToString 返回大写, timestamp 是秒, Profiler 空实现标注, Windows API vs ANSI
  - memory: 修复头文件路径, malloc vs operator new, 新增方法文档
  - resources: 修复 Shader/Texture 链接错误
  - threading: TaskSystem::Wait 空实现标注, ReadWriteLock 重入描述, LambdaTask 链接
- 验证: fix_links.py 确认 0 个断裂引用
2026-03-19 00:22:30 +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 模块总览