An optimal algorithm for intersecting line segments in the plane
Authors:
Open Access
- 2 January 1992
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 39 (1) , 1-54
Abstract
The main contribution of this work is an O ( n log n + k )-time algorithm for computing all k intersections among n line segments in the plane. This time complexity is easily shown to be optimal. Within the same asymptotic cost, our algorithm can also construct the subdivision of the plane defined 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.Keywords
This publication has 19 references indexed in Scilit:
- A Functional Approach to Data Structures and Its Use in Multidimensional SearchingSIAM Journal on Computing, 1988
- Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms1988
- Reporting and counting segment intersectionsJournal of Computer and System Sciences, 1986
- Computing convolutions by reciprocal search1986
- Sorting jordan sequences in linear time using level-linked search treesInformation and Control, 1986
- Primitives for the manipulation of general subdivisions and the computation of VoronoiACM Transactions on Graphics, 1985
- Lower bounds for algebraic computation trees1983
- Plane-sweep algorithms for intersecting geometric figuresCommunications of the ACM, 1982
- Multidimensional Searching ProblemsSIAM Journal on Computing, 1976
- How good is the information theory bound in sorting?Theoretical Computer Science, 1976