An experimental study of point location in planar arrangements in CGAL

We study the performance in practice of various point-location algorithms implemented in CGAL (the Computational Geometry Algorithms Library), including a newly devised landmarks algorithm. Among the other algorithms studied are: a naïve approach, a “walk along a line” strategy, and a trapezoidal decomposition-based search structure. The current implementation addresses general arrangements of planar curves, including arrangements of nonlinear segments (e.g., conic arcs) and allows for degenerate input (for example, more than two curves intersecting in a single point or overlapping curves). The algorithms use exact geometric computation and thus result in the correct point location. In our landmarks algorithm (a.k.a. jump & walk), special points, ““landmarks,” are chosen in a preprocessing stage, their place in the arrangement is found, and they are inserted into a data structure that enables efficient nearest-neighbor search. Given a query point, the nearest landmark is located and a “walk” strategy is applied from the landmark to the query point. We report on various experiments with arrangements composed of line segments or conic arcs. The results indicate that compared to the other algorithms tested, the landmarks approach is the most efficient, when the overall (amortized) cost of a query is taken into account, combining both preprocessing and query time. The simplicity of the algorithm enables an almost straightforward implementation and rather easy maintenance. The generic programming implementation allows versatility both in the selected type of landmarks and in the choice of the nearest-neighbor search structure. The end result is an efficient point-location algorithm that bypasses the alternative CGAL implementations in most practical aspects.

[1]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[2]  Michael Ian Shamos,et al.  Geometric complexity , 1975, STOC.

[3]  Richard J. Lipton,et al.  Multidimensional Searching Problems , 1976, SIAM J. Comput..

[4]  Franco P. Preparata,et al.  A New Approach to Planar Point Location , 1981, SIAM J. Comput..

[5]  David G. Kirkpatrick,et al.  Optimal Search in Planar Subdivisions , 1983, SIAM J. Comput..

[6]  Takao Asano,et al.  A new point-location algorithm and its practical efficiency: comparison with existing algorithms , 1984, TOGS.

[7]  Robert E. Tarjan,et al.  Planar point location using persistent search trees , 1986, CACM.

[8]  Leonidas J. Guibas,et al.  Optimal Point Location in a Monotone Subdivision , 1986, SIAM J. Comput..

[9]  Ketan Mulmuley A Fast Planar Partition Algorithm, I , 1990, J. Symb. Comput..

[10]  Raimund Seidel,et al.  A Simple and Fast Incremental Randomized Algorithm for Computing Trapezoidal Decompositions and for Triangulating Polygons , 1991, Comput. Geom..

[11]  Harald Niederreiter,et al.  Random number generation and Quasi-Monte Carlo methods , 1992, CBMS-NSF regional conference series in applied mathematics.

[12]  Sunil Arya,et al.  Approximate nearest neighbor queries in fixed dimensions , 1993, SODA '93.

[13]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[14]  Micha Sharir,et al.  Davenport-Schinzel sequences and their geometric applications , 1995, Handbook of Computational Geometry.

[15]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[16]  MehlhornKurt,et al.  LEDA: a platform for combinatorial and geometric computing , 1995 .

[17]  Ernst P. Mücke,et al.  Fast randomized point location without preprocessing in two- and three-dimensional Delaunay triangulations , 1996, SCG '96.

[18]  Nathan Myers,et al.  A new and useful template technique: “traits” , 1996 .

[19]  Gert Vegter,et al.  In handbook of discrete and computational geometry , 1997 .

[20]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[21]  Sunil Arya,et al.  An optimal algorithm for approximate nearest neighbor searching fixed dimensions , 1998, JACM.

[22]  Luc Devroye,et al.  A Note on Point Location in Delaunay Triangulations of Random Points , 1998, Algorithmica.

[23]  Matthew Harold Austern,et al.  Generic programming and the STL , 1998 .

[24]  Iddo Hanniel,et al.  The Design and Implementation of Planar Maps in CGAL , 1999, WAE.

[25]  Chee-Keng Yap,et al.  A core library for robust numeric and geometric computation , 1999, SCG '99.

[26]  Micha Sharir,et al.  Arrangements and Their Applications , 2000, Handbook of Computational Geometry.

[27]  Franz Aurenhammer,et al.  Handbook of Computational Geometry , 2000 .

[28]  Iddo Hanniel,et al.  The design and implementation of panar maps in CGAL , 2000, JEAL.

[29]  Stefan Schirra,et al.  Robustness and Precision Issues in Geometric Computation , 2000, Handbook of Computational Geometry.

[30]  Olivier Devillers,et al.  Walking in a triangulation , 2001, SCG '01.

[31]  P. Giblin Computational geometry: algorithms and applications (2nd edn.), by M. de Berg, M. van Kreveld, M. Overmars and O. Schwarzkopf. Pp. 367. £20.50. 2000. ISBN 3 540 65620 0 (Springer-Verlag). , 2001, The Mathematical Gazette.

[32]  Olivier Devillers,et al.  The Shuffling Buffer , 2001, Int. J. Comput. Geom. Appl..

[33]  Sunil Arya,et al.  A simple entropy-based algorithm for planar point location , 2001, SODA '01.

[34]  Sunil Arya,et al.  Entropy-preserving cuttings and space-efficient planar point location , 2001, SODA '01.

[35]  Olivier Devillers,et al.  The Delaunay Hierarchy , 2002, Int. J. Found. Comput. Sci..

[36]  Mariette Yvinec,et al.  Triangulations in CGAL , 2002, Comput. Geom..

[37]  Dan Halperin,et al.  Code Flexibility and Program Efficiency by Genericity: Improving Cgal's Arrangements , 2004, ESA.

[38]  Luc Devroye,et al.  Expected time analysis for Delaunay point location , 2004, Comput. Geom..

[39]  Steven M. LaValle,et al.  Planning algorithms , 2006 .

[40]  Dan Halperin,et al.  Advanced programming techniques applied to Cgal's arrangement package , 2007, Comput. Geom..

[41]  J. Matousek,et al.  Geometric Discrepancy: An Illustrated Guide , 2009 .

[42]  Raimund Seidel Reprint of: A simple and fast incremental randomized algorithm for computing trapezoidal decompositions and for triangulating polygons , 2010, Comput. Geom..