## An optimal algorithm for intersecting line segments in the plane (1992)

Venue: | J. ACM |

Citations: | 168 - 2 self |

### BibTeX

@ARTICLE{Chazelle92anoptimal,

author = {Bernard Chazelle and Herbert Edelsbrunner},

title = {An optimal algorithm for intersecting line segments in the plane},

journal = {J. ACM},

year = {1992},

volume = {39},

pages = {1--54}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract. Themain contribution ofthiswork is an O(nlogr ~ +k)-timeal gorithmfo rcomputingall k intersections among n line segments in the plane, This time complexity IS easdy shown to be optimal. Within thesame asymptotic cost, ouralgorithm canalso construct thesubdiwslon of theplancdefmed by the segments and compute which segment (if any) lies right above (or below) each intersection and each endpoint. The algorithm has been implemented and performs very well. The storage requirement is on the order of n + k in the worst case, but it is considerably lower in practice. To analyze the complexity of the algorithm, an amortization argument based on a new combinatorial theorem on line arrangements is used.

### Citations

706 |
Algorithms in Combinatorial Geometry
- Edelsbrunner
- 1987
(Show Context)
Citation Context ...called a hammock in [6]: It is a subdivision of the closed vertical strip between L and L’ created by various segments joining the two lines in question. A hammock is a little like a line arrangement =-=[10]-=-. For example, with our simplifying assumptions, all the vertices that are not on the boundary of the hammock have degree 4. that is, are adjacent to four edges. Unlike a line arrangement, however, th... |

396 | Applicationsof randomsampling in computational geometry
- Clarkson, Shor
- 1989
(Show Context)
Citation Context ...ep-line approach. Instead, it used a hierarchical subdivision of segments and the key notion of a hammock (more on this exotic terminology below). Finally, let us mention the recent works of Clarkson =-=[8]-=- and Mulmuley [19], who, independently, have given probabilistic intersection algorithms with optimal expected time. The main contribution of the present paper is an 0( ?Zlog n + k)-time deterministic... |

282 |
Algorithms for reporting and counting geometric intersections
- Bentley, Ottmann
- 1979
(Show Context)
Citation Context ...UNNER method can sometimes perform as poorly as the naive one, it remains a leading candidate because of its simplicity and its good behavior in practice. Nearly a decade ago now, Bentley and Ottmann =-=[3]-=- proposed an ingenious sweep-line algorithm that is quite efficient across the board. Unfortunately, the method is suboptimal; it is also considerably more difficult to implement than the solutions ab... |

280 | Simulation of simplicity: A technique to cope with degenerate cases in geometric algorithms
- Edelsbrunner, Mücke
- 1990
(Show Context)
Citation Context ...venerable tradition, however, we shall try not to worry too much about it. We feel only marginally guilty doing so because we can always fall back on the techniques exposed by Edelsbrunner and Miicke =-=[12]-=- to remove singularities in geometric computation. Imagine sweeping the plane by moving a vertical line L (called the sweepline) from left to right starting at the leftmost endpoint and stopping at th... |

217 |
bounds for algebraic computation trees
- Lower
- 1983
(Show Context)
Citation Context ...st 2 log m. Let us try a small example. The ranks of the coordinates as opposed to their values will determine the partitioning, so we can make our life simpler and choose Z, = i, and say, [x~, Yk] = =-=[2, 7]-=-. The idea is to find the highest value of k such that 2 is a multiple of 2 ~ and 2 + 2 k does not exceed 7. The values k = O, 1 pass the test, but k = 2 fails. This gives us the first canonical inter... |

158 |
A Polyhedron Representation for Computer Vision
- Baumgart
- 1975
(Show Context)
Citation Context ...ions such as walking around a region of the web in both directions, finding edges adjacent to a given one, etc. Many data structures are available for this purpose, for example. winged-edge (Baumgart =-=[1]-=-), DCIZ (Preparata and Shames [22]), quad-edge (Guibas and Stolfi [16]). All we need to know at this point is that the web-structure is edge-based. This means that its basic records are associated wit... |

133 | A functional approach to data structures and its use in multidimensional searching
- Chazelle
- 1988
(Show Context)
Citation Context ...st 2 log m. Let us try a small example. The ranks of the coordinates as opposed to their values will determine the partitioning, so we can make our life simpler and choose Z, = i, and say, [x~, Yk] = =-=[2, 7]-=-. The idea is to find the highest value of k such that 2 is a multiple of 2 ~ and 2 + 2 k does not exceed 7. The values k = O, 1 pass the test, but k = 2 fails. This gives us the first canonical inter... |

130 |
L.J.: Topologically sweeping an arrangement
- Edelsbrunner, Guibas
- 1989
(Show Context)
Citation Context ...he sweep tree are in one-to-one correspondence with the edges shown in bold. The knowledgeable reader might be tempted to draw an analogy with the notion of topological sweep (Edelsbrunner and Guibas =-=[11]-=-). But that would be a mistake. We need much greater flexibility than is afforded by topological sweep. Indeed, things could get much wilder than in Figure 25: Any bold edge could be replaced by any e... |

98 |
Multidimensional searching problems
- Dobkin, Lipton
- 1976
(Show Context)
Citation Context ...” We could claim without proof that @(n log n + k) is as fast as any intersection algorithm can get and probably get away with it. It is, indeed, not too difficult to see. Following Dobkin and Lipton =-=[9]-=- and Ben-Or [2], we model the complexity of an algorithm by an algebraic decision tree. Each step of the computation corresponds to the visit of a node in the tree. With each node is associated a poly... |

59 | Plane-sweep algorithms for intersecting geometric figures
- Preparata, Nievergelt
- 1982
(Show Context)
Citation Context ... space. A clever observation by Brown [5] succeeded in trimming down the space requirement to o(n). In the wake of this result, researchers began to look at particular cases. Nievergelt and Preparata =-=[21]-=- considered the problem of merging two planar convex subdivisions: They showed that the resulting figure could be computed in 0( n log n + k), where n and k are respectively the input and output sizes... |

36 |
An optimal worst case algorithm for reporting intersections of rectangles
- Bentley, Wood
- 1980
(Show Context)
Citation Context ...ighest value of k such that 2 is a multiple of 2 ~ and 2 + 2 k does not exceed 7. The values k = O, 1 pass the test, but k = 2 fails. This gives us the first canonical interval; namely, [2,2 + 2 ~] = =-=[2, 4]-=-. The initial interval [2, 7] is now reduced to [4, 7]. We pursue this game keeping k at its current value ( k = 1). The value k = 1 passes the test, but k = 2 fails. So, we add the canonical interval... |

21 |
Reporting and counting segment intersections
- Chazelle
- 1986
(Show Context)
Citation Context ... in 0( n log n + k) time. Also, Guibas and Seidel [15] showed that 0( n + k) time is sufficient to merge two convex subdivisions. Progress on the general intersection problem was achieved in Chazelle =-=[6]-=-, where an algorithm with a running time of 0( n log 2n /log log n + k) was described. Unlike most intersection algorithms, this one had the particularity of not following a sweep-line approach. Inste... |

8 |
Comments on 'Algorithms for reporting and counting geometric intersections
- Brown
- 1981
(Show Context)
Citation Context ...f the input consists of n segments and the output is a collection of k intersecting segment pairs, the algorithm requires 0( n log n + k log n) time and 0( n + k) space. A clever observation by Brown =-=[5]-=- succeeded in trimming down the space requirement to o(n). In the wake of this result, researchers began to look at particular cases. Nievergelt and Preparata [21] considered the problem of merging tw... |

1 |
On the information theoretic lower bound
- FREDMAN
- 1976
(Show Context)
Citation Context ...log n + k) time, it is a difficult open problem and choosing that route for improvement might be ill-fated. Indeed, the bad news is that the (open) problem of sorting X + Y in quadratic time (Fredman =-=[13]-=-) is a special case of our sorting problem. Rather, we give up once and for all the idea of sorting the intersections and redefine a schedule as the list of 2 n events of type endpoint. In this way, i... |

1 |
A dichromatic framework for balanced trees
- J, SEDRWICK
- 1978
(Show Context)
Citation Context ...visions need not be convex. More generally, a collection of n nonintersecting red segments can be merged together with n nonintersecting blue segments in 0( n log n + k) time. Also, Guibas and Seidel =-=[15]-=- showed that 0( n + k) time is sufficient to merge two convex subdivisions. Progress on the general intersection problem was achieved in Chazelle [6], where an algorithm with a running time of 0( n lo... |

1 |
Prlmitwes for the mampulatlon of general subdlwsions and the computation of Voronoi diagrams. ACA4TrarJs
- unknown authors
- 1985
(Show Context)
Citation Context ...inding edges adjacent to a given one, etc. Many data structures are available for this purpose, for example. winged-edge (Baumgart [1]), DCIZ (Preparata and Shames [22]), quad-edge (Guibas and Stolfi =-=[16]-=-). All we need to know at this point is that the web-structure is edge-based. This means that its basic records are associated with edges. Regions and vertices are not represented explicitly in the we... |

1 |
Sorting Jordan sequences m Iineartlme using level-linked search trees
- HOFFMAN, MEHLHORN, et al.
- 1987
(Show Context)
Citation Context ... to take advantage of uneven splits. To simplify the discussion, we break the problem into simpler components. Let us say a few words about a special type of finger trees developed by Hoffman, et al. =-=[17]-=-. A homogeneous finger search tree will be, for our purposes, a red-black tree augmented with special pointers. Each leaf stores a distinct key, and as is usual with search trees, a left-to-right scan... |

1 |
Afastplanar partition algorithm, 1
- MULMULEY
- 1988
(Show Context)
Citation Context ... Instead, it used a hierarchical subdivision of segments and the key notion of a hammock (more on this exotic terminology below). Finally, let us mention the recent works of Clarkson [8] and Mulmuley =-=[19]-=-, who, independently, have given probabilistic intersection algorithms with optimal expected time. The main contribution of the present paper is an 0( ?Zlog n + k)-time deterministic algorithm for the... |

1 |
Principles of ulteractive computer grap}ucs
- NEWMAN, SPROULL, et al.
- 1973
(Show Context)
Citation Context ... Introduction Intersecting a collection of line segments is one of the most fundamental tasks in computer graphics. It arises in windowing and clipping operations as well as in hidden-surface removal =-=[20]-=-. For scenes consisting of up to a few dozen vectors, the naive method, which consists of checking all pairs of segments for intersection, is often as good a solution as any. Of course, the approach q... |

1 |
Computational georrzetr.v-An introduction
- I
- 1985
(Show Context)
Citation Context ...ion of the web in both directions, finding edges adjacent to a given one, etc. Many data structures are available for this purpose, for example. winged-edge (Baumgart [1]), DCIZ (Preparata and Shames =-=[22]-=-), quad-edge (Guibas and Stolfi [16]). All we need to know at this point is that the web-structure is edge-based. This means that its basic records are associated with edges. Regions and vertices are ... |

1 |
Data structures and network algorithtns
- E
- 1983
(Show Context)
Citation Context ...nny of it, I spent another” Let us examine in detail the complexity of inserting a new segment. If we keep the left endpoints on the line L in some balanced dynamic search tree (say, a red–black tree =-=[14, 23, 24]-=-), it is easy to get started in 0( log n) time. To simplify our task, let us ignore for a while the thorny case of the last region traversed. Recall that it might be cut into three parts, instead of o... |