#### Lines Avoiding Unit Balls in Three Dimensions

Discrete Comput Geom
Geometry Discrete & Computational
Lines Avoiding Unit Balls in Three Dimensions
Pankaj K. Agarwal 2
Boris Aronov 1
Vladlen Koltun 0
Micha Sharir 3
0 Computer Science Division, University of California , Berkeley, CA 94720-1776 , USA
1 Department of Computer and Information Science, Polytechnic University , Brooklyn, NY 11201-3840 , USA
2 Department of Computer Science, Duke University , Durham, NC 27708-0129 , USA
3 School of Computer Science, Tel Aviv University , Tel Aviv 69978 , Israel and Courant Institute of Mathematical Sciences, New York University , New York, NY 10012 , USA
Let B be a set of n unit balls in R3. We show that the combinatorial complexity of the space of lines in R3 that avoid all the balls of B is O(n3+ε), for any ε > 0. This result has connections to problems in visibility, ray shooting, motion planning, and geometric optimization. ∗ Work on this paper has been supported by a joint grant from the U.S.-Israel Binational Science Foundation. Work by Pankaj Agarwal was also supported by NSF under Grants CCR-00-86013, EIA-98-70724, EIA-99-72879, EIA-01-31905, and CCR-02-04118. Work by Boris Aronov was also supported by NSF Grants CCR-99-72568 and ITR CCR-00-81964. Work by Vladlen Koltun was also supported by NSF Grant CCR01-21555. Work by Micha Sharir was also supported by NSF Grants CCR-97-32101 and CCR-00-98246, by a grant from the Israeli Academy of Sciences for a Center of Excellence in Geometric Computing at Tel Aviv University, and by the Hermann Minkowski-MINERVA Center for Geometry at Tel Aviv University.
1. Introduction
Let B be a set of n unit balls in R3. A line in R3 is called free (with respect to B) if it
does not meet the interior of any ball in B; we also say that the line avoids all the balls
of B. Let F = F (B) denote the space of lines that are free with respect to B. We regard
F as a subset of some four-dimensional parametric space L that represents lines in R3
[
8
]. In this paper we study the combinatorial complexity of F , which, for the time being,
we define as the number of lines in F that are tangent to four balls in B. These are the
“vertices” of F ; see below for a more precise definition.
The space F is, in a sense, “antithetical” to the space T = T (B) of line transversals
of B, i.e., the space of lines that intersect all the balls of B. It is known (see, e.g., [
13
])
that, with an appropriate choice of L, T can be represented as a sandwich region lying
between the upper envelope of one family of surfaces in L, consisting of the loci of lines
tangent to the balls of B from below, and the lower envelope of another such family,
consisting of the loci of lines tangent to the balls of B from above. The recent result
of Koltun and Sharir [
13
] immediately yields a near-cubic bound on the complexity of
T . However, the space F of free lines does not appear to admit such a representation,
and the best previously known upper bound for its complexity was the trivial bound of
O(n4), obtained by observing that F is the union of certain cells of the arrangement
of the aforementioned tangent-line surfaces in L, and that the complexity of this entire
four-dimensional arrangement is at most O(n4). The following theorem is the main result
of this paper.
Theorem 1.1. The combinatorial complexity of the space of lines free with respect to
a set of n unit balls in R3 is O(n3+ε), for any ε > 0.
This result is related to several topics of study in computational and combinatorial
geometry. For instance, the structure and complexity of the space of free lines is
intimately connected to the analysis of global-visibility data structures [
10
], [
16
], whose
size crucially depends on the complexity of the space of free segments amid the given
objects (defined in analogy to the space of free lines). Our result is also closely related
to robot motion planning—the space F (B) is the free configuration space [
17
] of a line
robot moving amid unit ball obstacles in R3, or, alternatively, of a cylindrical robot (of
infinite length) moving amid point obstacles or amid congruent balls. Finally, our result
is related to the problem of computing the largest empty cylinder amid n points in R3,
to ray shooting, and to several other problems in geometric optimization.
The derivation of Theorem 1.1 requires a number of novel technical contributions.
Our conceptual starting point is the near-cubic bound on the complexity of the sandwich
region lying between envelopes of two families of surfaces in R4 [
13
]. As mentioned
above, the space F cannot be directly represented as such a sandwich region. We present a
series of reductions that allow us to bound the complexity of F in terms of the cumulative
complexity of a collection of appropriately defined sandwich regions. The number of
these sandwich regions and of the surfaces defining them may however be unbounded.
To achieve the desired near-cubic bound we introduce a refinement of the bound of [
13
]
for sandwich regions, which shows that it is nearly proportional to the number of triples
of surfaces whose domains overlap, as defined below. This refinement appears to be of
independent interest.
Related Work. The complexity of the space of free lines amid various types of
polyhedral objects has been considered in the past, with mixed success. When the objects
constitute a polyhedral region of total complexity n, or even in the special case of a
collection of n lines in R3, the maximum complexity of the space of free lines is easily seen
to be (n4) [
8
]. However, the complexity of the space of lines that avoid a polyhedral
terrain having n faces is only near-cubic [
15
]. The (n4) lower bound constructions
for the cases of polyhedra and lines are rather unrealistic, and the hope is that, when
the objects are fat or well distributed, the complexity of the space of free lines is
reduced. Collections of unit balls are the simplest example of such a well-behaved class
of objects, which can still model fully three-dimensional scenes, and they have indeed
already been studied in this context [
9
], [
10
]. A related result [
5
] obtains a near-cubic
bound on the complexity of the set of lines free relative to a collection of n homothets
of a bounded-complexity convex polyhedron.
To calibrate the result of this paper and to put it in a wider context, we note that
lines in R3 have four degrees of freedom, and can therefore be represented as points in
R4 (the space L alluded to above).1 Hence, F (B) is a subregion of R4. In fact, if we
consider n surfaces in R4, each being the locus of all (points representing) lines tangent
to a fixed ball in B, and form the arrangement of these surfaces, then each cell of the
arrangement consists of lines that intersect all the balls in a fixed subset of B and avoid
the remaining balls. This arrangement has O(n4) cells of all dimensions, and F (B) is the
union of a subset of them. Hence, the complexity of F (B) is O(n4), and it can be trivially
constructed in near-quartic time. (In fact, these properties hold for any collection B of
n objects of simple shape in R3.) A near-cubic upper bound for the case of unit balls is
thus an improvement by nearly a factor of n over the above general observation.
Another way of looking at this problem is to define, for each ball B ∈ B, the region
K B , consisting of all (points representing) lines that intersect B (the boundary of K B
is the aforementioned surface of lines tangent to B). Then F (B) is the complement of
the union of the sets K B , over B ∈ B. Thus, analyzing the complexity of F (B) is an
instance of the general study of the complexity of the union of geometric objects, an area
that has received considerable attention in recent years; see [
1
], [
3
], [
4
], [
7
], [
11
], [
12
],
and [
14
]. Our result is among the very first nontrivial bounds on the complexity of the
union of geometric objects in four dimensions (excluding the significantly easier cases
of halfspaces, balls, and axis-parallel hypercubes). A companion work by the authors
[
2
] derives a near-cubic bound for the union of κ-round objects in four dimensions,
extending an earlier result by Koltun and Sharir [
13
] (see also [
1
]). These are the only
results of this type of which we are aware.
Proof Outline. Our analysis of the complexity of F (B) proceeds through a number of
steps, each constituting a further reduction of the problem. We begin, in Section 2, by
defining the space F of free lines as a subset of an arrangement of surfaces in R4, and
show that in order to bound the complexity of F it is sufficient to bound the number of
vertices of this arrangement that lie on the boundary of F . These vertices correspond to
free lines in R3 that are tangent to quadruples of balls in B.
1 Strictly speaking, the space of lines in R3 is the so-called affine Grassmannian, which is a
fourdimensional manifold not homeomorphic to R4. However, by leaving out the three-dimensional subspace
of horizontal lines, we can map the space of nonhorizontal lines homeomorphically to R4. It is sufficient to
work with the latter representation, since a generic choice of the coordinate system ensures that all vertices of
F correspond to nonhorizontal lines.
We then define, still in Section 2, the notion of vertices that are deep with respect to
a reference direction in S2. Roughly speaking, a vertex that represents a line is deep
with respect to a direction u if, when we enter each of the four balls B tangent to
from the respective point of tangency in the direction orthogonal to both u and , we
traverse a “long” chord of B. It is shown that there exists a reference direction for which
at least half of the vertices are deep. Hence it suffices to bound the maximum number
of vertices that are deep with respect to some fixed reference direction, a task that is
undertaken in Section 3. We bound the number of deep vertices by deriving a recurrence
relation on this quantity. We project the centers of the balls in B onto the x y-plane, and
partition the projected centers using a (nonuniform) planar grid, such that every row and
every column contains n/r centers, for a certain parameter r . We concentrate on vertices
defined by quadruples of balls whose four centers project into four distinct rows and
four distinct columns, and use recursion to bound the number of other types of vertices.
We fix a quadruple of grid cells that lie in distinct rows and columns, and argue that the
four corresponding sets of projected ball centers are doubly well-separated with respect
to some “middle” point o, meaning intuitively that o lies “in between” one pair of cells
and also in between the complementary pair of cells.
The main technical step of the proof, given in Section 4, concentrates on proving a
near-cubic bound on the number of deep vertices defined by a doubly well-separated
quadruple of sets of balls. By carefully selecting a coordinate frame for the
fourdimensional space of lines, we are able to express, in Section 4.1, each such vertex
as a vertex in one of a number of sandwich regions of envelopes of four-dimensional
arrangements that we define. This is where we exploit the nature of deep vertices and
the fact that the lines that we are considering are free. Despite the existence of a good
(i.e., near-cubic) bound on the complexity of sandwich regions in four dimensions [
13
],
this is not the end of the story yet, since the number of the resulting sandwich regions,
as well as the overall size of all the sets of surfaces that form these regions, may be
unbounded. In Section 4.2 we show that the functions determining the sandwich regions
have sparse domains, in a certain sense defined in that section. This is where we exploit
the nature of doubly well-separated sets and the fact that the balls are congruent. In
Section 5 we establish a refined bound on the complexity of sandwich regions of envelopes
of arrangements of trivariate functions with sparse domains, a result that we believe
to be of independent interest. Using this result, we are able to prove the desired
nearcubic bound on the number of deep vertices defined by doubly well-separated sets of
balls.
Plugging this bound into the analysis of Section 3, we obtain the desired recurrence for
the number of deep vertices, which solves to a near-cubic bound. Due to the reductions
mentioned above, this bound leads directly to the main result of the paper.
2.
Reduction to Deep Vertices
Let B = {B1, . . . , Bn} be a set of n unit balls in R3. We assume that the balls in B are in
general position, meaning that no line is tangent to any five distinct balls and that only
a finite number of lines are tangent to any four balls. This involves no loss of generality
because we can apply a sufficiently small random perturbation to the balls, putting them
w
Lines Avoiding Unit Balls in Three Dimensions
in general position, without losing more than an (expected) constant fraction of the
number of faces of ∂F (B); see Section 7.3.1 of [
18
] for similar arguments.
Let L be the space of all lines in R3. Since lines in R3 can be parameterized by four
parameters, L can be regarded as a four-dimensional (real) parametric space. We recall
the notation introduced above: For a ball B ∈ B, let K B ⊆ L denote the set of lines
that intersect B; ∂ K B is the set of all lines that are tangent to B. By our general-position
assumption, F = F (B) = cl(L\ B∈B K B ), where cl(·) denotes closure. The boundary
of F , denoted as ∂F , thus consists of portions of the boundaries ∂ K B , for B ∈ B. Any
such connected portion is in fact a face of the arrangement A of the boundaries ∂ K B , for
B ∈ B. The combinatorial complexity of F is the number of faces of A of all dimensions
that appear on ∂F . A vertex w of F represents a free line τw in R3 that is tangent to four
balls of B; see Fig. 1. We denote by vw ∈ S2 the orientation2 of τw, and by Bw ⊆ B the
set of four balls tangent to τw. Let W = W(B) denote the set of vertices of F .
Lemma 2.1. For a set B of n unit balls in R3, the combinatorial complexity of F is
O(|W| + n3).
Proof. Any face of ∂F that is incident upon a vertex of F can be charged to any
of its vertices. The general-position assumption implies that each vertex is charged in
this manner at most a constant number of times, and the number of such faces is thus
O(|W|). A face f that is not incident upon a vertex of F is defined by at most three
balls B1, . . . , Bl ∈ B, where l ∈ {1, 2, 3}, and either coincides with, or is incident
upon, an entire connected component of li=1 ∂ K Bi . We can thus charge f to such a
component, and observe that, as above, the general position assumption implies that no
component is charged more than O(1) times. Since any intersection li=1 ∂ K Bi has only
O(1) connected components, the total number of faces that are not incident upon a vertex
is O(n3).
Fix a reference direction u in S2. Let w be a vertex in W, and let vw = u be the
orientation of τw. Let B1, B2, B3, B4 be the balls in Bw, and let i be the line passing
2 Strictly speaking, the lines in L are not considered to be oriented, so vw is encoded by two antipodal
points on S2. We ignore this technicality for the sake of simplicity.
2 si n
through the tangency point τw ∩ Bi and orthogonal to both u and vw; these four lines
are parallel. We call w deep (with respect to u) if for each i ∈ {1, 2, 3, 4}, the length
of the chord i ∩ Bi is at least 2 sin α (or, equivalently, the central angle that the chord
subtends is at least 2α), where α is a constant to be fixed below. Project τw and the balls
in Bw onto a plane πw normal to τw. Then τw projects to a point w∗ and the four balls
B1, . . . , B4 project to four unit disks B1∗, . . . , B4∗ whose boundaries all pass through w∗.
The four lines i project to a common line ∗ that passes through w∗. If w is deep,
then the length of each of the chords ∗ ∩ Bi∗ is at least 2 sin α; see Fig. 2.
Lemma 2.2. There exists a reference direction u ∈ S2 such that the number of vertices
in W that are deep with respect to u is at least |W|/2, provided that α ≤ π/16.
Proof. We will show that if α ≤ π/16 and u is chosen randomly and uniformly from
S2, then the expected number of vertices in W that are deep with respect to u is at
least |W|/2. This implies in particular that there must exist a direction u for which the
property described in the lemma holds.
Let w ∈ W, let v := vw be the orientation of τ := τw, and let Bw = {B1, B2, B3, B4}
be the set of balls tangent to τ . Fix one of these balls, say B := B1. Without loss of
generality, assume that τ is the z-axis, and that B is the unit ball centered at (1, 0, 0).
Regard the direction u as bad (for B) if the horizontal line in direction u × v through
the origin intersects B in a chord whose length is smaller than 2 sin α. Clearly, if u is
bad then meets (the horizontal cross section of) B in a chord that subtends a central
angle of less than 2α, or, equivalently, the direction u × v of forms an angle less than
α with the y-axis. See Fig. 3(i),(ii). Therefore, u ∈ S2, being orthogonal to u × v, must
lie in a spherical double wedge of opening angle 2α centered around the great circle of
S2 normal to the y-axis. See Fig. 3(iii). Thus a random choice of u would land in this
double wedge with probability 2α/π .
Applying this analysis to all four balls B1, . . . , B4, we conclude that the probability
that a random direction u is bad relative to at least one ball is no more than 8α/π , and
setting α to any value not exceeding π/16 assures that a random choice of u is good for
w with probability at least 1/2, i.e., with probability at least 1/2, w is a deep vertex with
respect to u. This completes the proof.
Lines Avoiding Unit Balls in Three Dimensions
237
x y-plane. (iii) The double wedge of bad directions on S2.
3. Counting Deep Vertices
In view of Lemma 2.2, it suffices to bound the number of vertices in W that are deep with
respect to some fixed direction u, which, without loss of generality, we may assume to
that are deep with respect to the vertical direction; set ψ (R) := |D(R)| and
be the (+z)-direction. For a subset R ⊆ B, let D(R) ⊆ W(R) denote the set of vertices
ψ (m) := max ψ (R).
R⊂B
|R|=m
We derive a recurrence relation for ψ (m).
Let ci∗ be the x y-projection of the center ci of Bi , and let C ∗ = {c1∗, . . . , cn∗} be the
set of the n projected centers in R2. Fix a parameter r , and partition C ∗ into r subsets of
equal cardinality n/r by r − 1 lines x = a1, . . . , x = ar−1 lying in the x y-plane parallel
to the y-axis. We assume for simplicity and without loss of generality that n is integrally
divisible by r . Construct a similar partition of C ∗ into r subsets of equal cardinality by
2(r − 1) lines partition the x y-plane into the r × r nonuniform grid
r − 1 lines y = b1, . . . , y = br−1 lying in the x y-plane parallel to the x -axis. These
G := {κi j := [ai−1, ai ] × [bj−1, bj ] | i, j = 1, . . . , r },
vertices to ψ (n) is at most 2 r3 ψ (3n/r ).
where we put a0, b0 := −∞ and ar , br := +∞. For i, j = 1, . . . , r , let Bi j :
= {Bl |
cl∗ ∈ κi j }; set ni j :
= |Bi j |. We have
i ni j = n/r for any fixed j and
j ni j = n/r
for any fixed i . Let w be a deep vertex in D(B), let c1∗, c2∗, c3∗, and c4∗ be the projections
of the centers of the four respective balls B1, B2, B3, B4 ∈ Bw, and let κi1 j1 , . . . , κi4 j4
denote the four (not necessarily distinct) cells of G that contain c1∗, . . . , c4∗, respectively.
Suppose first that at least two of these cells lie in the same row or in the same column of
G. We estimate the number of such vertices w recursively, by solving 2 r3 subproblems,
each involving the balls whose projected centers lie in any fixed triple of rows or columns
of G. The number of balls in each subproblem is at most 3n/r . The contribution of such
Otherwise, let D(Bi1 j1 , Bi2 j2 , Bi3 j3 , Bi4 j4 ) ⊆
D(B) denote the set of vertices w for
which the four centers of the balls in Bw project into cells κi1 j1 , κi2 j2 , κi3 j3 , and κi4 j4
respectively. Then
of G, lying in four distinct rows i1, i2, i3, i4 and in four distinct columns j1, j2, j3, j4,
ψ (n) ≤ 2
r
3
ψ
3n
r
+
|D(Bi1 j1 , Bi2 j2 , Bi3 j3 , Bi4 j4 )|,
o ∈ R2 if
rows and in distinct columns.
where the summation is over all (unordered) quadruples of cells of G that lie in distinct
We next introduce the notion of well-separated pairs of balls. We call two balls B1
and B2, with respective projected centers c1∗, c2∗, well-separated with respect to a point
|oc1∗|, |oc2∗| ≤ |c1∗c2∗|.
pair of balls in B3 × B4.
We call a set of four balls doubly well-separated with respect to o if it is the union of
two complementary pairs, both of which are well-separated with respect to o. We extend
this definition by saying that four sets B1, B2, B3, B4 of balls are doubly well-separated
with respect to o if there exist two complementary pairs of sets, say B1, B2 and B3, B4,
such that any pair of balls in B1 × B2 is well-separated with respect to o, and so is any
and Bi4 j4 are doubly well-separated with respect to o.
Lemma 3.1 (Separation Lemma).
Given four distinct rows i1, i2, i3, i4 and four dis
tinct columns j1, j2, j3, j4, there exists a point o so that the four sets Bi1 j1 , Bi2 j2 , Bi3 j3 ,
Proof.
Draw an x -parallel line λ1 so that two of the cells κi1 j1 , κi2 j2 , κi3 j3 , κi4 j4 lie below
it and two lie above. Similarly, draw a y-parallel line λ2 that has two of the cells on either
side. Let o be the intersection point of λ1 and λ2. Clearly, either each of the four quadrants
determined by λ1 and λ2 contains exactly one of the four cells, or two opposite quadrants
each contain two of these cells and the two other quadrants do not contain any cell. In
either case, there exist two complementary pairs of cells, so that the two cells in each
pair lie in opposite quadrants; refer to Fig. 4.
Hence, if ξ1 and ξ2 are any two points, one from each of the two opposite cells in a
(1)
(2)
pairs of sets are well-separated with respect to o, and so are the darker pairs.
cells lie in two opposite quadrants. The shaded disks represent the sets Bik jk of projected centers. The lighter
pair, then the angle ∠ξ1oξ2 is at least π/2, implying that |ξ1ξ2| ≥ |ξ1o|, |ξ2o|, and thus
showing that any pair of balls whose centers project into these two cells is well-separated
with respect to o. This completes the proof of the lemma.
Let B1, B2, B3, and B4 be four sets of unit balls that are doubly well-separated with
respect to some point o ∈ R2. In the following section (see Lemma 4.5) we prove that
the number of “rainbow” vertices in D(B1 ∪ B2 ∪ B3 ∪ B4), i.e., vertices w such that
Bw contains one ball of each of the sets B1, . . . , B4, is O(|B1 ∪ B2 ∪ B3 ∪ B4|3+ε), for
any ε > 0. We apply this bound to each of the O(r 8) quadruples of cells of G that lie in
four distinct rows and in four distinct columns, and observe that for each such quadruple
the corresponding size |B1 ∪ B2 ∪ B3 ∪ B4| is at most 4n/r , to conclude that these cells
contribute a total of
to ψ (n). Thus the recurrence (1) for ψ (·) becomes
O r 8 ·
4n 3+ε
r
= O(r 5n3+ε)
r 3
ψ (n) ≤ 3 ψ
3n
r
+ Cr 5n3+ε,
r 3
ψ (n) ≤ 3
A
3n 3+ε
r
+ Cr 5n3+ε
≤ An3+ε
≤ An3+ε,
32+ε
r ε +
Cr 5
A
for any ε > 0 and for a constant C = C (ε). The solution of the recurrence is ψ (n) ≤
An3+ε, where the constant A depends on ε and C . Indeed, substituting into the recurrence
we obtain
provided that r is chosen to be greater than 3(2+ε)/ε and A to be sufficiently large. Together
with Lemmas 2.1 and 2.2, this proves Theorem 1.1, the main result of the paper.
4. Counting Rainbow Vertices in Doubly Well-Separated Sets
4.1. Reduction to Sandwich Regions
Let B1, B2, B3, B4 be four pairwise-disjoint sets of unit balls in R3 that are doubly
wellseparated with respect to the origin, say. Set B := B1 ∪ B2 ∪ B3 ∪ B4. We call a subset
R ⊆ B of size at most four rainbow if each ball in R belongs to a different set Bj . A
vertex w of F (B) is rainbow if Bw is rainbow. We wish to bound the number of rainbow
vertices in D(B); this is the missing step in the proof of Theorem 1.1.
We begin by specifying our choice of the four parameters (θ , ϕ, ξ, η) that represent a
line in R3. The first two parameters (θ , ϕ) are the spherical coordinates of the direction
v of , where ϕ is its azimuth, i.e., the angle it forms with the positive z-direction, and θ
is the horizontal orientation of the x y-projection of v. Let πv denote the plane orthogonal
to v and passing through the origin o. We define below a two-dimensional coordinate
frame (ξ, η) in πv with o as its origin. The last two parameters (ξ, η) that represent are
the coordinates in this frame of the point πv ∩ .
Let ez := (0, 0, 1) be the vertical unit vector. The unit vectors eξ , eη that define the
ξ - and η- axes are constructed as follows. We set
eη := (cos(θ + π/2), sin(θ + π/2), 0) = (− sin θ , cos θ , 0).
We observe that eη is orthogonal to both ez and v. (Note that θ is undefined when v is
vertical. We exclude lines with ϕ = 0 from our analysis; with a generic choice of u, no
vertex of W(B) will correspond to a vertical line.) We then choose eξ := v × eη, i.e., the
ξ -axis is the intersection of πv with the vertical plane through o spanned by v and ez. See
Fig. 5. For a point q ∈ R3 and a direction v = (θ , ϕ) ∈ S2, let q(v) = q(θ , ϕ) denote
the orthogonal projection of q onto the plane πv, whose coordinates are represented in
the (ξ, η)-system. Note that the η-coordinate of q(θ , ϕ) does not depend on the value
of ϕ. Similarly, for a ball B ∈ B, we denote by B(v) its orthogonal projection onto πv
(which is a unit disk), represented in the (ξ, η)-system.
We choose a sufficiently small parameter < 2 sin α, and partition the plane πv into
ξ -vertical strips of the form
σiv = σi(θ,ϕ): i ≤ η ≤
(i + 1),
for i ∈ Z.
We partition D(B) into subsets as follows. For i ∈ Z, set
Di := {w = (θw, ϕw, ξw, ηw) | (ξw, ηw) ∈ σi(θw,ϕw)}.
We bound the size of each Di separately, as follows. Fix i and define a family Fi =
{ i1, . . . , in} of n partially defined trivariate functions, one for each ball in B, with
θ , ϕ, ξ being the independent variables. A function i j is defined for all (θ , ϕ, ξ ) such
B 1 ( v )
Lines Avoiding Unit Balls in Three Dimensions
241
that one of the points (ξ, i ), (ξ, (i + 1)) in the plane πv is contained in Bj (v), where
v := (θ , ϕ).
Specifically, the domain i j of i j is defined as follows. For a triple (θ , ϕ, ξ ), let
v := (θ , ϕ) and consider the strip σiv. If Ki j := Bj (v) ∩ σiv = ∅ then i j (θ , ϕ, ξ )
is undefined for all ξ . If Ki j is nonempty, let Ii j = Ii j (θ , ϕ) denote the set of all ξ for
which at least one of (ξ, i ), (ξ, (i + 1)) is in Ki j ; it is easily seen that Ii j is a nonempty
interval. Then i j (θ , ϕ, ξ ) is defined if and only if ξ ∈ Ii j . Its value depends on which
of the points (ξ, i ), (ξ, (i + 1)) lie in Ki j . Let λ be the length of the intersection of
Ki j with the η-parallel line through (ξ, i ). If only (ξ, i ) ∈ Ki j , then i j (θ , ϕ, ξ ) = λ
(refer to i1(θ , ϕ, ξ1) in Fig. 6); if only (ξ, (i + 1)) ∈ K , then i j (θ , ϕ, ξ ) = − λ
( i2(θ , ϕ, ξ2) in the figure); if both (ξ, i ), (ξ, (i + 1)) ∈ Ki j , then i j (θ , ϕ, ξ ) =
( i2(θ , ϕ, ξ3) in the figure). Note that i j may be discontinuous at the intersection point
of ∂ Bj (v) and η = i , for example, see i2 in Fig. 6.
Next, we partition the domain of i j into two subdomains i+j , i−j , as follows:
(θ , ϕ, ξ ) ∈ i j belongs to i+j if the point (ξ, i ) ∈ Bj (v) and to i−j otherwise (i.e., if
(ξ, i ) ∈ Bj (v) and (ξ, (i + 1)) ∈ Bj (v)). We denote the restriction of i j to i+j (resp.,
to i−j ) as i+j (resp., as i−j ). Each function i+j , i−j has constant description complexity,
meaning that it can be defined in terms of a constant number of polynomial equalities
and inequalities of constant maximum degree (using the standard re-parametrization of
θ , ϕ by tan(θ /2) and tan(ϕ/2), respectively).
For each i , set Fi+ := { i+j }nj=1 and Fi− := { i−j }nj=1; only functions with nonempty
domains of definition are included in these collections. Let
i :=
(θ , ϕ, ξ, η) ∈ S2 × R2 | mjax i+j (θ , ϕ, ξ ) ≤ η ≤ min i−j (θ , ϕ, ξ ) .
j
i is a “sandwich region,” i.e., the region lying between the upper envelope of Fi+ and
the lower envelope of Fi−. Set ni = |Fi−|+|Fi+|. We call a vertex of i rainbow if the four
function graphs incident upon the vertex correspond to balls from different families Bj .
Lemma 4.1 (Sandwich Lemma). Each rainbow vertex of Di corresponds to a distinct
rainbow vertex of i .
Proof. This is a consequence of the definition of deep vertices. Let w = (θw, ϕw, ξw, ηw)
be a deep vertex; set vw = (θw, ϕw). The projection of each of the four balls B ∈ Bw is a
unit disk in πvw and the line τw intersects πvw at a point w∗ lying on the boundaries of all
four disks. Since w is deep, the η-parallel line through w∗, whose direction is orthogonal
to both vw and the z-direction, intersects each of these disks in a chord of length at least
2 sin α > ; see Fig. 2. This implies that each of the four corresponding functions i j
(where i is the index of the strip that contains w∗ is defined at (θw, ϕw, ξw), and they all
have the same value there. Moreover, since no other ball projects to a disk that contains
w∗, it follows that the intersection of the graphs of the four i j ’s is indeed a (rainbow)
vertex of i .
By the result of Koltun and Sharir [
13
], the number of vertices of i is O(ni3+ε),
for any ε > 0. Summing over all strips σiv, the overall number of deep vertices under
consideration is i Z O(ni3+ε), for any ε > 0.
∈
Unfortunately, this bound is too weak—in fact, it can be arbitrarily large, because,
if the center of a ball Bj lies at distance r from o, Bj contributes a function i j with
nonempty domain of definition to (r/ ) strips, so if the balls lie arbitrarily far from
the origin, the number of indices i with ni ≈ n may be arbitrarily large. We handle
this problem below by counting only the number of rainbow vertices, exploiting the
separation property of B, and refining the bound of [
13
].
4.2. Exploiting Separation
Let Ji j be the θ -projection of i j , and let χi be the number of rainbow triples B1, B2, B3 ∈
B so that Ji1 ∩ Ji2 ∩ Ji3 = ∅, i.e., there exist θ0, ϕj , ξj , for 1 ≤ j ≤ 3, with (θ0, ϕj , ξj ) ∈
i j for each j . Our refinement, obtained in the following section (Corollary 5.4), shows
that the number of rainbow vertices in i is O(nεχi ). We will show (see Lemma 4.4) that
i χi = O(n3), which will then imply that the total number of deep rainbow vertices
in F (B) is O(n3+ε), and thus complete the proof of Theorem 1.1.
The following is a key technical lemma that encapsulates the significance of separation
for our analysis.
Lemma 4.2 (Sparseness Lemma). There exists a constant c = c( ) with the following
property. For any pair {B1, B2} of distinct unit balls that are well-separated with respect
to the origin, there are at most c integers k with the property that Jk1 ∩ Jk2 = ∅, i.e., the
θ -projections of k1 and k2 overlap.
Proof. Let I denote the set of integers k for which Jk1 ∩ Jk2 = ∅. Let k ∈ I, and
let θ0 ∈ Jk1 ∩ Jk2. Recall that the η-direction in πv depends only on θ and not on
ϕ. Consequently, if we keep θ0 fixed and vary ϕ, the plane πv rotates about the fixed
horizontal η-axis. For any fixed point q ∈ R3, its projection onto πv traces a vertical
circular arc in R3, which appears within the rotating plane πv as a line segment orthogonal
to the η-axis. Note also that the kth strip σkv rotates with πv about the fixed η-axis, but
its representation in the moving (ξ, η)-system does not change.
Let c1, c2 be the respective centers of B1, B2. Since θ0 ∈ Jk1 ∩ Jk2, the two (parallel)
segments traced within πv by the projections of c1 and c2 lie at η-distance at most one
Lines Avoiding Unit Balls in Three Dimensions
243
from the (fixed) strip σkv. In particular, when πv becomes horizontal, both x y-projections
q1 = c∗, q2 = c2∗ of these centers lie in the x y-plane, each at η-distance at most one
1
from σk(θ0,0) and thus at η-distance at most 2 + from each other. Technically, we need to
regard the horizontal position of πv as a limit position, obtained as ϕ → 0, because the
(ξ, η)-system is undefined when ϕ = 0. We interpret σk(θ0,0) simply as strips orthogonal
to the line at orientation (− sin θ0, cos θ0, 0). Our goal is thus to bound the number of
integers k for which there exists θ such that both points q1 and q2 lie in the extended strip
σˆk(θ,0) of width 2 + , obtained by expanding σk(θ,0) by distance one in the positive and
negative η-directions. Note that σˆk(θ,0) rotates about the origin as θ varies. We distinguish
between two cases:
CHaensece(ia)n:y|qs1tqri2p| σ≤ˆk(θ,0) that contains q1 must lie at distance at most 2 + from the origin,
2 + . Since B1, B2 are well-separated, |oq1| ≤ |q1q2| ≤ 2 + .
and the number of such strips is at most 2 (3 + )/ . This clearly also serves as an
upper bound on the number of extended strips that contain (for the same θ ) both q1
and q2.
Case (ii): |q1q2| > 2 + . Since the situation is symmetric with respect to rotation
about the origin, we may assume, without loss of generality, that q1 and q2 have the
same y-coordinate h. Since B1 and B2 are well-separated, q1q2 is the longest edge in the
triangle oq1q2, which implies that q1 and q2 lie in different quadrants, and that h ≤ |q1q2|.
See Fig. 7. A point x ∈ σˆk(θ,0) must satisfy
k
− 1 ≤ x · eη ≤ (k + 1) + 1.
In particular, as the extended strip σˆk(θ,0) rotates about the origin, it contains both q1 and
q2 when the corresponding eη satisfies
k
k
− 1 ≤ q1 · eη ≤ (k + 1) + 1
− 1 ≤ q2 · eη ≤ (k + 1) + 1.
and
|q1q2 · eη| ≤ (k + 1) + 1 − (k
− 1) = 2 + .
|q1q2 · eη| = |q1q2 · (− sin θ , cos θ , 0)| = |q1q2|| sin θ |.
| sin θ | ≤ |2q+1q2| .
Therefore
In addition, since both q1, q2 ∈ σˆk(θ,0), so is the point (0, h, 0), which must therefore also
satisfy (3), namely,
k − 1 ≤ h cos θ ≤ (k + 1) + 1.
(6)
Let θ0 ∈ (0, π/2) satisfy sin θ0 = (2 + )/|q1q2|. The range of θ where (5) holds is thus
contained in the union of the two angular intervals (−θ0, θ0) and (π − θ0, π + θ0). Any
k that satisfies (4.2), and thus also (6), must therefore be in one of the two ranges
min
θ∈(−θ0,θ0)
min
θ∈(π−θ0,π+θ0)
h cos θ − 1
h cos θ − 1
The number of integers k in the former range is at most
h
θ∈m(−aθ0x,θ0) cos θ − θ∈(m−θi0n,θ0) cos θ
− 1,
max
θ∈(−θ0,θ0)
− 1,
max
θ∈(π−θ0,π+θ0)
+
2
+ 1
h cos θ + 1
h cos θ + 1
.
and
=
h(1 − cos θ0)
+
2
+ 1 <
h sin θ0
+
2
+ 1 ≤
4
+ 2 ,
where we have used the facts that h ≤ |q1q2| and that |q1q2| sin θ0 = 2 + . The analysis
for the second angular interval yields the same estimate, for a total of no more than
2(4/ + 3) values of k. This completes the proof of the lemma.
Corollary 4.3. There exists a constant c = c( ) with the following property. For any
triple {B1, B2, B3} of distinct unit balls such that B1 and B2 are well-separated with
respect to the origin, there are at most c integers k with the property that Jk1 ∩ Jk2 ∩
Jk3 = ∅.
Lemma 4.4.
Proof.
i χi = O(n3).
i
χi =
=
≤
i
a<b<c
n
3
{(a, b, c) | a < b < c and Jia ∩ Jib ∩ Jic = ∅}
{i | Jia ∩ Jib ∩ Jic = ∅}
c( ) = O(n3).
As already mentioned, in Corollary 5.4 in the following section we prove that | i | =
O(nεχi ), making crucial use of the separation property—see below for details. This
implies the following result, which serves as the missing link in the proof of Theorem 1.1,
as presented in Sections 2 and 3.
Lemma 4.5. Let B1, B2, B3, B4 be four sets of unit balls in R3 of total size n which
are doubly well-separated with respect to the origin. Then the number of deep rainbow
vertices in F (B1 ∪ B2 ∪ B3 ∪ B4) is O(n3+ε), for any ε > 0.
5. Functions with Sparse Domains
This section provides refined upper bounds on the complexity of the “sandwich” region
of two collections of trivariate partially defined functions. We believe that this refinement
is of independent interest and expect it to be useful for other applications as well. Let F =
{ f1, . . . , fn} be a family of partially defined trivariate functions of constant description
complexity (as defined in the preceding section) and in general position, which is the
disjoint union F1 ∪F2 ∪F3 ∪F4 of four subfamilies. In what follows we do not distinguish
between a function and its graph. We call a subset R ⊆ F of size at most four rainbow
if each function in R belongs to a different set Fj . A vertex in the arrangement A(F ) of
(the graphs of) the functions in F is called rainbow if the subset of four functions whose
graphs are incident upon v is rainbow. Let F + and F − be another partition of F into
two subsets, and let (F +, F −) denote the sandwich region lying between the upper
envelope of F + and the lower envelope of F −, i.e.,
(F +, F −) :=
(x , y, z, w) ∈ R4 | max f (x , y, z) ≤ w ≤ fm∈ Fin− f (x , y, z) .
f ∈F+
Let be the set of rainbow vertices of (F +, F −). We wish to bound the size of .
As already noted, the recent result of [
13
] implies that the size of is O(n3+ε), for any
ε > 0. The goal of this section is to refine this bound in terms of a parameter that counts
overlaps between the domains of the functions in F , in a manner already alluded to in the
previous section and defined more precisely below. We begin with the following simple
but weak bound, which is central in the derivation of our main result.
Lemma 5.1. If |F1| ≥ |F2| ≥ |F3| ≥ |F4|, then | | = O(|F1||F2||F3|1+ε), for any
ε > 0.
Proof. Put ni = |Fi |, for i = 1, . . . , 4. Partition F1 into t := n1/n3
pairwisedisjoint subsets X1, . . . , Xt , each of size at most n3, and partition similarly F2 into
s := n2/n3 pairwise-disjoint subsets Y1, . . . , Ys , each also of size at most n3. Let
Fi+j := F + ∩ (Xi ∪ Yj ∪ F3 ∪ F4) and Fi−j := F − ∩ (Xi ∪ Yj ∪ F3 ∪ F4), for i = 1, . . . , t
and j = 1, . . . , s. Then any vertex of is a vertex of (Fi+j , Fi−j ) for some i and j .
Since |Fi+j ∪ Fi−j | ≤ 4n3, the aforementioned bound of [
13
] implies that (Fi+j , Fi−j ) has
O(n33+ε) vertices, for any ε > 0. Hence, the overall number of vertices in is at most
t s · O(n33+ε) = O(n1n2n31+ε), for any ε > 0, as asserted.
For each i = 1, . . . , n, let i be the domain of fi , and let Ji denote the z-projection
(i.e., the orthogonal projection onto the z-axis) of i . Without loss of generality, we
assume that Ji is a connected interval; otherwise we decompose fi into O(1) further
partially defined functions so that each of them satisfies this property. Let E denote the
set of endpoints of intervals Ji , for 1 ≤ i ≤ n. For the sake of simplicity, we assume that
all the endpoints are distinct, but the analysis can be easily adapted to handle degenerate
cases as well.
Let χ be the number of rainbow triples ( fi , fl , fk ) so that Ji ∩ Jl ∩ Jk = ∅. This is
our (rather weak) measure of the amount of overlap between the domains of the given
functions. Our goal is to bound | | in terms of χ .
Let ⊆ E × F × F be the set of triples ( p, fl , fk ) so that p ∈ Jl ∩ Jk , and the
function fi for which p is an endpoint of Ji forms a rainbow triple with fl and fk . Set
σ0 := | | = 2χ .
We use a recursive scheme to bound | |. At each recursive step, we have an open
z-interval Z . Let FZ := { fi ∈ F | Ji ∩ Z = ∅}. A function fi ∈ FZ is called short
in Z if at least one of the endpoints of Ji lies in Z ; otherwise, fi is long. Let LZ (resp.,
SZ ) denote the set of long (resp., short) functions in Z . Let Z ⊆ denote the subset
of vertices w ∈ whose z-coordinates lie in Z and are such that at least two of the four
functions whose graphs are incident upon w are in SZ . Initially, we set Z = (−∞, ∞),
SZ = F , and LZ = ∅. Therefore Z = for Z = (−∞, ∞). It thus suffices to bound
the size of Z .
For a z-interval Z , let E Z := E ∩ Z , Z := ∩ (E Z × FZ × FZ ), and σZ := | Z |.
Let !(m, σ ) := max | Z |, where the maximum is taken over all z-intervals Z with
|E Z | ≤ m and | Z | ≤ σ . We derive a recurrence for !(m, σ ) by partitioning an
interval Z into two subintervals Z1 and Z2, each containing roughly the same number of
endpoints of E Z . The overhead term in the recurrence accounts for the number of vertices
in Z \( Z1 ∪ Z2 ), i.e., the vertices w such that at least two of the four functions whose
graphs are incident upon w are short in Z but only at most one of these functions is short
in Z1 or Z2, whichever contains the z-coordinate of w. We prove that the overhead term
is roughly σZ and observe that σZ ≤ σZ1 + σZ2 . Putting these facts together we obtain a
bound on | | in terms of χ . We now provide a detailed analysis that follows this general
outline.
Let Z be a z-interval as above, with |E Z | ≤ m and | Z | ≤ σ . If SZ = ∅, then
| Z | = 0. Otherwise we partition Z into two intervals Z1, Z2 so that each subinterval
contains half of the endpoints in E Z . For i = 1, 2, set Fi := FZi , Li := LZi , Si := SZi ,
Ei := E Zi , i := Zi , and σi := | i |. We also denote by Ni ⊆ Li the set of functions
that are long in Zi but short in Z . Note that Si ∪ Ni is the set of all functions fl ∈ SZ
such that Jl ∩ Zi = ∅. Let w ∈ Z be a vertex whose z-coordinate lies in Z1, say. If w
is incident upon at least two functions in S1, then w ∈ Z1 and is counted recursively
in the subproblem associated with Z1. Otherwise, since w is assumed to be incident
upon at least two short functions in SZ , w is incident upon at least one function in N1,
at most one function in S1, and at most two functions in L1\N1. In fact, enumerating
all possible cases, w must be incident upon one function in N1, another function in
S1 ∪ N1, and two functions in L1 (any other combination would pass w to the recursive
subproblem at Z1). Let 1 ⊆ Z be the set of such vertices. We define 2 for the other
subinterval Z2 in a fully analogous manner. We thus obtain the following recurrence
for !(m, σ ):
!(m, σ ) ≤
!(m/2, σ1) + !(m/2, σ2) + | 1| + | 2|,
Since E1 ∩ E2 = ∅, σ1 + σ2 ≤ σ . We now establish the following bound on | 1|
and | 2|.
Lemma 5.2. For i = 1, 2, | i | = O(σZ nε), for any ε > 0.
Proof. Let w ∈ 1 be a vertex incident upon f1 ∈ F1, f2 ∈ F2, f3 ∈ F3, and f4 ∈ F4.
By definition, we may assume that, up to a permutation, f1, f2 ∈ L1, f3 ∈ N1, and
f4 ∈ S1 ∪ N1. Set
X1 := F1 ∩ L1,
X2 := F2 ∩ L1,
X3 := F3 ∩ N1,
X4 := F4 ∩ (S1 ∪ N1).
By Lemma 5.1, the number of those rainbow vertices w ∈ (F +, F −) that are incident
upon one function in each of X1, X2, X3, X4 is O(nε) times the product of the three
largest sizes of the sets Xi , for any ε > 0. Hence this number is definitely upper bounded
by O(nε i< j<k |Xi ||X j ||Xk |).
Let fi ∈ Xi , fj ∈ X j , fk ∈ Xk . Since at least two of these functions are long in Z1,
it follows that J := Ji ∩ Jj ∩ Jk = ∅. Moreover, since at least one of these functions is
short in Z , J must have an endpoint p in Z , which is an endpoint of, say, Jk . We then
charge ( fi , fj , fk ) to the triple ( p, fi , fj ), which is counted in Z . It is easily seen that
each triple in Z is charged at most O(1) times in this manner. Hence we have
i< j<k
|Xi ||X j ||Xk | = O(σZ ).
Repeating this argument for all other O(1) types of vertices in 1 (obtained by permuting
the sets F1, . . . , F4, and/or the short/long classification of the four functions incident
upon the vertex), we can conclude that | 1| = O(nεσZ ), for any ε > 0. Using a fully
symmetric argument, it follows that | 2| = O(nεσZ ), for any ε > 0. This completes the
proof of the lemma.
Plugging the bounds on | 1| and | 2| into the recurrence, we obtain that
0,
!(m/2, σ1) + !(m/2, σ2) + O(nεσ ),
where σ = σ1 + σ2. The solution of this recurrence is
!(m, σ ) = O(nεσ log m).
Initially, Z = (−∞, +∞), m = |E | = 2n, and σ0 = | | = 2χ . Therefore
| | ≤ !(2n, 2χ ) = O(nεχ log n) = O(χ nε ),
for any ε > ε. Putting everything together, we obtain the following result.
Theorem 5.3. Let F be a family of n partially defined trivariate functions of constant
description complexity, and let {F1, F2, F3, F4} be a partition of F . Let χ denote the
number of rainbow triples of functions in F such that the z-projections of their domains
have a common intersection. Then, for any partition F +, F − of F into two subsets,
the number of rainbow vertices in the sandwich region (F +, F −) between the upper
envelope of F + and the lower envelope of F − is O(χ nε), for any ε > 0.
Let Fi+, Fi− be the sets of partial trivariate functions defined for the i th strip in the
previous section. Letting the θ -axis play the role of the z-axis, we obtain the following
last ingredient in the proof of Theorem 1.1.
Corollary 5.4. For any i ∈ Z, let Fi+, Fi−, and χi be as defined in the previous section.
The number of (deep) rainbow vertices in (Fi+, Fi−) is O(nεχi ), for any ε > 0.
It is easy to extend Theorem 5.3 to the following “uncolored” version which is not
needed for our analysis, but may be more appropriate for future applications.
Theorem 5.5. Let F be a set of n partially defined trivariate functions of constant
description complexity. Let F +, F − be a partition of F into two subsets. Let χ be the
number of triples of functions in F such that the z-projections of their domains have a
common intersection point. Then the number of vertices in (F +, F −) is O(χ nε).
Proof. Partition F into four subfamilies F1, . . . , F4 at random, assigning each function
to each color class independently with probability 1/4, argue that the expected number of
rainbow vertices of (F +, F −) is at least a constant fraction of the size of (F +, F −),
and invoke Theorem 5.3. The number χ of course also bounds the number of rainbow
triples with overlapping domains.
Remark 5.6. An interesting open problem is whether the theorems also hold when χ
counts the potentially smaller number of triples of functions whose actual domains (as
opposed to their z-projections) have a nonempty intersection. In fact, even the analogous
problem for bivariate functions is still open: Can one express the complexity of the
lower envelope of n partial bivariate functions of constant description complexity (or
of the sandwich region between two envelopes) in terms of the number χ of pairs of
functions whose domains have nonempty intersection? This can be done if χ counts the
number of pairs of functions for which the y-projections of their domains overlap, using
a considerably simpler variant of the preceding analysis.
The paper raises many interesting and challenging open problems, some of which have
already been noted above:
(i) Devise an algorithm that constructs F (B) in near-cubic time. This would have
algorithmic implications for some ray shooting and motion planning
problems.
(ii) We note that our bound is not known to be nearly worst-case tight. Although the
best (and trivial) construction of which we are aware yields a lower bound of
(n2), we conjecture that the lower bound is (n3).
(iii) It would be interesting to extend the analysis to families B of other classes of
objects. The simplest such extensions would be to families of balls of arbitrary
radii. Another extension would be to families of “fat” objects; see for example
[
6
]. Our analysis extends to the case where the balls in B are “nearly congruent,”
in the sense that the ratio between the largest and the smallest radii is bounded
by some fixed constant, but we do not know how to extend it to the case where
there is no such restriction.
Acknowledgments References
The authors express their appreciation of the city of Heidelberg, whose magic ambiance
was the fertile soil in which, in March 2003, the initial seeds of this work were planted
and began to grow.
1. P. K. Agarwal and M. Sharir , Pipes, cigars, and kreplach: the union of Minkowski sums in three dimensions , Discrete Comput. Geom . 24 ( 2000 ), 645 - 685 .
2. B. Aronov , A. Efrat , V. Koltun , and M. Sharir , On the union of κ-round objects in three and four dimensions , in Proc. 20th Annu. Sympos. Comput. Geom. , 2004 , pp. 383 - 390 .
3. B. Aronov and M. Sharir , On translational motion planning of a convex polyhedron in 3-space , SIAM J. Comput . 26 ( 1997 ), 1785 - 1803 .
4. B. Aronov , M. Sharir , and B. Tagansky , The union of convex polyhedra in three dimensions , SIAM J. Comput . 26 ( 1997 ), 1670 - 1688 .
5. M. de Berg , H. Everett , and L. J. Guibas , The union of moving polygonal pseudodiscs-combinatorial bounds and applications , Comput. Geom. Theory Appl . 11 ( 1998 ), 69 - 82 .
6. M. de Berg , M. J. Katz , A. F. van der Stappen , and J. Vleugels , Realistic input models for geometric algorithms , Algorithmica 34 ( 2002 ), 81 - 97 .
7. J.-D. Boissonnat , M. Sharir , B. Tagansky , and M. Yvinec , Voronoi diagrams in higher dimensions under certain polyhedral distance functions , Discrete Comput. Geom . 19 ( 1998 ), 485 - 519 .
8. B. Chazelle , H. Edelsbrunner , L. Guibas , M. Sharir , and J. Stolfi , Lines in space: combinatorics and algorithms , Algorithmica 15 ( 1996 ), 428 - 447 .
9. O. Devillers , V. Dujmovic´, H. Everett , X. Goaoc , S. Lazard , H.-S. Na, and S. Petitjean , The expected number of 3D visibility events is linear , SIAM J. Comput . 32 ( 2003 ), 1586 - 1620 .
10. F. Durand , G. Drettakis, and C. Puech , The 3D visibility complex , ACM Trans. Graphics , 21 ( 2002 ), 176 - 206 .
11. A. Efrat , The complexity of the union of (α, β)-covered objects , in Proc. 15th Annu. ACM Sympos. Comput. Geom. , 1999 , pp. 134 - 142 .
12. A. Efrat and M. Sharir , The complexity of the union of fat objects in the plane , Discrete Comput. Geom . 23 ( 2000 ), 171 - 189 .
13. V. Koltun and M. Sharir , The partition technique for overlays of envelopes , SIAM J. Comput . 32 ( 2003 ), 841 - 863 .
14. J. Pach , I. Safruti , and M. Sharir , The union of congruent cubes in three dimensions , Discrete Comput. Geom . 30 ( 2003 ), 133 - 160 .
15. M. Pellegrini , On lines missing polyhedral sets in 3-space, Discrete Comput . Geom . 12 ( 1994 ), 203 - 221 .
16. M. Pocchiola and G. Vegter, The visibility complex , Internat. J. Comput. Geom. Appl . 6 ( 1996 ), 279 - 308 .
17. M. Sharir , Algorithmic motion planning, in Handbook of Discrete and Computational Geometry, 2nd edn . (J. Goodman and J. O'Rourke, eds.) , pp. 1037 - 1064 , CRC Press, Boca Raton, FL, 2004 .
18. M. Sharir and P. K. Agarwal , Davenport-Schinzel Sequences and Their Geometric Applications , Cambridge University Press, Cambridge, 1995 .