Unions of Fat Convex Polytopes Have Short Skeletons

The skeleton of a polyhedral set is the union of its edges and vertices. Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$\mathcal {P}$\end{document} be a set of fat, convex polytopes in three dimensions with n vertices in total, and let fmax be the maximum complexity of any face of a polytope in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$\mathcal {P}$\end{document}. We prove that the total length of the skeleton of the union of the polytopes in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$\mathcal {P}$\end{document} is at most O(α(n)⋅log∗n⋅logfmax) times the sum of the skeleton lengths of the individual polytopes.


Introduction
Background and Motivation Many geometric algorithms require computing the union of a collection of objects in the plane or some higher-dimensional space. For this reason there are many papers studying the combinatorial complexity of the union-that is, the total number of vertices, edges, and higher-dimensional faces of the union; see the recent survey by Agarwal et al. [1] and references therein.
In the plane, the worst-case combinatorial complexity of the union of n constantcomplexity objects (triangles, rectangles, etc.) is easily seen to be Θ(n 2 ). However, if the objects are fat-see below for a formal definition-then the union complexity is near linear [1,8,10,11,13]. More precisely, the current best bound on the union complexity of n β-fat triangles is O(nα(n) log * n) [13], with the constant of proportionality depending on the fatness parameter β; here α(n) is the inverse Ackermann function and log * n denotes the iterated logarithm. (Thus, log * n = 0 for n ≤ 1 and log * n = 1 + log * (log n), with logarithms taken base 2.) For fat planar objects with curved boundaries a near-linear bound is known as well [1,2,5]. In R 3 , the union complexity of n constant-complexity objects is Θ(n 3 ). The general belief is that, as in the planar case, the union complexity of n fat objects in R 3 is roughly one order of magnitude smaller than that of general objects, namely near quadratic. Until recently this result was known only for rather restricted classes of objects such as similarly sized cubes (of arbitrary orientation) and fat wedges [12]. Then Ezra and Sharir [7] obtained a breakthrough in this area by showing that the union complexity of n fat tetrahedra, not necessarily of similar size, is O(n 2+ε ); this implies an analogous result for cubes. However, for fat polytopes near-quadratic bounds are still not known-the main problem being that fat polytopes can have non-fat faces.
The combinatorial complexity of the union of objects in R 3 is proportional to the number of vertices and edges of the union-in other words, the complexity of the skeleton of the union. In order to further increase our understanding of the union of fat objects in R 3 , we study a different aspect, namely, the total length of the skeleton, rather than the number of edges and vertices it is composed of. As with combinatorial complexity, the main question is whether the worst-case skeleton length of the union of fat objects is smaller than that of general objects. Consider, for example, a collection of thin "plates" in R 3 , where each plate is a slightly inflated unit square. If one arranges these plates in a grid-like manner, the skeleton length is Θ(n 2 ), which is significantly larger than the total length Θ(n) of the skeletons of the plates. Now suppose that instead of thin plates we take a collection of n unit cubes. Can these also be arranged in such a way that the skeleton length of their union is Θ(n 2 )? If the cubes are axis-parallel then this cannot be done-this follows easily from the fact that the union complexity of n axis-parallel unit cubes is O(n) [3]. But what about arbitrarily oriented unit cubes? And what can be said about other types of fat objects?
Our Result We prove that the answer to the question posed above is negative: the maximum length of the skeleton of the union of n (arbitrarily oriented) unit cubes is only O(nα(n) log * n). Our main result is, in fact, much more general than this, as it applies to arbitrary fat convex polytopes. Before we state our result more precisely, we need to introduce some terminology and notation. From now on, whenever we will speak of polytopes, we always mean convex polytopes.
Let vol(o) denote the volume of an object o. An object o in R d is called β-fat, for some β > 0, if for any ball b whose center lies in o and that does not fully contain o in its interior, we have vol(b ∩ o) ≥ β · vol(b) [15,16]. The fatness of an object o is the largest value β such that o is β-fat. For objects that are convex and boundedthe case we consider in this paper-it can be shown that the fatness is determined by a ball whose radius is the object's diameter [15,16]; thus the fatness of a convex bounded object o is equal to vol(o)/(ω d diam(o) d ), where vol(o) and diam(o) denote the volume and diameter of o, respectively, and ω d denotes the volume of the ddimensional unit ball. From this it follows that the maximum value of the fatness is attained when o is a ball, in virtue of the isodiametric inequality [4]. This maximum value is 1/2 d , that is, 1/8 for d = 3.
The skeleton of a polyhedral object S, which we denote by skel(S), is the union of all of its edges and vertices. Slightly abusing the notation, we sometimes also refer to the set of the edges and vertices of S as the skeleton of S. We use skel(S) to denote the total length of the skeleton of S, i.e., the sum of the lengths of its constituent edges. We also use the notation · to denote the length of an edge or an interval; the notation | · | will be used to denote the cardinality of a set. Our main result can now be stated as follows.
Theorem 1 Let 0 < β ≤ 1/8 be a fixed constant, and let P be a set of convex β-fat polytopes in R 3 with n vertices in total. Let f max be the maximum complexity of any face of a polytope in P. Then where K β is a constant whose value depends only on the fatness constant β. Furthermore, there exists a set P of n polytopes, each of fatness Θ(1), constant complexity, and diameter 1, with skel( P) = Ω(nα(n)); here α(·) is the inverse Ackermann function.
Remark The α(n) log * n factor in the bound is due to the fact that the best published bound on the union complexity of n fat triangles in the plane is O(nα(n) log * n) [13]. Any improvement in this union bound will immediately imply an improvement in the bound of Theorem 1. In a recent manuscript [2] a new bound of O(n log * n) has been proved for the union complexity of fat triangles. This implies that the α(n) log * n factor in Theorem 1 can be reduced to log * n.

The Proof
We first consider the special case where P consists of n convex fat polytopes of constant complexity each, and then extend the result to convex fat polytopes whose total complexity is n. We assume without loss of generality that the set of polytopes is in general position; in particular, no polytope vertex lies on the boundary of another polytope and no two edges of different polytopes intersect.

Constant-Complexity Polytopes
Let P = {P 1 , . . . , P n } be a set of n convex β-fat polytopes, each with at most C faces. The main idea of the proof is as follows. Suppose we sweep a plane through the collection of polytopes. A union vertex of the cross section then corresponds to an edge of the skeleton skel( i P i ) intersecting the sweep plane. Thus we can bound the skeleton length by integrating the number of union vertices in the cross section over the sweep, where each vertex is weighted suitably, depending on the angle its corresponding skeleton edge makes with the sweep plane.
To get a good bound using this approach, the complexity of the cross sections of the union needs to be small. This would be the case if the polytope cross sections were fat, since the union of fat objects in the plane has near-linear complexity. However, the cross section of a fat polytope P with a plane need not always be fat. For example, if the sweep plane is parallel to an edge e of P , and e is the first (or last) encountered feature of P , then the cross section will be arbitrarily skinny just after (or just before) hitting e. We start by showing that this is the only way a cross section of a fat polytope can be non-fat. Namely, if the angle of the sweep direction with all polytope edges is bounded away from π/2-so that the angle of the sweep plane with each edge is bounded away from zero-then the cross sections are fat. We then use this fact to bound the total skeleton length of the union by performing a number of sweeps, each involving only polytopes whose cross sections are fat, and summing the contributions of the sweeps to the skeleton length.
We use (h, e) to denote the measure of the angle between a plane h and a segment e, and (φ, e) to denote the measure of the angle between a direction φ and a segment e. Here segments are not oriented; opposite orientations are considered the same direction. Note that the values (h, e) and (φ, e) are always in the range [0, π/2].
Definition A direction φ is β-fattening for a convex polytope P if every intersection of P with a plane orthogonal to φ and meeting the interior of P is a β-fat polygon.
Proof Let h be a plane orthogonal to φ and meeting the interior of P . Put d := diam(P ∩ h) and A := area(h ∩ P ). Since the fatness of a convex object is determined by a ball whose radius is the object's diameter [15,16] it is sufficient to show that A ≥ β · πd 2 . Assume without loss of generality that h is horizontal. Consider the area of intersection with P as we sweep a horizontal plane h(z) from z = −∞ to z = +∞. Then area(h(z) ∩ P ) 1/2 is a concave function of z, by Brunn's theorem [4]. Thus either area(h(z) ∩ P ) ≤ A for any plane h(z) below h, or area(h(z) ∩ P ) ≤ A for any plane h(z) above h; we assume without loss of generality that the latter is the case. Let v be the vertex of p that is above h and furthest away from h-see Fig. 1. Since P does not have edges parallel to h, the vertex v is unique.
Let d v be the distance between h and v, let P + be the part of P lying above h, and let B v be the ball with center v and radius d v . Since P is β-fat, we have It follows that Define v * to be the vertical projection of v onto the plane h. Then P ∩ h has a vertex w with wv * ≥ d/2. We claim that this implies that P has an edge e such that tan (h, e) ≤ 2d v /d. To see this, walk from w to v along the edges of P in such a way that the height along the path increases monotonically. This is always possible since P is convex and does not have edges parallel to h. The length of the projection of this path onto h is at least wv * and the height increase along the path is d v .
Hence, there is an edge e with slope at most d v / wv * ≤ 2d v /d, as claimed, and we have Combining with (1), we obtain which proves the lemma.
The following result was proved by Pettie [13] for fat triangles; by the arguments of De Berg and Gray [6], it can be extended to fat polygons. We consider β to be a fixed constant, and will not analyze the exact dependency in our bounds on β. Hence, we simply use O(nα(n) log * n) as an upper bound on the union complexity.
The main ingredient for the proof of the version of Theorem 1 for constantcomplexity polytopes is the following lemma.  Proof We will concentrate on proving the existence of the set Φ of directions with the required properties and not focus on minimizing its size as a function of the various parameters. We will identify the set of all orientations with the unit sphere S; technically, opposite points on S represent the same direction, but this will not affect the argument below. Define ρ := π 16 6C 2 + 16 and take Φ to be a set of points on S such that any spherical cap of radius ρ contains at least one point from Φ. It is well known that there exists such a set of size O(1/ρ 2 ) = O(C 4 ). Next we prove that Φ has the desired properties.
Consider an edge e of skel( P). Assume e is defined by two polytopes P 1 and P 2 , that is, e is contained in the intersection of faces f 1 of P 1 and f 2 of P 2 ; the argument for the case where e is contained in an edge of a single polytope is easier. Let ξ ∈ S be the direction of e. Any direction φ in the spherical cap C ξ of area π and radius π/3 centered at ξ satisfies property (P1). Now consider property (P2). Let ε be such that 0 < ε < π/2 and sin ε = 1 48C . Since tan 2 ε > sin 2 ε = 1 (48C) 2 , any direction φ that makes an angle at most π/2 − ε with every edge s of some β-fat polytope P is β -fattening for P , by Lemma 2. This means a direction φ ∈ S is β -fattening for P if it stays out of a band of half-width ε centered at the great circle of directions perpendicular to that of s, for every edge s of P . Since P 1 and P 2 have at most C faces, each has fewer than 3C edges. Hence there are fewer than 6C forbidden bands. The area of each band is 4π sin ε. The complement of the bands inside C ξ consists of several of spherically convex regions-see Fig. 2. The number of such regions is at most 2 6C 2 + 2, since an arrangement of m ≥ 2 great circles on a sphere induces at most 2 m 2 + 2 faces.
Therefore the largest region has area at least A convex region of area A < 2π on the unit sphere always contains a spherical cap of radius at least A/4. Plugging in sin ε = 1 48C , we conclude that there is a spherical cap of radius such that all directions in the cap satisfy conditions (P1) and (P2). By construction, Φ contains a direction in this cap.
Now we are ready to prove Theorem 1 for the special case of constant-complexity polytopes.
Lemma 5 Let 0 < β ≤ 1/8 and C ≥ 4 be constants. Let P be a set of n convex, β-fat polytopes in R 3 , each with at most C faces. Then with K β,C a constant depending only on β and C.
Proof Let Φ be the set of directions from Lemma 4. Put S := skel( P). Fix a direction φ ∈ Φ, and assume without loss of generality that φ is vertical. Let P φ ⊆ P be the set of all polytopes for which φ is β -fattening, where β is defined as in Lemma 4. Let h(z) be the horizontal plane at height z. Let c φ (z) be the number of vertices of the two-dimensional union h(z) ∩ ( P φ ). Put I φ := c φ (z)dz and I := φ∈Φ I φ . We show below that for an appropriate constant K β,C . These will imply the lemma. We begin with (i). Note that each edge e of S appears on skel( P φ ) for some φ ∈ Φ (possibly as part of a longer edge) where e makes an angle at most π/3 with φ-see properties (P1) and (P2). In particular, it contributes are least e cos(π/3) = e /2 to I φ and thus to I . Therefore, S ≤ 2I , completing the proof of (i).
To argue (ii) we will show there is a constant K β ,C such that The desired statement then follows by summing over all φ ∈ Φ, and using |Φ| = O(C 4 ) and β = Ω(β).
As we sweep the plane h(z) over P φ , it enters and leaves polytopes. We subdivide the range of values of z into maximal intervals Z 1 , Z 2 , . . . so that over each interval Z j the plane h(z) intersects the same subset P j ⊂ P φ of polytopes. We decompose I φ into subintegrals I j , each taken over one interval Z j . For a fixed Z j , the intersection of h(z) with P j yields a collection of β -fat polygons with at most C|P j | edges in total. Thus the union complexity is at most f β (C|P j |) by Fact 3. In particular, c φ (z) ≤ f β (C|P j |) for these values of z and thus where K β ,C is an appropriate constant. Hence, Notice that each polytope P ∈ P φ contributes its z-span to the sum j |P j | · Z j . Hence, this sum is simply equal to the sum of the z-spans of all polytopes in P φ . This sum is, in turn, at most P ∈P φ diam(P ), as claimed. Summing over all φ ∈ Φ, we obtain which completes the proof of the lemma.
The next lemma shows that the bound in Lemma 5 is close to the best possible in terms of its dependence on n.

Lemma 6
There exists a set Q of n convex, Θ(1)-fat polytopes in R 3 , each of constant complexity and unit diameter, with skel( Q) = Ω(nα(n)). Proof Let I be a set of n segments in the plane whose lower envelope has complexity Θ(nα(n)) [14,17]. We scale the plane vertically-that is, we "flatten" the construction-so that the envelope remains combinatorially the same in all directions within π/4 of vertical; see Fig. 3(i). Note that this also ensures that any segment makes an angle less than π/4 with the x-axis. By further scaling, we reduce the length of any segment in I to be smaller than some constant 0 < ε < 1 − √ 2/2. For every segment s ∈ I, we construct a quadrilateral K s as the convex hull of s and a unit-length horizontal segment centered at a point lying half a unit above the midpoint of s-see Fig. 3(ii). The fact that s makes an angle of less than π/4 with the x-axis ensures that K s is a quadrilateral. Clearly K s is fat, and the condition that ε < 1 − √ 2/2 implies that its diameter is determined by the unit-length horizontal segment. Observe that the two edges incident to s make an angle of less than π/4 with the vertical direction. Together with the property that the lower envelope of I is combinatorially the same in all directions within π/4 from vertical, this implies that the lower envelope of I appears on the union of the sets K s . Now extruding each set K s into a unit-height prism Q s produces a set of n Θ(1)-fat polytopes of constant complexity whose union contains Ω(nα(n)) unit-length edges, one for every vertex of the lower envelope of I. All polytopes have diameter exactly √ 2; a further scaling by a factor 1/ √ 2 gives the desired result.

Non-constant-Complexity Polytopes
To extend the result of Lemma 5 to non-constant-complexity polytopes, we show that the boundary of a non-constant-complexity fat polytope can be covered using a linear number of constant-complexity fat polytopes. We start with a simple, well-known geometric fact.

Fact 7 For any compact convex set
Proof Macbeath [9] has shown that the largest ratio between the volume of an object and the maximum volume of an inscribed simplex is achieved by a Euclidean ball.
The result now follows from the fact that the ratio of the volume of a ball in R 3 and its largest inscribed simplex (which is a regular tetrahedron) is 2 . Proof First we triangulate each face f of P , as follows. Let f have k vertices, numbered in clockwise order as v 0 , . . . , v k−1 ; the indices are treated modulo k. Now put in the diagonals v i v i+2 for 0 ≤ i ≤ k − 2 and i even (the total length of these diagonals is at most the perimeter of f ) and recursively triangulate the part of P that still needs to be triangulated. The algorithm finishes after log 2 k rounds, and so the total edge length of all triangles in the triangulation is O(log k) = O(log f max ) times the perimeter of f . The total number of triangles over all faces is obviously O(n P ).

Lemma 8 Let
Let t be one such triangle. Put d := diam(t). Let σ be a cube centered at a point of t and having a point of t on its boundary, such that t ⊂ σ . The edge length of σ is at most 2d. Put P t := P ∩ σ . Let B denote a largest inscribed ball of σ . Because P is β-fat, we have Define Q t to be the convex hull of the union of t and (P t ), with (·) as in Fact 7. The polytope Q t is contained in P and has constant complexity, being the convex hull of at most seven points; also, t is contained in bd Q t . Moreover, skel · β · π 6 · vol(σ ) 4 3 π · diam 3 (σ ) = Ω(β).
Here the first equality follows from the fatness of a convex object o being determined by a ball whose radius is diam(o) [15,16]. The lemma now follows by taking T (P ) := t {Q t }, where the union is taken over all triangles t in the triangulations of the faces of P .
We can now prove our main theorem.

Proof of Theorem 1
The lower bound follows from Lemma 6. To prove the upper bound, we first apply Lemma 8 to each of the polytopes P ∈ P. Define Q := P ∈P T (P ). Then • each element Q ∈ Q is a β -fat polytope with at most C faces, for suitable constants C ≥ 4 and β = Ω(β); • |Q| = O( P ∈P n P ) = O(n); and • Q ⊂ P and bd( P) ⊂ bd( Q), which implies that skel( P) ≤ skel( Q) . Now we can apply Lemma 5 to the set Q to see that skel P ≤ skel Q ≤ K β ,C · Q∈Q skel(Q) · α(n) log * n (by Lemma 5) ≤ K β ,C · P ∈P Q∈T (P ) skel(Q) · α(n) log * n (definition of Q) O skel(P ) · log f max · α(n) log * n (by Lemma 8(iii)) Since C is an absolute constant, we have skel P ≤ K β · P ∈P skel(P ) · log f max · α(n) log * n, for some suitable K β depending only on β. This finishes the proof of Theorem 1.

Conclusion
We have shown that the total length of the skeleton of the union of fat 3-dimensional polytopes is roughly linear in the sum of the skeleton lengths of the individual polytopes. More precisely, the skeleton length is O(α(n) log * n · log f max ) times the sum of the skeleton lengths of the individual polytopes, where f max is the maximum complexity of any polytope facet. We also gave an example of n constant-complexity fat polytopes where the skeleton length is O(α(n)) times the sum of the skeleton lengths of the individual polytopes. Hence, our bound is not far from the best possible. It would be interesting to know if the log f max factor in the upper bound of Theorem 1 is necessary.
Another question is what happens when the objects are curved. As an example, consider the skeleton of a set B = {b 1 , . . . , b n } of balls in R 3 . Since the cross section of a ball with a plane is a disk, and the union complexity of m disks is O(m), our technique can be used to show that skel( B) = O( i diam(b i )). (Indeed, if we sweep three times in mutually orthogonal directions, then for any point q on a skeleton edge there will be a sweep such that the direction of the edge at q makes a sufficiently large angle with the sweep plane.) It would be interesting to generalize this result to other classes of fat curved objects.