|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
E. Anderson , Z. Bai , C. Bischof , L. S. Blackford , J. Demmel , Jack J. Dongarra , J. Du Croz , S. Hammarling , A. Greenbaum , A. McKenney , D. Sorensen, LAPACK Users' guide (third ed.), Society for Industrial and Applied Mathematics, Philadelphia, PA, 1999
|
| |
2
|
Behnke, Bachmann, Fladt, and Kunle. Fundamentals of Mathematics, Volume II: Geometry. MIT Press, Cambridge, MA, 1974.
|
| |
3
|
Eric Berberich , Arno Eigenwillig , Michael Hemmer , Susan Hert , Kurt Mehlhorn , Elmar Schömer, A Computational Basis for Conic Arcs and Boolean Operations on Conic Polygons, Proceedings of the 10th Annual European Symposium on Algorithms, p.174-186, September 17-21, 2002
|
 |
4
|
Arno Eigenwillig , Lutz Kettner , Elmar Schömer , Nicola Wolpert, Complete, exact, and efficient computations with cubic curves, Proceedings of the twentieth annual symposium on Computational geometry, June 08-11, 2004, Brooklyn, New York, USA
[doi> 10.1145/997817.997879]
|
 |
5
|
|
 |
6
|
|
| |
7
|
J. Keyser, T. Culver, M. Foskey, S. Krishnan, and D. Manocha. ESOLID—a system for exact boundary evaluation. Computer-Aided Design, 36(2):175--193, 2004.
|
| |
8
|
J. Keyser, T. Culver, D. Manocha, and S. Krishnan. Efficient and exact manipulation of algebraic points and curves. Computer Aided Design, 32:649--662, 2000.
|
| |
9
|
|
| |
10
|
V. Milenkovic and K. Daniels. Translational polygon containment and minimal enclosure using mathematical programming. International Transactions in Operational Research, 6:525--554, 1999.
|
| |
11
|
|
| |
12
|
V. J. Milenkovic. Shortest path geometric rounding. Algorithmica, 27(1):57--86, 2000.
|
| |
13
|
V. J. Milenkovic. Densest translational lattice packing of non-convex polygons. Computational Geometry: Theory and Applications, 22:205--222, 2002.
|
| |
14
|
B. Mourrain, J.-P. Técourt, and M. Teillaud. Sweeping an arrangement of quadrics in 3d. In Proceeding of the 19th European Workshop on Computational Geometry, pages 31--34, 2003.
|
| |
15
|
|
| |
16
|
H. Stetter and W. Auzinger. An elimination algorithm for the computation of all zeros of a system of multivariate polynomial equations. In Conference in Numerical Analysis, volume 86 of International Series on Numerical Mathematics, pages 11--30. Birkhauser, 1988.
|
| |
17
|
|
| |
18
|
N. Wolpert. Jacobi curves: computing the exact topology of arrangements of non-singular algebraic curves. In Proceedings of the 11th ACM Symposium on Algorithms, pages 532--543, 2003.
|
| |
19
|
|
|