Location of Repository

Given a set S of n line segments in three-dimensional space, finding all the lines that simultaneously intersect at least of line segments in S is a fundamental problem that arises in a variety of domains including computer graphics, computer vision, robotics and automation, to mention a few. We refer to this problem as the lines-through-segments problem, or LTS for short. We present an efficient output-sensitive algorithm and its exact implementation to solve the LTS problem. The algorithm properly handles all degenerate cases. For example, a line segment may degenerate to a point, several segments may be coplanar, parallel, concurrent, collinear, or they can even overlap. We provide a detailed analysis of all the (degenerate) cases that can arise. To the best of our knowledge, this is the first algorithm (and implementation) for the LTS problem that is (i) output sensitive and (ii) handles all degenerate cases. The algorithm runs in O((n 3 +I)logn) time, where I is the output size, and requires O(nlogn+J) working space, where J is the maximum number of output elements that intersect two fixed line segments; I and J are bounded by O(n 4) and O(n 2), respectively. We use Cgal arrangements and in particular its support for two-dimensional arrangements in the plane and on the sphere in our implementation. The efficiency of our implementation stems in part from careful crafting of the algebraic tools needed in the computation. We also report on the performance of our algorithm and its implementation compared to others. The source code of the LTS program as well as the input examples for the experiments can be obtaine

Year: 2013

OAI identifier:
oai:CiteSeerX.psu:10.1.1.370.8225

Provided by:
CiteSeerX

Download PDF: