论文标题
基于Voronoi Tessellations的凸多边形的新型点包含测试
A Novel Point Inclusion Test for Convex Polygons Based on Voronoi Tessellations
论文作者
论文摘要
多边形的点纳入测试,换句话说,杂项(PIP)算法是许多与计算几何相关的科学领域的基本工具,并且已经对它们进行了很长时间的研究。 PIP算法获得多边形实体的直接或间接几何定义,并验证其对给定点的遏制。直接在几何实体上工作的PIP算法得出多边形边缘的线性边界定义。此外,几乎所有直接的测试方法都依赖于线方程的两点形式将空间分为半空间。 Voronoi Tessellations使用另一种方法进行半空间分区。代替线方程,使用发电机点之间的距离比较来完成相同的任务。 Voronoi镶嵌物由凸多边形组成,这些凸多边形在发电机点之间定义。因此,Voronoi Tessellations已成为我们开发PIP测试的新方法的灵感,该方法专门用于凸多边形。该方程是衍生出凸多边形到voronoi多边形必不可少的。作为参考,选择了非常标准的凸PIP测试算法,\ textit {offset}的符号{''为了概括比较,\ textIt {射线交叉}算法用作另一个参考。所有算法均以向量和矩阵操作实现,而无需任何分支。这使我们能够从基础线性代数库的CPU优化中受益。实验表明,我们提出的算法与参考算法具有可比的性能特征。此外,从几何表示和心理模型中都具有简单性。
The point inclusion tests for polygons, in other words the point-in-polygon (PIP) algorithms, are fundamental tools for many scientific fields related to computational geometry, and they have been studied for a long time. The PIP algorithms get direct or indirect geometric definition of a polygonal entity, and validate its containment of a given point. The PIP algorithms, which are working directly on the geometric entities, derive linear boundary definitions for the edges of the polygons. Moreover, almost all direct test methods rely on the two-point form of the line equation to partition the space into half-spaces. Voronoi tessellations use an alternate approach for half-space partitioning. Instead of line equation, distance comparison between generator points is used to accomplish the same task. Voronoi tessellations consist of convex polygons, which are defined between generator points. Therefore, Voronoi tessellations have become an inspiration for us to develop a new approach of the PIP testing, specialized for convex polygons. The equations, essential to the conversion of a convex polygon to a Voronoi polygon, are derived. As a reference, a very standard convex PIP testing algorithm, \textit{the sign of offset}, is selected for comparison. For generalization of the comparisons, \textit{the ray crossing} algorithm is used as another reference. All algorithms are implemented as vector and matrix operations without any branching. This enabled us to benefit from the CPU optimizations of the underlying linear algebra libraries. Experimentation showed that, our proposed algorithm can have comparable performance characteristics with the reference algorithms. Moreover, it has simplicity, both from a geometric representation and the mental model.