Finding stabbing lines in 3-space
Discrete Comput Geom
Finding Stabbing Lines in 1
-Space 1
M. Pellegrini I 1
P. W. Shor 0 1
0 AT&T Bell Laboratories , 2D-149, 600 Mountain Avenue, Murray Hill, NJ 07974 , USA
1 Courant Institute, New York University , 251 Mercer Street, New York, NY 10012 , USA
A line intersecting all polyhedra in a set ~ is called a "stabber" for the set ~. This paper addresses some combinatorial and algorithmic questions about the set 6a(~) of all lines stabbing ~. We prove that the combinatorial complexity of ~ ( ~ ) has a n 0(n32c ' f ~ ) upper bound, where n is the total number of facets in ~, and c is a suitable constant. This bound is almost tight. Within the same time bound it is possible to determine if a stabbing line exists and to find one. * The research of M. Pellegrini was partially supported by Eni and Enidata within the AXL project, and by NSF Grant CCR-8901484. A preliminary version appeared in the Proceedings of the Second ACM-SIAM Symposium on Discrete Al#orithms, pp. 24-31. Two lines are in the same isotopy class if it is possible to move one into the other without crossing edges of ,~.
1. Introduction
The first algorithm for finding line stabbers for a set ~ of polyhedra in R 3 with
total complexity n, due to Avis and Wenger [ A W l ] , [AW2], has an O(n4 log
n)time bound. M c K e n n a a n d O ' R o u r k e I-MO] improve the time complexity to
O(n*~(n)), where ct(n) is a functional inverse of the Ackerman function. The
algorithm in [ M O ] finds all the isotopy classes 1 of lines generated by the polyhedra
in ~ and it is within an 0t(n) factor from the optimal for that problem. The set
ba(~) of stabbing lines coincides with the union of some of the isotopy classes and
it was conjectured that the complexity of 6e(~) could be less than the complexity
of all the isotopy classes.
Jaromczyk and K o w a l u k [ J K ] claimed an 0(n32 ~(")) upper bound to the
complexity of the set of stabbing lines, but unfortunately there are cases in which
the analysis used in [ J K ] is incorrect (see [P2]).
A line is characterized by four parameters, therefore a natural representation
for a line in R 3 is a point m R 4. The locus of lines intersecting a given line is a
quadric (hyperbolic) surface in R4. Given a set of polyhedra ~ , consider the lines
spanning edges of the polyhedra, and for each such line the corresponding surface
in R4. We obtain an arrangement d ( ~ ) of surfaces in R 4 that divide the space
into cells (McKenna and O'Rourke [ M O ] implicitly construct this arrangement).
Each cell of d ( ~ ) contains points whose stabbed set is invariant within the cell.
The set 6e(~) of all stabbing lines is therefore the union of some cells in the
arrangement. Our aim is to find a worst-case upper bound on the combinatorial
complexity of 6P(~) which is significantly lower than the complexity of the whole
arrangement d ( ~ ) . We consider the lines spanning edges in ~ to be in general
position when no four lines are on the same ruled surface (planes, one sheet
hyperboloids, and hyperbolic paraboloids [B]). For simplicity, we deal mostly
with edges in general position and we give additional arguments to cope with
degeneracies.
The complexity of 6~(~) is bounded by the number of zero-dimensional faces
(vertices) of S~(M). Each vertex represents an extremal stabbin# line. An extremal
stabbing line l is a stabbing line for ~ which falls into one of the following three
categories:
t. I intersects four edges in four distinct polyhedra in ~¢ and is tangent to the
same four polyhedra.
2. 1 intersects one vertex and two edges in three distinct polyhedra in ~ and is
tangent to the same three polyhedra.
3. l meets two vertices in two distinct polyhedra in ~ and is tangent to those
two polyhedra.
For subclasses 2 and 3 an O(na) upper bound is trivially established. In this
paper we concentrate our attention on subclass 1 of extremal stabbing lines.
An f~(n3) lower bound for the complexity of ~ ( ~ ) is shown in [P2] and [P1]
and can also be derived by results in [CEGS]. We prove in this paper an almost
matching O(n32c ~ ) upper bound on the complexity of 6a(M) and on the time to
answer the question of whether a stabbing line exists (stabbing problem). Initially
(Section 3) we consider only triangles to show the analysis in a simplified setting.
The main tools used are the Pliicker coordinates of lines, which are introduced
in Section 2, and the random sampling technique of Clarkson [C]. All randomized
algorithms in this paper can be turned into deterministic algorithms within the
same time bounds using the methods of Matou~ek [Ma2]. The results for
triangles are extended to the general case of convex polyhedra in Section 4.
The query problem (given a line, is it a stabber?) is solved using O(n2÷~)
preprocessing and storage, and O(log n) query time (Section 5). The query
algorithm is used as a subroutine of an algorithm to find a stabbing line which
uses O(na2cl'fi~-~)time (Section 5). The techniques used in [AWl, [MO] a (...truncated)