AABB 树构建与最近邻查询加速
提供 MR::AABBTree
(以及专门针对顶点集的 AABBTreePoints
)等类来组织空间索引。构建时,算法将所有三角面(或点)按空间划分存入一棵轴对齐包围盒树,每个节点包含若干三角形的包围盒信息。对于点到网格投影或最近点查询,可先通过 AABB 树快速排除绝大多数不相关的三角形,然后仅对候选节点中的三角形精细计算距离,从而将查询复杂度由线性降至近似对数级别。换言之,调用投影函数(如 MR::projectPoint
或 MR::onSurfaceClosestPoint
)时,底层会先构造或使用已有的 MR::AABBTree
,然后调用其搜索接口来加速最近邻计算,这显著提升了点到面或点到点查找的效率(源码相关实现位于 MRMeshIntersect.h
、MRMeshDistance.h
等文件中)。