Reporting Red-Blue Intersections between Two Sets of Connected Line Segments

We present a new line sweep algorithm, HeapSweep, for reporting bichromatic (‘purple’) intersections between a red and a blue family of line segments. If the union of the segments in each family is connected as a point set, HeapSweep reports all k purple intersections in time O((n+k)α(n) log 3n), where n is the total number of input segments and α(n) is the familiar inverse Ackermann function. To achieve these bounds, the algorithm keeps only partial information about the vertical ordering between segments of the same color, using a new data structure called a kinetic queue. In order to analyze the running time of HeapSweep, we also show that a simple polygon containing a set of n line segments can be partitioned into monotone regions by lines cutting these segments Θ(n log n) times.

[1]  Bernard Chazelle,et al.  Filtering search: A new approach to query-answering , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[2]  Kenneth L. Clarkson,et al.  Applications of random sampling in computational geometry, II , 1988, SCG '88.

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

[4]  Jeff Erickson,et al.  New lower bounds for Hopcroft's problem , 1995, SCG '95.

[5]  Jirí Matousek,et al.  Spanning trees with low crossing number , 1991, RAIRO Theor. Informatics Appl..

[6]  Pankaj K. Agarwal,et al.  Partitioning arrangements of lines II: Applications , 2011, Discret. Comput. Geom..

[7]  Herbert Edelsbrunner,et al.  Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms , 1988, SCG '88.

[8]  Jirí Matousek,et al.  Range searching with efficient hierarchical cuttings , 1992, SCG '92.

[9]  Jack Snoeyink,et al.  Counting and Reporting Red/Blue Segment Intersections , 1993, WADS.

[10]  Richard Cole,et al.  On k-hulls and related problems , 1984, STOC '84.

[11]  Leonidas J. Guibas,et al.  Intersecting Line Segments, Ray Shooting, and Other Applications of Geometric Partitioning Techniques , 1988, SWAT.

[12]  Harry G. Mairson,et al.  Reporting and Counting Intersections Between Two Sets of Line Segments , 1988 .

[13]  Micha Sharir,et al.  Red-Blue intersection detection algorithms, with applications to motion planning and collision detection , 1990, SCG '88.

[14]  Micha Sharir,et al.  Davenport-Schinzel sequences and their geometric applications , 1995, Handbook of Computational Geometry.

[15]  Mark de Berg,et al.  Cuttings and applications , 1995, Int. J. Comput. Geom. Appl..

[16]  Jirí Matousek,et al.  Constructing levels in arrangements and higher order Voronoi diagrams , 1994, SCG '94.

[17]  Micha Sharir,et al.  Nonlinearity of davenport—Schinzel sequences and of generalized path compression schemes , 1986, FOCS.

[18]  Leonidas J. Guibas,et al.  Computing a face in an arrangement of line segments , 1991, SODA '91.

[19]  Leonidas J. Guibas,et al.  Data structures for mobile data , 1997, SODA '97.

[20]  Ketan Mulmuley,et al.  On levels in arrangements and voronoi diagrams , 1991, Discret. Comput. Geom..

[21]  Jack Snoeyink,et al.  Counting and Reporting Red/Blue Segment Intersections , 1994, CVGIP Graph. Model. Image Process..

[22]  Thomas Ottmann,et al.  Algorithms for Reporting and Counting Geometric Intersections , 1979, IEEE Transactions on Computers.

[23]  L. Guibas,et al.  Polyhedral Tracings and their Convolution , 1996 .

[24]  Jan van Leeuwen,et al.  Maintenance of Configurations in the Plane , 1981, J. Comput. Syst. Sci..

[25]  Leonidas J. Guibas,et al.  Topologically sweeping an arrangement , 1986, STOC '86.