Topologically sweeping an arrangement

Abstract Sweeping a collection of figures in the Euclidean plane with a straight line is one of the novel algorithmic paradigms that have emerged in the field of computational geometry. In this paper we demonstrate the advantages of sweeping with a topological line that is not necessarily straight. We show how an arrangement of n lines in the plane can be swept over in O ( n 2 ) time and O(n) space by a such a line. In the process each element, i.e., vertex, edge, or region, is visited once in a consistent ordering. Our technique makes use of novel data structures which exhibit interesting amortized complexity behavior; the result is an algorithm that improves upon all its predecessors either in the space or the time bounds, as well as being eminently practical. Numerous applications of the technique to problems in computational geometry are given—many through the use of duality transforms. Examples include solving visibility problems, detecting degeneracies in configurations, computing the extremal shadows of convex polytopes, and others. Even though our basic technique solves a planar problem, its applications include several problems in higher dimensions.

[1]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

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

[3]  Michael L. Fredman,et al.  How Good is the Information Theory Bound in Sorting? , 1976, Theor. Comput. Sci..

[4]  Heiko Harborth Konvexe Fünfecke in ebenen Punktmengen. , 1978 .

[5]  D. T. Lee,et al.  Euclidean shortest paths in the presence of rectilinear barriers , 1984, Networks.

[6]  Raimund Seidel,et al.  Finding the optimal shadows of a convex polytope , 1985, SCG '85.

[7]  Raimund Seidel,et al.  Constructing arrangements of lines and hyperplanes with applications , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[8]  Leonidas J. Guibas,et al.  Visibility-polygon search and euclidean shortest paths , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[9]  Herbert Edelsbrunner,et al.  Algorithms in Combinatorial Geometry , 1987, EATCS Monographs in Theoretical Computer Science.

[10]  Herbert Edelsbrunner,et al.  Constructing Belts in Two-Dimensional Arrangements with Applications , 1986, SIAM J. Comput..

[11]  David Avis,et al.  Computing the largest empty convex subset of a set of points , 1985, SCG '85.

[12]  J. Horton Sets with No Empty Convex 7-Gons , 1983, Canadian Mathematical Bulletin.

[13]  B. Grünbaum Arrangements and Spreads , 1972 .

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

[15]  Emo WELZL,et al.  Constructing the Visibility Graph for n-Line Segments in O(n²) Time , 1985, Inf. Process. Lett..

[16]  Jon Louis Bentley,et al.  Decomposable Searching Problems I: Static-to-Dynamic Transformation , 1980, J. Algorithms.

[17]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[18]  Leonidas J. Guibas,et al.  The power of geometric duality , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[19]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[20]  Franco P. Preparata,et al.  Plane-sweep algorithms for intersecting geometric figures , 1982, CACM.

[21]  Der-Tsai Lee Proximity and reachability in the plane. , 1978 .

[22]  B. Grünbaum Arrangements of lines , 1972 .

[23]  R. Tarjan Amortized Computational Complexity , 1985 .

[24]  Leonidas J. Guibas,et al.  Optimal Point Location in a Monotone Subdivision , 1986, SIAM J. Comput..

[25]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[26]  Donald E. Knuth,et al.  The art of computer programming: V.1.: Fundamental algorithms , 1997 .

[27]  Raimund Seidel,et al.  Constructing Arrangements of Lines and Hyperplanes with Applications , 1986, SIAM J. Comput..