From bd530dc8b1ed933ed9fb7c4f1779567a7eb80137 Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Thu, 19 Mar 2026 00:52:04 +0800 Subject: [PATCH] Fix Box documentation to accurately reflect AABB vs OBB behavior - Updated box.md to clarify that Box uses OBB semantics for Contains but currently uses AABB for Intersects(Box) - Updated intersects-box.md to document that it uses AABB algorithm instead of SAT, since the current implementation ignores transform - Added notes explaining the current limitations of the Box implementation --- docs/api/math/box/box.md | 8 +++++--- docs/api/math/box/intersects-box.md | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/api/math/box/box.md b/docs/api/math/box/box.md index a19d049c..79dd1718 100644 --- a/docs/api/math/box/box.md +++ b/docs/api/math/box/box.md @@ -1,6 +1,6 @@ # Box -带变换的有向包围盒 (OBB) 结构体。 +带变换的包围盒结构体(支持 OBB 语义,取决于方法)。 **头文件:** `#include ` @@ -16,6 +16,8 @@ struct Box { }; ``` +**注意:** `Contains` 方法会使用 `transform` 进行真正的 OBB 检测。`Intersects(Box)` 目前使用 AABB 简化算法,未考虑旋转。 + ## 构造函数 - `Box()` - 默认构造 @@ -27,9 +29,9 @@ struct Box { |------|--------|------| | [GetMin()](getmin.md) | `Vector3` | 局部空间最小点 | | [GetMax()](getmax.md) | `Vector3` | 局部空间最大点 | -| [Contains(point)](contains.md) | `bool` | 点是否在盒内 | +| [Contains(point)](contains.md) | `bool` | 点是否在盒内(使用 transform) | | [Intersects(Sphere)](intersects.md) | `bool` | 与球体相交 | -| [Intersects(Box)](intersects-box.md) | `bool` | 与另一个 OBB 相交 | +| [Intersects(Box)](intersects-box.md) | `bool` | 与另一个盒相交(AABB 检测) | | [Intersects(Ray, t)](intersects-ray.md) | `bool` | 与射线相交 | ## 相关文档 diff --git a/docs/api/math/box/intersects-box.md b/docs/api/math/box/intersects-box.md index 9fea4a61..4bf9c5e0 100644 --- a/docs/api/math/box/intersects-box.md +++ b/docs/api/math/box/intersects-box.md @@ -4,13 +4,15 @@ bool Intersects(const Box& other) const ``` -检测两个 OBB 是否相交(使用 SAT 算法)。 +检测两个盒是否相交(使用 AABB 简化算法,暂未考虑 transform 旋转)。 **参数:** -- `other` - 另一个 OBB +- `other` - 另一个盒 **返回:** `bool` - true 表示相交 +**注意:** 当前实现为 AABB 检测,未使用 transform 进行真正的 OBB-SAT 检测。 + **复杂度:** O(1) **示例:**