An approximate arrangement algorithm for semi-algebraic curves

We present an arrangement algorithm for plane curves. The inputs are (1) continuous, compact, x-monotone curves and (2) a module that computes approximate crossing points of these curves. There are no general position requirements. We assume that the crossing module output is ε accurate, but allow it to be inconsistent, meaning that three curves are in cyclic y order over an x interval. The curves are swept with a vertical line using the crossing module to compute and process sweep events. When the sweep detects an inconsistency, the algorithm breaks the cycle to obtain a linear order. We prove correctness in a realistic computational model of the crossing module. The number of vertices in the output is V=2n+N+min(3kn,n2/2) and the running time is O(V log n) for n curves with N crossings and k inconsistencies. The output arrangement is realizable by curves that are O(ε+kn&3949;) close to the input curves, except in knε neighborhoods of the curve tails. The accuracy can be guaranteed everywhere by adding tiny horizontal extensions to the segment tails, but without the running time bound. An implementation is described for semi-algebraic curves based on a numerical equation solver. Experiments show that the extensions only slightly increase the running time and have little effect on the error. On challenging data sets, the number of inconsistencies is at most 3N, the output accuracy is close to ε, and the running time is close to that of the standard, non-robust floating point sweep.

[1]  David A. Cox,et al.  Ideals, Varieties, and Algorithms , 1997 .

[2]  Dan Halperin,et al.  Controlled perturbation for arrangements of circles , 2003, SCG '03.

[3]  Nicola Wolpert,et al.  Jacobi Curves : Computing the Exact Topology of Arrangements of Non-Singular Algebraic Curves , 2000 .

[4]  Kurt Mehlhorn,et al.  A Computational Basis for Conic Arcs and Boolean Operations on Conic Polygons , 2002, ESA.

[5]  Elmar Schömer,et al.  Computing a 3-dimensional cell in an arrangement of quadrics: exactly and actually! , 2001, SCG '01.

[6]  V. Milenkovic,et al.  Translational polygon containment and minimal enclosure using mathematical programming , 1999 .

[7]  Kurt Mehlhorn,et al.  The LEDA Platform of Combinatorial and Geometric Computing , 1997, ICALP.

[8]  James Demmel,et al.  LAPACK Users' Guide, Third Edition , 1999, Software, Environments and Tools.

[9]  Joseph O'Rourke,et al.  Handbook of Discrete and Computational Geometry, Second Edition , 1997 .

[10]  J. Milenkovi Shortest Path Geometric Rounding , 2000 .

[11]  H. M. Möller,et al.  Multivariate polynomial equations with multiple zeros solved by matrix eigenproblems , 1995 .

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

[13]  Steven Fortune,et al.  Robustness Issues in Geometric Algorithms , 1996, WACG.

[14]  Elmar Schömer,et al.  Complete, exact, and efficient computations with cubic curves , 2004, SCG '04.

[15]  Chee-Keng Yap,et al.  Robust Geometric Computation , 2016, Encyclopedia of Algorithms.

[16]  William H. Press,et al.  Numerical recipes in C , 2002 .

[17]  Dinesh Manocha,et al.  Efficient and exact manipulation of algebraic points and curves , 2000, Comput. Aided Des..

[18]  Victor J. Milenkovic,et al.  Rotational polygon containment and minimum enclosure using only robust 2D constructions , 1999, Comput. Geom..

[19]  Dinesh Manocha,et al.  ESOLID---A System for Exact Boundary Evaluation , 2002, SMA '02.

[20]  Elmar Schömer,et al.  An exact and efficient approach for computing a cell in an arrangement of quadrics , 2004, Comput. Geom..

[21]  Ron Wein,et al.  High-Level Filtering for Arrangements of Conic Arcs , 2002, ESA.

[22]  Steven Fortune,et al.  An Iterated Eigenvalue Algorithm for Approximating Roots of Univariate Polynomials , 2002, J. Symb. Comput..

[23]  Victor J. Milenkovic,et al.  Densest translational lattice packing of non-convex polygons , 2002, Comput. Geom..

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

[25]  Bernard Mourrain,et al.  Resultant-Based Methods for Plane Curves Intersection Problems , 2005, CASC.

[26]  H. Stetter,et al.  An Elimination Algorithm for the Computation of All Zeros of a System of Multivariate Polynomial Equations , 1988 .

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