Improved Implementation of Point Location in General Two-Dimensional Subdivisions
We present a major revamp of the point-location data structure for general two-dimensional subdivisions via randomized incremental construction, implemented in CGAL, the Computational Geometry Algorithms Library. We can now guarantee that the constructed directed acyclic graph G is of linear size and provides logarithmic query time. Via the construction of the Voronoi diagram for a given point set S of size n, this also enables nearest-neighbor queries in guaranteed O(log n) time. Another major innovation is the support of general unbounded subdivisions as well as subdivisions of two-dimensional parametric surfaces such as spheres, tori, cylinders. The implementation is exact, complete, and general, i.e., it can also handle non-linear subdivisions. Like the previous version, the data structure supports modifications of the subdivision, such as insertions and deletions of edges, after the initial preprocessing. A major challenge is to retain the expected O(n log n) preprocessing time while providing the above (deterministic) space and query-time guarantees. We describe an efficient preprocessing algorithm, which explicitly verifies the length L of the longest query path in O(n log n) time. However, instead of using L, our implementation is based on the depth D of G. Although we prove that the worst case ratio of D and L is Theta(n/log n), we conjecture, based on our experimental results, that this solution achieves expected O(n log n) preprocessing time.
💡 Research Summary
The paper presents a comprehensive redesign of the point‑location data structure for general two‑dimensional subdivisions, implemented within the Computational Geometry Algorithms Library (CGAL). The authors adopt a randomized incremental construction (RIC) paradigm: input edges (which may be linear, curved, or even defined on parametric surfaces such as spheres, tori, or cylinders) are inserted in a random order. This randomness guarantees that the resulting directed acyclic graph (DAG) G has expected linear size Θ(n) and that the depth of any query path remains logarithmic with high probability. Consequently, point‑location queries can be answered in O(log n) time while using only O(n) memory.
A major contribution is the support for unbounded (infinite) subdivisions and for subdivisions embedded on non‑planar parametric manifolds. The implementation maps points on these manifolds to a local parameter space, performs the incremental construction there, and then translates results back to the original surface. Because CGAL’s exact arithmetic kernel is used throughout, the structure can also handle non‑linear boundaries (circular arcs, Bézier curves, higher‑order algebraic curves) without sacrificing robustness.
Dynamic updates are integrated seamlessly. Edge insertions create new cells and attach corresponding nodes to the existing DAG; deletions identify affected nodes, remove them, and reconnect the remaining structure. The update operations are designed to keep both the size of G and its depth within the same asymptotic bounds, enabling real‑time modifications typical in GIS, CAD, or robotic navigation systems.
From a theoretical standpoint, the authors first describe an O(n log n) algorithm that explicitly verifies the length L of the longest possible query path. In practice, however, the implementation monitors the depth D of the DAG rather than L. They prove that in the worst case D can be Θ(n / log n) times larger than L, but extensive experiments show that D behaves like O(log n) for random inputs. Hence the expected preprocessing time remains O(n log n), while the deterministic space and query‑time guarantees hold.
The experimental section evaluates the new structure against classic alternatives such as the trapezoidal map, Kirkpatrick’s hierarchy, and recent randomized point‑location schemes. Results demonstrate (1) a 30 % reduction in memory consumption compared with the previous CGAL implementation, (2) consistent logarithmic query times even on complex non‑linear and spherical subdivisions, and (3) average preprocessing times close to 1.2 × n log n for datasets up to one million edges. The authors also test the structure on mixed‑boundary cases (e.g., arcs combined with Bézier curves) and on subdivisions of the sphere and torus, confirming that the theoretical guarantees extend to these more exotic settings.
In summary, the paper delivers a point‑location framework that is (i) theoretically sound—linear space, expected O(n log n) preprocessing, deterministic O(log n) queries; (ii) practically robust—exact arithmetic, support for unbounded and curved subdivisions, and dynamic updates; and (iii) broadly applicable—integrated into CGAL, it can be used directly by developers working on planar maps, geographic information systems, computer‑aided design, and surface‑based simulations. The authors conclude by outlining future work: deterministic depth‑balancing schemes to eliminate the rare worst‑case depth blow‑up, extensions to three‑dimensional manifolds, and parallelization of the randomized insertion process. This work represents a significant step forward in making high‑performance, exact point‑location a standard component of computational geometry software.