Most of the existing point-to-mesh distance query solvers, such as Proximity Query Package (PQP), Embree and Fast Closest Point Query (FCPW), are based on bounding volume hierarchy (BVH). The hierarchical organizational structure enables one to eliminate the vast majority of triangles that do not help find the closest point. In this paper, we develop a totally different algorithmic paradigm, named P2M, to speed up point-to-mesh distance queries. Our original intention is to precompute a KD tree (KDT) of mesh vertices to approximately encode the geometry of a mesh surface containing vertices, edges and faces. However, it is very likely that the closest primitive to the query point is an edge e (resp., a face f), but the KDT reports a mesh vertex \u{psion} instead. We call \u{psion} an interceptor of e (resp., f). The main contribution of this paper is to invent a simple yet effective interception inspection rule and an efficient flooding interception inspection algorithm for quickly finding out all the interception pairs. Once the KDT and the interception table are precomputed, the query stage proceeds by first searching the KDT and then looking up the interception table to retrieve the closest geometric primitive. Statistics show that our query algorithm runs many times faster than the state-of-the-art solvers.
翻译:现有的点到网格距离查询求解器,如Proximity Query Package (PQP)、Embree和Fast Closest Point Query (FCPW),大多基于包围体层次结构(BVH)。这种分层组织结构能够剔除绝大多数无助于寻找最近点的三角形。本文提出一种完全不同的算法范式,命名为P2M,以加速点到网格距离查询。我们的初衷是预先计算网格顶点的KD树(KDT),以近似编码包含顶点、边和面的网格表面几何结构。然而,查询点最近的图元很可能是边e(或面f),但KDT却报告网格顶点ψ。我们将ψ称为e(或f)的拦截器。本文的主要贡献在于提出一种简单而有效的拦截检测规则,以及一种高效的洪泛拦截检测算法,用于快速发现所有拦截对。一旦预先计算出KDT和拦截表,查询阶段将首先搜索KDT,然后查表拦截表以检索最近的几何图元。统计表明,我们的查询算法运行速度比现有最先进的求解器快数倍。