Lines Avoiding Unit Balls in Three Dimensions

Discrete & Computational Geometry, Mar 2005

Pankaj K. Agarwal, Boris Aronov, Vladlen Koltun, Micha Sharir

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

https://link.springer.com/content/pdf/10.1007%2Fs00454-005-1166-2.pdf

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 .


This is a preview of a remote PDF: https://link.springer.com/content/pdf/10.1007%2Fs00454-005-1166-2.pdf

Pankaj K. Agarwal, Boris Aronov, Vladlen Koltun, Micha Sharir. Lines Avoiding Unit Balls in Three Dimensions, Discrete & Computational Geometry, 2005, 231-250, DOI: 10.1007/s00454-005-1166-2