1 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 constant-complexity 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)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(logn), with logarithms taken base 2.) For fat planar objects with curved boundaries a near-linear bound is known as well [1, 2, 5]. In ℝ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 ℝ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 ℝ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 ℝ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 ℝ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)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 ℝ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(bo)≥β⋅ 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 bounded—the 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 d-dimensional 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/2d, 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 \(\mathcal {P}\) be a set of convex β-fat polytopes in3 with n vertices in total. Let f max be the maximum complexity of any face of a polytope in  \(\mathcal {P}\). Then

$$\biggl \|\mathop {\mathrm {skel}}\Bigl(\bigcup \mathcal {P}\Bigr) \strut \biggr \|\leq K_{\beta} \cdot \sum_{P\in \mathcal {P}}\bigl \|\strut \mathop {\mathrm {skel}}(P) \bigr \|\cdot \alpha(n)\log^* n\cdot \log f_{\max},$$

where K β is a constant whose value depends only on the fatness constant β.

Furthermore, there exists a set \(\mathcal {P}\) of n polytopes, each of fatness Θ(1), constant complexity, and diameter 1, with \(\|\mathop {\mathrm {skel}}(\bigcup \mathcal {P}) \strut \|= \varOmega(n \alpha(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)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(nlog 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.

2 The Proof

We first consider the special case where \(\mathcal {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.

2.1 Constant-Complexity Polytopes

Let \(\mathcal {P}=\{P_{1},\ldots,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.

Lemma 2

Let P be a β-fat convex polytope in3, let ε>0 be a constant, and let ϕ be a direction with ∡(ϕ,e)≤π/2−ε for every edge e of P. Then ϕ is β′-fattening for P, for \(\beta':=\frac{\beta\tan^{2}\varepsilon }{3}\).

Proof

Let h be a plane orthogonal to ϕ and meeting the interior of P. Put d:= diam(Ph) and A:= area(hP). 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.

Fig. 1
figure 1

Sweeping the polytope with a plane h

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

$$\beta\cdot {4 \over 3} \pi d_v^3 \leq \mathop {\mathrm {vol}}(B_v\cap P) = \mathop {\mathrm {vol}}\bigl(B_v \cap P^+\bigr) \leq \mathop {\mathrm {vol}}\bigl(P^+\bigr) \leq A \cdot d_v.$$

It follows that

$$ A \geq \beta\cdot {4 \over 3} \pi d_v^2.$$
(1)

Define v to be the vertical projection of v onto the plane h. Then Ph 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

$$2d_v/d \geq \tan \measuredangle (h,e) \geq \tan \varepsilon .$$

Combining with (1), we obtain

$$A \geq \beta\cdot {4 \over 3} \pi d_v^2 \geq \beta\cdot {4 \over 3} \pi \biggl(\frac{1}{2} d\tan \varepsilon \biggr)^2 = \frac{\beta\tan^2\varepsilon }{3}\cdot \pi d^2,$$

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.

Fact 3

Given a collection of convex, β-fat polygons in the plane with a total of n edges, the number of vertices of their union is at most f β (n):=O((n)log n+(n/β)log2(1/β))).

We consider β to be a fixed constant, and will not analyze the exact dependency in our bounds on β. Hence, we simply use O((n)log n) as an upper bound on the union complexity.

The main ingredient for the proof of the version of Theorem 1 for constant-complexity polytopes is the following lemma.

Lemma 4

Let 0<β≤1/8 and C≥4 be constants. There exists a set Φ of O(C 4) directions with the following property: for any finite set \(\mathcal {P}\) of convex β-fat polytopes in3 in general position, each with at most C faces, there exists, for every edge e of \(\mathop {\mathrm {skel}}(\bigcup \mathcal {P})\), a direction ϕ e Φ such that

  1. (P1)

    ∡(ϕ,e)≤π/3, and

  2. (P2)

    ϕ is β′-fattening for the at most two polytopes of \(\mathcal {P}\) whose boundary contains e, where \(\beta' := \frac{\beta}{3(48C)^{2}}\).

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 \(\mathbb {S}\); technically, opposite points on \(\mathbb {S}\) represent the same direction, but this will not affect the argument below.

Define

$$\rho:=\frac{\pi}{16{6C \choose 2}+16}$$

and take Φ to be a set of points on \(\mathbb {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 \(\mathop {\mathrm {skel}}(\bigcup \mathcal {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 \(\xi\in \mathbb {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 \varepsilon = \frac{1}{48C}\). Since \(\tan^{2} \varepsilon > \sin^{2}\varepsilon = \frac{1}{(48 C)^{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 \(\phi\in \mathbb {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 \choose 2}+2\), since an arrangement of m≥2 great circles on a sphere induces at most \(2{m \choose 2}+2\) faces.

Fig. 2
figure 2

The cap C ξ (lightly shaded) being crossed by bands of half-width ε

Therefore the largest region has area at least

$$A := \frac{\mathop {\mathrm {area}}(C_\xi) - 6C\cdot 4\pi \sin \varepsilon }{2{6C \choose 2}+2}.$$

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 \varepsilon = \frac{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 \(\mathcal {P}\) be a set of n convex, β-fat polytopes in3, each with at most C faces. Then

$$\biggl \|\mathop {\mathrm {skel}}\Bigl(\bigcup \mathcal {P}\Bigr) \biggr \|\leq K'_{\beta,C} \cdot \sum_{P\in \mathcal {P}}\bigl \|\strut \mathop {\mathrm {skel}}(P) \bigr \|\cdot \alpha(n)\log^* n,$$

with \(K'_{\beta,C}\) a constant depending only on β and C.

Proof

Let Φ be the set of directions from Lemma 4. Put \(S:=\mathop {\mathrm {skel}}(\bigcup \mathcal {P})\). Fix a direction ϕΦ, and assume without loss of generality that ϕ is vertical. Let \(\mathcal {P}_{\phi}\subseteq \mathcal {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) \cap (\bigcup \mathcal {P}_{\phi})\). Put I ϕ :=∫c ϕ (z)dz and I:=∑ ϕΦ I ϕ . We show below that

  1. (i)

    S∥≤2I, and

  2. (ii)

    \(I \leq K''_{\beta,C} \cdot \sum_{P\in \mathcal {P}} \mathop {\mathrm {diam}}(P) \cdot \alpha(n)\log^{*} n\),

for an appropriate constant \(K''_{\beta,C}\). These will imply the lemma.

We begin with (i). Note that each edge e of S appears on \(\mathop {\mathrm {skel}}(\bigcup \mathcal {P}_{\phi})\) 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'''_{\beta',C}\) such that

$$I_\phi = O\bigl(K'''_{\beta',C}\cdot \alpha(n)\log^* n\bigr) \cdot \sum_{P \in \mathcal {P}_\phi}\mathop {\mathrm {diam}}(P).$$

The desired statement then follows by summing over all ϕΦ, and using |Φ|=O(C 4) and β′=Ω(β).

As we sweep the plane h(z) over \(\mathcal {P}_{\phi}\), 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 \(\mathcal {P}_{j} \subset \mathcal {P}_{\phi}\) 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 \(\mathcal {P}_{j}\) yields a collection of β′-fat polygons with at most \(C|\mathcal {P}_{j}|\) edges in total. Thus the union complexity is at most \(f_{\beta'}(C|\mathcal {P}_{j}|)\) by Fact 3. In particular, \(c_{\phi}(z)\leq f_{\beta'}(C|\mathcal {P}_{j}|)\) for these values of z and thus

where \(K'''_{\beta',C}\) is an appropriate constant. Hence,

$$I_{\phi} = \ \sum_j I_j = \ O\bigl(K'''_{\beta',C} \cdot \alpha(n)\log^* n\bigr) \cdot \sum_j |\mathcal {P}_j|\cdot \|Z_j\|.$$

Notice that each polytope \(P \in \mathcal {P}_{\phi}\) contributes its z-span to the sum \(\sum_{j} |\mathcal{ P}_{j}| \cdot \|Z_{j}\|\). Hence, this sum is simply equal to the sum of the z-spans of all polytopes in \(\mathcal {P}_{\phi}\). This sum is, in turn, at most \(\sum_{P\in \mathcal {P}_{\phi}} \mathop {\mathrm {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 \(\mathcal {Q}\) of n convex, Θ(1)-fat polytopes in3, each of constant complexity and unit diameter, with \(\|\mathop {\mathrm {skel}}(\bigcup \mathcal {Q})\|= \varOmega(n\alpha(n))\).

Proof

Let \(\mathcal {I}\) be a set of n segments in the plane whose lower envelope has complexity Θ((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 \(\mathcal {I}\) to be smaller than some constant \(0<\varepsilon <1-\sqrt{2}/2\). For every segment \(s \in \mathcal {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 \(\varepsilon <1-\sqrt{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 \(\mathcal {I}\) is combinatorially the same in all directions within π/4 from vertical, this implies that the lower envelope of \(\mathcal {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)) unit-length edges, one for every vertex of the lower envelope of \(\mathcal {I}\). All polytopes have diameter exactly \(\sqrt{2}\); a further scaling by a factor \(1/\sqrt{2}\) gives the desired result.

Fig. 3
figure 3

(i) Flattening the construction. (ii) Making K s out of s. (Not to scale.)

 □

2.2 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 Γ in3, there exists a simplex Δ(Γ)⊆Γ with  vol(Δ(Γ))≥λ⋅ vol(Γ), where \(\lambda=\frac{2}{3\sqrt{3}\pi}\).

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 ℝ3 and its largest inscribed simplex (which is a regular tetrahedron) is \(\frac{2}{3\sqrt{3}\pi}\). □

Lemma 8

Let P be a convex β-fat polytope with n P vertices, and let f max be the maximum number of vertices of any of its faces. Then there is a set \(\mathcal {T}(P)\) of constant-complexity convex polytopes such that

  1. (i)

    each polytope \(Q\in \mathcal {T}(P)\) is Ω(β)-fat and contained in P,

  2. (ii)

    the polytopes together cover the boundary of P,

  3. (iii)

    \(\|\mathop {\mathrm {skel}}(P) \|\leq \sum_{Q\in \mathcal {T}(P)} \|\mathop {\mathrm {skel}}(Q)\|= O(\|\mathop {\mathrm {skel}}(P)\|\cdot \log f_{\max})\), and

  4. (iv)

    \(|\mathcal {T}(P)| =O(n_{P})\).

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≤ik−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 ⌈log2 k⌉ rounds, and so the total edge length of all triangles in the triangulation is O(logk)=O(logf max) times the perimeter of f. The total number of triangles over all faces is obviously O(n P ).

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

$$\mathop {\mathrm {vol}}(P_t) \geq \mathop {\mathrm {vol}}(B\cap P_t) = \mathop {\mathrm {vol}}(B\cap P) \geq \beta \cdot \mathop {\mathrm {vol}}(B) = \beta \cdot \frac{\pi}{6}\cdot \mathop {\mathrm {vol}}(\sigma).$$

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  bdQ t . Moreover, \(\|\mathop {\mathrm {skel}}(Q_{t})\|= O(\mbox{perimeter of $t$})\), since \(d \leq \mathop {\mathrm {diam}}(Q_{t}) \leq 2d\sqrt{3}\). We claim that Q t is Ω(β)-fat. Indeed, we have

$$\mbox{fatness}(Q_t) =\frac{\mathop {\mathrm {vol}}(Q_t)}{\frac{4}{3} \pi \cdot \mathop {\mathrm {diam}}^3(Q_t)} \geq \frac{\mathop {\mathrm {vol}}(\Delta(P_t))}{\frac{4}{3} \pi \cdot \mathop {\mathrm {diam}}^3(\sigma)}\geq \frac{\frac{2}{3\sqrt{3}\pi}\cdot \beta \cdot \frac{\pi}{6}\cdot \mathop {\mathrm {vol}}(\sigma)}{\frac{4}{3} \pi \cdot \mathop {\mathrm {diam}}^3(\sigma)} = \varOmega(\beta).$$

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 \(\mathcal {T}(P):=\bigcup_{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 \in \mathcal{ P}\). Define \(\mathcal{ Q}:=\bigcup_{P \in \mathcal{ P}} \mathcal{ T}(P)\). Then

  • each element \(Q\in \mathcal{ Q}\) is a β′-fat polytope with at most C faces, for suitable constants C≥4 and β′=Ω(β);

  • \(|\mathcal {Q}| = O( \sum_{P \in {\mathcal {P}}} n_{P} ) =O(n)\); and

  • \(\bigcup \mathcal {Q}\subset \bigcup \mathcal {P}\) and \(\mathop {\mathrm {bd}}( \bigcup \mathcal {P}) \subset \mathop {\mathrm {bd}}(\bigcup \mathcal {Q})\), which implies that \(\|\mathop {\mathrm {skel}}(\bigcup \mathcal {P}) \|\leq \|\mathop {\mathrm {skel}}(\bigcup \mathcal {Q}) \|\).

Now we can apply Lemma 5 to the set \(\mathcal{ Q}\) to see that

Since C is an absolute constant, we have

$$\biggl \|\mathop {\mathrm {skel}}\Bigl( \bigcup \mathcal {P}\Bigr) \biggr \|\leq K_{\beta} \cdot \sum_{P \in \mathcal{ P}}\bigl \|\mathop {\mathrm {skel}}(P)\bigr \|\cdot \log f_{\max } \cdot \alpha(n)\log^* n,$$

for some suitable K β depending only on β. This finishes the proof of Theorem 1. □

3 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⋅logf 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 logf 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 \(\mathcal {B}=\{b_{1},\ldots,b_{n}\}\) of balls in ℝ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 \(\|\mathop {\mathrm {skel}}(\bigcup \mathcal {B})\|= O(\sum_{i} \mathop {\mathrm {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.