Computing planar Voronoi diagrams in double precision: a further example of degree-driven algorithm design

Geometric algorithms use numerical computations to perform geometric tests, so correct algorithms may produce erroneous results if insufficient arithmetic precision is available. Liotta, Preparata, and Tamassia, in 1999, suggested that algorithm design, which traditionally considers running time and memory space, could also consider precision as a resource. They demonstrated that the Voronoi diagram of n sites on a U × U grid could be rounded to answer nearest neighbor queries on the same grid using only double precision. They still had to compute the Voronoi diagram before rounding, which requires the quadruple-precision InCircle test. We develop a "degree-2 Voronoi diagram" that can be computed using only double precision by a randomized incremental construction in O(n log n log U) expected time and O(n) expected space. Our diagram also answers nearest neighbor queries, even though it doesn't even use sufficient precision to determine a Delaunay triangulation.

[1]  Calvin R. Maurer,et al.  A Linear Time Algorithm for Computing Exact Euclidean Distance Transforms of Binary Images in Arbitrary Dimensions , 2003, IEEE Trans. Pattern Anal. Mach. Intell..

[2]  Rolf Klein,et al.  Concrete and Abstract Voronoi Diagrams , 1990, Lecture Notes in Computer Science.

[3]  Tiow Seng Tan,et al.  Parallel Banding Algorithm to compute exact distance transform with the GPU , 2010, I3D '10.

[4]  Jack Snoeyink,et al.  On the bit complexity of minimum link paths: superquadratic algorithms for problems solvable in linear time , 1996, SCG '96.

[5]  M. Iri,et al.  Construction of the Voronoi diagram for 'one million' generators in single-precision arithmetic , 1992, Proc. IEEE.

[6]  Giuseppe Liotta,et al.  Robust proximity queries: an illustration of degree-driven algorithm design , 1997, SCG '97.

[7]  Leonidas J. Guibas,et al.  Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams , 1983, STOC.

[8]  Douglas M. Priest On properties of floating point arithmetics: numerical stability and the cost of accurate computations , 1992 .

[9]  Steven Fortune,et al.  A sweepline algorithm for Voronoi diagrams , 1986, SCG '86.

[10]  Kurt Mehlhorn,et al.  Exact geometric computation , 2001, HERCMA.

[11]  Timothy M. Chan Faster core-set constructions and data stream algorithms in fixed dimensions , 2004, SCG '04.

[12]  Chee-Keng Yap,et al.  Towards Exact Geometric Computation , 1997, Comput. Geom..

[13]  Kurt Mehlhorn,et al.  Exact geometric computation in LEDA , 1995, SCG '95.

[14]  Jonathan Richard Shewchuk,et al.  Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates , 1997, Discret. Comput. Geom..

[15]  Christopher J. Van Wyk,et al.  Static analysis yields efficient exact integer arithmetic for computational geometry , 1996, TOGS.

[16]  William Kahan,et al.  Pracniques: further remarks on reducing truncation errors , 1965, CACM.

[17]  Jack Snoeyink,et al.  Intersecting Red and Blue Line Segments in Optimal Time and Precision , 2000, JCDCG.

[18]  Michael Kerber,et al.  ROBUST GEOMETRIC COMPUTATION , 2012 .

[19]  Jean-Daniel Boissonnat,et al.  Robust Plane Sweep for Intersecting Segments , 2000, SIAM J. Comput..

[20]  Jean-Daniel Boissonnat,et al.  Efficient algorithms for line and curve segment intersection using restricted predicates , 1999, SCG '99.

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

[22]  David L. Millman,et al.  Computing the Implicit Voronoi Diagram in Triple Precision , 2009, WADS.

[23]  Mark de Berg,et al.  Computational Geometry: Algorithms and Applications, Second Edition , 2000 .

[24]  Sylvain Pion,et al.  Interval arithmetic yields efficient dynamic filters for computational geometry , 1998, SCG '98.