docs: update math API docs

This commit is contained in:
2026-03-20 02:35:15 +08:00
parent e165dbea1c
commit c5b17239ca
243 changed files with 5307 additions and 1327 deletions

View File

@@ -1,10 +1,16 @@
# AABB / OBB
轴对齐包围盒 (AABB) 和有向包围盒 (OBB)。
**命名空间**: `XCEngine::Math`
**头文件:** `#include <XCEngine/Math/AABB.h>`
**类型**: `struct`
**命名空间:** `XCEngine::Math`
**头文件**: `XCEngine/Math/AABB.h`
**描述**: 轴对齐包围盒 (AABB) 和有向包围盒 (OBB)
## 概述
`AABB` 在 Math 库中通过 `Bounds` 类型实现。OBB 是可以任意方向旋转的包围盒。
## AABB
@@ -14,30 +20,28 @@
OBB 是可以任意方向旋转的包围盒。
```cpp
struct OBB {
Vector3 center;
Vector3 extents;
Matrix4 transform;
};
```
## 结构体成员
### 构造函数
| 成员 | 类型 | 描述 |
|------|------|------|
| `center` | `Vector3` | OBB 中心点 |
| `extents` | `Vector3` | 从中心到每个面的距离 |
| `transform` | `Matrix4` | 变换矩阵 |
- `OBB()` - 默认构造
- `OBB(const Vector3& center, const Vector3& extents)` - 从中心和半长构造
## 公共方法
### 实例方法
| 方法 | 返回值 | 描述 |
|------|--------|------|
| [GetAxis(index)](getaxis.md) | `Vector3` | 获取局部轴index 必须是 0、1 或 2 |
| [GetMin()](../box/getmin.md) | `Vector3` | 局部空间最小点 |
| [GetMax()](../box/getmax.md) | `Vector3` | 局部空间最大点 |
| [Contains(point)](../box/contains.md) | `bool` | 点是否在 OBB 内 |
| [Intersects(OBB)](intersects-obb.md) | `bool` | 与另一个 OBB 相交 |
| [Intersects(Sphere)](intersects-sphere.md) | `bool` | 与球体相交 |
| 方法 | 描述 |
|------|------|
| `OBB()` | 默认构造 |
| `OBB(const Vector3& center, const Vector3& extents)` | 从中心和半长构造 |
| [GetAxis](obb-getaxis.md) | 获取局部轴 |
| [GetMin](obb-getmin.md) | 局部空间最小点 |
| [GetMax](obb-getmax.md) | 局部空间最大点 |
| [Contains](obb-contains.md) | 点是否在 OBB 内 |
| [Intersects(OBB)](intersects-obb.md) | 与另一个 OBB 相交 |
| [Intersects(Sphere)](intersects-sphere.md) | 与球体相交 |
## 相关文档
- [Math 模块总览](../math.md) - 返回 Math 模块总览
- [Bounds](bounds/bounds.md) - 轴对齐包围盒
- [Math 模块总览](../math.md)