Arrangements of lines in 3-space: a data structure with applications
SCG '88 Proceedings of the fourth annual symposium on Computational geometry
Two-handed assembly sequencing
International Journal of Robotics Research
Determining the lines through four lines
Journal of Graphics Tools
Interval arithmetic yields efficient dynamic filters for computational geometry
Discrete Applied Mathematics - Special issue 14th European workshop on computational geometry CG'98 Selected papers
Transversals to Line Segments in Three-Dimensional Space
Discrete & Computational Geometry
Advanced programming techniques applied to Cgal's arrangement package
Computational Geometry: Theory and Applications
Lines and Free Line Segments Tangent to Arbitrary Three-Dimensional Convex Polyhedra
SIAM Journal on Computing
Predicates for line transversals to lines and line segments in three-dimensional space
Proceedings of the twenty-fourth annual symposium on Computational geometry
On the Size of the 3D Visibility Skeleton: Experimental Results
ESA '08 Proceedings of the 16th annual European symposium on Algorithms
On the degree of standard geometric predicates for line transversals in 3D
Computational Geometry: Theory and Applications
On the complexity of umbra and penumbra
Computational Geometry: Theory and Applications
A generic lazy evaluation scheme for exact geometric computations
Science of Computer Programming
A generic algebraic kernel for non-linear geometric applications
Proceedings of the twenty-seventh annual symposium on Computational geometry
Motion planning via manifold samples
ESA'11 Proceedings of the 19th European conference on Algorithms
Hi-index | 0.00 |
Given a set $\mathcal S$ of n line segments in three-dimensional space, finding all the lines that simultaneously intersect at least four line segments in $\mathcal S$ is a fundamental problem that arises in a variety of domains. We refer to this problem as the lines-through-segments problem, or LTS for short. We present an efficient output-sensitive algorithm and its implementation to solve the LTS problem. The implementation is exact and properly handles all degenerate cases. To the best of our knowledge, this is the first implementation for the LTS problem that is (i) output sensitive and (ii) handles all degenerate cases. The algorithm runs in O((n3+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(n4) and O(n2), 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 obtained from http://acg.cs.tau.ac.il/projects/lts.