Skip to Main content Skip to Navigation

Elementary Algorithms for Reporting Intersections of Curve Segments

Jean-Daniel Boissonnat 1 Antoine Vigneron
1 PRISME - Geometry, Algorithms and Robotics
CRISAM - Inria Sophia Antipolis - Méditerranée
Abstract : We propose several algorithms to report the k intersecting pairs among a set of n curve segments. Apart from the intersection predicate, our algorithms only use two simple predicates : the predicate that compares the coordinates of two points and the predicate that says if a point is below, on, or above a segment. In particular, the predicates we use do not allow to count the number of intersection points nor to sort them, and the time complexity of our algorithms depends on the number of intersectin- g pairs, not on the number of intersection points (differently from the other non trivial algorithms). We present an algorithm for the red-blue variant of the problem where we have a set of blue segments and a set of red segments so that no two segments of the same set intersect. The time complexity is O((n+k)\log n). This algorithm is then used to solve the general case in O(n\sqrtk\log n) time. In the case of pseudo-segments (i.e. segments that intersect in at most one point) we propose a better algorithm whose time complexity is O((k+n)\log n+ n\sqrt k). All our time complexity results are a log factor from optimal.
Document type :
Complete list of metadata
Contributor : Rapport de Recherche Inria <>
Submitted on : Wednesday, May 24, 2006 - 11:03:59 AM
Last modification on : Thursday, May 28, 2020 - 10:48:03 PM
Long-term archiving on: : Sunday, April 4, 2010 - 11:24:24 PM


  • HAL Id : inria-00072833, version 1



Jean-Daniel Boissonnat, Antoine Vigneron. Elementary Algorithms for Reporting Intersections of Curve Segments. RR-3825, INRIA. 1999. ⟨inria-00072833⟩



Record views


Files downloads