Handbook of discrete and computational geometry
Rotational polygon containment and minimum enclosure using only robust 2D constructions
Computational Geometry: Theory and Applications - Special issue on applications and challenges
LAPACK Users' guide (third ed.)
LAPACK Users' guide (third ed.)
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
Computing a 3-dimensional cell in an arrangement of quadrics: exactly and actually!
SCG '01 Proceedings of the seventeenth annual symposium on Computational geometry
The design and implementation of panar maps in CGAL
Journal of Experimental Algorithmics (JEA)
High-Level Filtering for Arrangements of Conic Arcs
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
A Computational Basis for Conic Arcs and Boolean Operations on Conic Polygons
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
Complete, exact, and efficient computations with cubic curves
SCG '04 Proceedings of the twentieth annual symposium on Computational geometry
An exact and efficient approach for computing a cell in an arrangement of quadrics
Computational Geometry: Theory and Applications - Special issue on robust geometric algorithms and their implementations
Densest translational lattice packing of non-convex polygons
Computational Geometry: Theory and Applications
Snap rounding of Bézier curves
SCG '07 Proceedings of the twenty-third annual symposium on Computational geometry
A package for exact kinetic data structures and sweepline algorithms
Computational Geometry: Theory and Applications
Out-of-order event processing in kinetic data structures
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
Topology and arrangement computation of semi-algebraic planar curves
Computer Aided Geometric Design
Hi-index | 0.00 |
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.