Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

We have already illustrated the utility of Voronoi diagrams with the application in Section 6.5. In fact, the neighborhood relations of points to each other which are expressed in Voronoi diagrams are used in their dual form in many other applications. This leads to the concept of Delone subdivisions (of the convex hull) of a point set. We shall discuss an application of this in Chapter 11.

As part of our study of Delone triangulations, we will explore the relation of convex hull algorithms to triangulation methods and to the computation of volumes.

1 Duality of Voronoi Diagrams

Let S⊆ℝn be finite such that S affinely spans the space ℝn. By Theorem 6.12 we know that a Voronoi diagram \(\operatorname {VD}(S)\) is generated by the vertical projection of the polyhedron \(\operatorname {\mathcal {P}}(S)=\bigcap_{s\in S}T(s)^{+}\subseteq\mathbb {R}^{n+1}\) to the first n coordinates. Here, T(s) denotes the tangent hyperplane of the standard paraboloid U at the point s U  :=(s,∥s2)T, and T(s)+ denotes the upper half-space. By Theorem 6.14, \(\operatorname {aff}S=\mathbb{R}^{n}\) implies that \(\operatorname {\mathcal {P}}(S)\) has a vertex, i.e., it is pointed. Therefore, by Theorem 3.36, \(\operatorname {\mathcal {P}}(S)\) is projectively equivalent to a polytope. In the following we describe how to construct a polytope which is projectively equivalent to \(\operatorname {\mathcal {P}}(S)\).

To do this, we examine the projective transformation π of \(\mathbb{P}^{n+1}_{\mathbb{R}}\) defined by the (n+2)×(n+2)-matrix

$$\arraycolsep=5pt \begin{pmatrix} 1 & 0 & \ldots& \ldots& 0 & 1\\ 0 & 2 & 0 & \ldots& 0 & 0\\ \vdots& 0 & \ddots& \ddots& \vdots& \vdots\\ \vdots& \vdots& \ddots& \ddots& 0 & \vdots\\ 0 & 0 & \ldots& 0 & 2 & 0\\ -1 & 0 & \ldots& \ldots& 0 & 1 \end{pmatrix} . $$

As we have previously done, we regard ℝn+1 as a subset of \(\mathbb{P}^{n+1}_{\mathbb{R}}\) via the embedding ι introduced in Section 2.1.

Lemma 7.1

The projective transformation π maps the standard paraboloid U⊆ℝn+1 to the unit sphere \(\mathbb {S}^{n}\subseteq\mathbb{R}^{n+1}\). The only point on \(\mathbb {S}^{n}\) which is not contained in the image of U under π is the north pole (1:0:…:0:1)T. The tangential hyperplane [1:0:…:0:1] at the north pole is the image of the ideal hyperplane under π.

Proof

For a point s∈ℝn we have

$$\pi \bigl(1:s_1:\dots:s_n:\|s\| \bigr)^T = \bigl(1+ \|s\|^2:2s_1:\dots :2s_n:\|s \|^2-1\bigr)^T , $$

and also 1+∥s2>0. The square of the norm of the (affine) image point is

This implies that π(s) lies on the unit sphere.

Since π induces a stereographic projection from ℝn to \(\mathbb {S}^{n}\setminus\{(1:0:\dots:0:1)^{T}\}\), we can show that (1:0:…:0:1)T is the only point on \(\mathbb {S}^{n}\) that is not contained in the image of π. To do this, it suffices to study the case n=1. The affine point

$$\pi(s_U) = \biggl(\frac{2s}{1+s^2},\frac{s^2-1}{1+s^2} \biggr)^T $$

is the intersection point of the unit circle and the connecting line of (s,0)T with the north pole (0,1)T; see Fig. 7.1.

Fig. 7.1
figure 1

An illustration of the standard parabola and of the map π inducing the stereographic projection

The last statement, i.e., that the ideal hyperplane [1:0:…:0] is mapped to the tangential hyperplane at the north pole, can be proved with a simple calculation. □

Exercise 7.2

Show that the closure of the image \(\overline{\pi(\operatorname {\mathcal {P}}(S))}\) is a polytope. [Hint: Use Lemma 6.11 to compute a ball that contains \(\pi(\operatorname {\mathcal {P}}(S))\).]

In the following we will denote the polytope \(\overline{\pi(\operatorname {\mathcal {P}}(S))}\) by P S . By construction, P S ⊆ℝn+1 is full-dimensional and has the origin in its interior. Its polar polytope \(Q_{S} \mathrel {\mathop {:}}=P_{S}^{\circ}\) is also full-dimensional and has the origin in its interior. Since π is differentiable, Lemma 7.1 implies that all facets of P S are tangent to \(\mathbb {S}^{n}\). This is true for the images of the facets of \(\operatorname {\mathcal {P}}(S)\) under π, as well as for the image of the ideal hyperplane [1:0:…:0]. This leads to the following \(\mathcal {V}\)-representation of Q S :

(7.1)

Furthermore, the points in (7.1) are the vertices of Q S . If we apply the map π −1 to Q S we obtain, since π −1((1:0:…:0:1)T)=(0:…:0:1)T, an unbounded polyhedron

$$R_S = \operatorname {conv}\{s_U:s \in S \} + \operatorname {pos}\bigl\{(0,\dots ,0,1)^T\bigr\} \subseteq \mathbb{R}^{n+1} . $$

Definition 7.3

The Delone polytope of S,

$$\operatorname {\mathcal {P}}^*(S) \mathrel {\mathop {:}}=\operatorname {conv}\{s_U:s\in S \} , $$

is the convex hull of the points of S lifted to the standard paraboloid.

By construction we have that \(\operatorname {\mathcal {P}}^{*}(S)\) is the convex hull of the vertices of the unbounded polyhedron R S . In Section 5.3 we defined “upper” and “lower” halves of convex polygons. We generalize this here for arbitrary polytopes.

Definition 7.4

Let h be an outer normal vector of a facet F of an (n+1)-polyhedron P⊆ℝn+1. With respect to the last coordinate direction, we call F an

$$\left. \begin{array}{l} \mbox{\emph{upper}} \\ \mbox{\emph{vertical}} \\ \mbox{\emph{lower}} \end{array}\right\}\ \mbox{ \ facet\index{facet!lower}\index{facet!upper}\index{facet!vertical} of $P$ if the scalar product $\bigl\langle h,e^{(n+1)}\bigr\rangle$ is \ }\ \left\{ \begin{array}{l} >0, \\ =0, \\ <0. \end{array} \right. $$

Definition 7.5

A polytopal subdivision of a finite point set S⊆ℝn is a polytopal subdivision of the convex hull \(\operatorname {conv}S\) whose vertex set consists of the points of S.

Theorem 7.6

Let P⊆ℝn+1 be a polytope with vertex set V and let

$$S = \bigl\{(v_1,\dots,v_n)^T:v\in V \bigr\} \subseteq \mathbb{R}^n $$

be the projection of V to the first n coordinates. Then the lower facets of P induce a polytopal subdivision that covers the set \(\operatorname {conv}S\). Furthermore, the image of every face F which is contained in a lower facet is affinely isomorphic to F. The same holds for the upper facets of P.

Proof

Since the lower (and upper) facets lie in the boundary complex of P (see Example 6.6), the intersection condition is automatically satisfied. It remains to show that the projections of the lower facets of P cover \(Q\mathrel {\mathop {:}}=\operatorname {conv}S\).

Let h be the outer normal vector of a lower facet F of P. Without loss of generality, let 〈h,F〉=0, i.e., \(\operatorname {aff}F=\operatorname {lin}F\) is a linear hyperplane. We choose a basis (v (1),…,v (n)) of \(\operatorname {lin}F\). Since h is perpendicular to \(\operatorname {lin}\{v^{(1)},\dots,v^{(n)}\}\), we know that (v (1),…,v (n),h) is a basis of ℝn+1. Additionally, since 〈h,e (n+1)〉≠0, the vectors \(v^{(1)}-v^{(1)}_{n+1}e^{(n+1)},\dots ,v^{(n)}-v^{(n)}_{n+1}e^{(n+1)},-e^{(n+1)}\) also form a basis. Therefore, the orthogonal projection of F is linearly (or in the general case, affinely) isomorphic to F. The same argument works for upper facets.

Since Q is a polytope, it remains to show that each vertex v of Q lies on the orthogonal projection of a lower and an upper facet. The preimage of v under the orthogonal projection is either a vertex v′ or a vertical edge of P. We begin by examining the first case. Since v′ is “visible” in the projection, there exists a vector h in the normal cone of v′ such that 〈h,e (n+1)〉=0. And since v′ is the unique preimage of v, we know that h is contained in the relative interior of the normal cone of v′. Thus, there exist vectors h +,h in the normal cone of v′ such that 〈h +,e (n+1)〉>0 and 〈h ,e (n+1)〉<0. Since 〈h +,e (n+1)〉>0, there exists at least one upper facet that contains v′. Furthermore, 〈h ,e (n+1)〉<0 implies that there is at least one lower facet that contains v′.

We still need to address the case where the preimage of v is a vertical edge [v′,w′] of P. Assume, without loss of generality, that v′ lies above w′. Then there exists a vector h + in the normal cone of v′ such that 〈h +,e (n+1)〉>0, and there exists a vector h in the normal cone of w′ such that 〈h ,e (n+1)〉<0. Thus, v′ is contained in at least one upper facet and w′ is contained in at least one lower facet of P. □

The proof also shows that each polytope in ℝn+1 has at least one lower and at least one upper facet. This is not necessarily true for unbounded polyhedra.

2 The Delone Subdivision

We now examine the lower facets of the Delone polytope

$$\operatorname {\mathcal {P}}^*(S) \mathrel {\mathop {:}}=\operatorname {conv}\{s_U:s\in S \} $$

of the finite point set S.

Theorem 7.7

The lower facets of \(\operatorname {\mathcal {P}}^{*}(S)\) induce, by vertical projection, a polytopal subdivision \(\operatorname {DS}(S)\) of S whose face poset is anti-isomorphic to the face poset of the Voronoi diagram \(\operatorname {VD}(S)\).

Proof

The vertex set of the polytope \(\operatorname {\mathcal {P}}^{*}(S)\) is the set {s U :sS}. Also, all facets of the polyhedron \(\operatorname {\mathcal {P}}(S)\) are lower facets. Together with Theorem 7.6, this implies that \(\operatorname {DS}(S)\) is a polytopal subdivision of S.

Each Voronoi cell \(F\in \operatorname {VD}(S)\) can be expressed as the intersection of Voronoi regions. This means that there exists a set of points F(S)⊆S such that \(F=\bigcap_{s\in F(S)}\operatorname {VR}_{S}(s)\). The map

$$ \kappa\, : \, \operatorname {VD}(S) \to \operatorname {DS}(S) , \quad F=\bigcap _{s\in F(S)}\operatorname {VR}_S(s) \mapsto \operatorname {conv}F(S) $$
(7.2)

is bijective, and thus by Theorem 3.32 reverses the inclusion relation between the faces. Together, this shows that κ defines an anti-isomorphism of the face poset of \(\operatorname {VD}(S)\) onto the face poset of \(\operatorname {DS}(S)\). □

Definition 7.8

The polytopal subdivision \(\operatorname {DS}(S)\) of the set S in Theorem 7.7 is called the Delone subdivision of S.

In particular, Theorem 7.7 states: For s,s′∈S the segment [s,s′] is an edge of the Delone subdivision \(\operatorname {DS}(S)\) if and only if the Voronoi regions \(\operatorname {VR}_{S}(s)\) and \(\operatorname {VR}_{S}(s')\) have a common facet.

As in Chapter 6, we say that the points of S are in general position if no (n+2)-element subset of S lies on a common sphere.

Corollary 7.9

If the points of S are in general position, then \(\operatorname {DS}(S)\) is a triangulation.

Proof

The statement follows from Exercise 6.16 and Corollary 3.33. □

The points in Fig. 7.2 are in general position and their Delone subdivision is a triangulation. The following definition makes use of the notion of refinement: we say that a polytopal subdivision \(\mathcal{S}_{1}\) of S refines a polytopal subdivision \(\mathcal{S}_{2}\) of S if every polytope of \(\mathcal{S}_{1}\) is contained in some polytope of \(\mathcal{S}_{2}\).

Fig. 7.2
figure 2

A Voronoi Diagram and the corresponding Delone subdivision

Definition 7.10

A Delone triangulation of S is a triangulation of S that refines the Delone subdivision.

If S is in general position, then \(\operatorname {DS}(S)\) is the unique Delone triangulation of S. We now discuss an important property of the Delone subdivision that results from its duality to the Voronoi diagram. As before, let S⊆ℝn be finite.

Theorem 7.11

Let TS be an arbitrary subset. The polytope \(\operatorname {conv}T\) is a face of the Delone subdivision \(\operatorname {DS}(S)\) if and only if there exists an open n-dimensional ball B such that BS=∅ and ∂BS=T.

Proof

First, let \(F\mathrel {\mathop {:}}=\operatorname {conv}T\) be a k-face of \(\operatorname {DS}(S)\). By Theorem 7.7, F is dual to an (nk)-face F of the Voronoi diagram \(\operatorname {VD}(S)\). Let x be a point in the relative interior of F . By Theorem 6.14 the largest open ball \(\mathbb {B}_{S}(x)\) around x that does not contain a point from S satisfies the condition \(\partial\mathbb{B}_{S}(x)\cap S=T\).

Now let B be an open ball such that BS=∅ and ∂BS=T. The center of B lies in the intersection of the Voronoi regions that correspond to the points in T. Again, Theorems 6.14 and 7.7 imply that \(\operatorname {conv}T\) is a face of \(\operatorname {DS}(S)\). □

Exercise 7.12

Prove that the lower facets of \(\operatorname {\mathcal {P}}^{*}(S)\) are precisely the bounded faces of R S . [Hint: The task of Exercise 6.4 was to show that a point sS lies on the boundary of the convex hull \(\operatorname {conv}S\) if and only if its Voronoi region \(\operatorname {VR}_{S}(s)\) is unbounded.]

Exercise 7.13

Let κ be the bijection from \(\operatorname {VD}(S)\) to \(\operatorname {DS}(S)\) defined in (7.2). Show that every face \(F\in \operatorname {VD}(S)\) is orthogonal to its image \(\kappa (F)\in \operatorname {DS}(S)\).

3 Computation of Volumes

We have already seen the versatility of convex hull algorithms when we applied them to Voronoi diagrams (and via duality to Delone subdivisions). To give the reader an idea of how central convex hull methods are to linear geometry, we will take a brief detour to discuss the computation of volumes.

Corollary 7.9 stated that the Delone subdivision of a point set S in general position is a triangulation. In this case, we can sum the volumes of the maximal simplices in \(\operatorname {DS}(S)\) to compute the volume of the convex hull \(\operatorname {conv}S\); see Algorithm 7.1.

Algorithm 7.1
figure 3

The volume of the convex hull of points in general position

To complete the description of this method we review the computation of the volume of a simplex. Let s (1),…,s (n+1)∈ℝn be points in general position, i.e., \(\varDelta \mathrel {\mathop {:}}=\operatorname {conv}\{s^{(1)},\dots,s^{(n+1)}\}\) is a simplex. Then,

(7.3)

is the volume of Δ. There is a beautiful geometric proof for this. From linear algebra we know that the determinant in (7.3) (without the factor 1/n!) is the volume of the parallelepiped spanned by the vectors s (1),…,s (n+1)∈ℝn. Every parallelepiped can be transformed into a cuboid via a shear mapping. Shear mappings are affine transformations which preserve volume. Hence, the above statement about the volume of Δ follows from Exercise 6.27, where we studied the triangulations of the standard cube [0,1]n. Alternatively, we can compute the volume of the simplex inductively with a calculation.

In general, of course, we cannot assume that the point set S is in general position. This is where the following exercise comes in.

Exercise 7.14

Show that each polytope P admits a triangulation whose vertices are precisely the vertices of P. [Hint: Use Corollary 7.9. If the vertices of P are not in general position employ the perturbation procedure from Lemma 3.48.]

Whether or not S is in general position, replacing \(\mathcal {D}\) in Algorithm 7.1 by any triangulation of \(\operatorname {conv}S\) gives an algorithm for volume computation. If S is not in general position, for instance, the triangulation obtained from Exercise 7.14 can be used.

Note that this method of computing the volume via Delone triangulations is of purely theoretical relevance. In the remarks at the end of this chapter we refer to approaches which are more relevant to practical applications.

Remark 7.15

In some practical applications it is necessary to compute the volume of non-convex geometric objects. Using the inclusion-exclusion formula, see Gallier [45, §4.4], one can generalize (exact or approximative) methods for computing the volume of convex polytopes to arbitrary finite unions of polytopes.

4 Optimality of Delone Triangulations

It is known that Delone triangulations (especially in the plane) satisfy several optimal properties within the set of all triangulations of a given set of points. For example, we have that in ℝ2 the minimal angle appearing in the triangles is maximized (as will be shown in Corollary 7.28). In higher dimensions the situation is more complicated. We will show that the maximal radius of the circumsphere is minimized.

Let \(\mathcal {T}\) be an arbitrary triangulation of a given finite point set S⊆ℝn such that \(\dim \operatorname {aff}S = n\). For every point \(x\in \operatorname {conv}S\) there exists a (not necessarily unique) n-simplex \(\varDelta\in \mathcal {T}\) that contains x. Let

$$\mathbb {S}(c,\rho) \mathrel {\mathop {:}}=\bigl\{y \in\mathbb{R}^n :\|y-c\| = \rho \bigr\} $$

be the unique sphere with center c and radius ρ which contains the vertices of Δ. We call \(\mathbb {S}(c,\rho)\) the sphere spanned by Δ. We define the number \(\psi_{\mathcal {T}}(x,\varDelta)\) as

$$\psi_\mathcal {T}(x,\varDelta) \mathrel {\mathop {:}}=\rho^2 - \|x-c \|^2 . $$

Clearly \(\psi_{\mathcal {T}}\) can only be non-negative. Furthermore, \(\psi_{\mathcal {T}}(x,\varDelta)=0\) if and only if x lies on the sphere \(\mathbb {S}(c,\rho)\), i.e., x is a vertex of \(\mathcal {T}\). For a Delone triangulation the value of the function does not depend on the simplex Δ. The proof is left to the reader in the following exercise.

Exercise 7.16

Let \(\mathcal {D}\) be a Delone triangulation of S. Show that for any two simplices Δ, Δ′ in \(\mathcal {D}\) that contain x we have

$$\psi_\mathcal {D}(x,\varDelta) = \psi_\mathcal {D}\bigl(x,\varDelta' \bigr) . $$

Therefore, we can unambiguously write \(\psi_{\mathcal {D}}(x)\) instead of \(\psi_{\mathcal {D}}(x,\varDelta)\) for a Delone triangulation \(\mathcal {D}\).

Before we study the map ψ for various triangulations of S, we need a general statement about the intersection of the standard paraboloid U from (6.3) with affine hyperplanes.

Proposition 7.17

Let p∈ℝn+1 with \(p_{n+1} < \sum_{i=1}^{n} p_{i}^{2}\). Then the intersection of the standard paraboloid U with the affine hyperplane

$$ H = \Biggl\{x \in\mathbb{R}^{n+1}:x_{n+1} = 2 \sum_{i=1}^n p_ix_i - p_{n+1} \Biggr\} $$
(7.4)

is mapped by the vertical projection to the sphere

$$ \Biggl\{x \in\mathbb{R}^n :\sum _{i=1}^n (x_i - p_i)^2 = \sum_{i=1}^n p_i^2 - p_{n+1} \Biggr\} \subseteq \mathbb{R}^n. $$
(7.5)

Conversely, the map xx U =(x,∥x2) lifts every sphere inn to the intersection of an affine hyperplane with U.

Figure 7.3 illustrates this projection.

Fig. 7.3
figure 4

The intersection of the standard paraboloid in ℝn+1 with an affine hyperplane projects to a sphere in ℝn

Proof

For every point xHU, equating the hyperplane and paraboloid expressions, we obtain the following:

$$2 p_1 x_1 + \dots+ 2 p_n x_n - p_{n+1} = x_1^2 + \dots+ x_n^2 . $$

This implies

$$\sum_{i=1}^n (x_i-p_i)^2 = \sum_{i=1}^n x_i^2-2 \sum_{i=1}^n x_ip_i + \sum_{i=1}^n p_i^2 = \sum_{i=1}^n p_i^2 - p_{n+1} , $$

which is the sphere equation from the statement.

Conversely, every sphere S⊆ℝn can be written in the form (7.5), so that the image of S under the lifting xx U is the intersection of U and the hyperplane defined by (7.4). □

To improve one’s understanding of the statement, it may be useful to compare Proposition 7.17 with Lemma 6.11.

Lemma 7.18

Let \(\mathcal {D}\) be a Delone triangulation of S and let \(\mathcal {T}\) be a different triangulation of S. Then for all \(x \in \operatorname {conv}S\)

$$\psi_\mathcal {D}(x) \le \psi_\mathcal {T}(x,\varDelta) $$

where Δ is an n-simplex from \(\mathcal {T}\) that contains x.

Proof

Let \(\mathbb {S}\) be the sphere spanned by Δ. We can write \(\mathbb {S}\) in the form

$$\mathbb {S}= \Biggl\{x \in\mathbb{R}^n :\sum_{i=1}^n (x_i - c_i)^2 = \sum _{i=1}^n c_i^2 - c_{n+1} \Biggr\} $$

for a vector c∈ℝn+1 where \(c_{n+1} < \sum_{i=1}^{n} c_{i}^{2}\). From this we obtain

(7.6)

The last expression is the directed vertical distance from x U =(x 1,…,x n ,∥x2)TU to the hyperplane H defined by \(x_{n+1} = 2 \sum_{i=1}^{n} c_{i}x_{i} - c_{n+1}\). Since \(\psi_{\mathcal {T}}(x,\varDelta)\ge0\), the hyperplane H lies above x U , or x U is a vertex of the Delone polytope \(\operatorname {\mathcal {P}}^{*}(S)\). By Proposition 7.17, and since \(\mathbb {S}\) contains the n+1 affinely independent points of S,

$$\operatorname {aff}\{x_U:x\in\varDelta\cap S \} = H . $$

Thus, the distance (7.6) is minimized if and only if H is a lower supporting hyperplane of \(\operatorname {\mathcal {P}}^{*}(S)\). This is equivalent to Δ being a simplex of a Delone triangulation of S. □

Besides the sphere containing the vertices of an n-simplex Δ, in the following we will study the uniquely determined smallest enclosing sphere of Δ. The next exercise illustrates when these two spheres coincide.

Exercise 7.19

The sphere \(\mathbb {S}\) spanned by Δ is also the smallest enclosing sphere of Δ if and only if the center of \(\mathbb {S}\) is contained in Δ.

We will now show that for an n-simplex Δ, the function \(\psi_{\mathcal {T}}(x,\varDelta)\) attains its maximum when x is the center of the smallest enclosing sphere of Δ.

Lemma 7.20

Let \(\varDelta\in \mathcal {T}\) be an n-simplex with smallest enclosing sphere \(\mathbb {S}'=\mathbb {S}(c',\rho')\). Then,

$$\max_{x\in\varDelta}\psi_\mathcal {T}(x,\varDelta) = \psi_\mathcal {T}\bigl(c',\varDelta\bigr) = {\rho'}^2 . $$

Proof

Let \(\mathbb {S}=\mathbb {S}(c,\rho)\) be the sphere spanned by Δ. If the center c of \(\mathbb {S}\) is contained in Δ, by Exercise 7.19 the two spheres \(\mathbb {S}\) and \(\mathbb {S}'\) coincide, and the statement is clear. Otherwise, c′ is contained in the boundary of Δ. Therefore, there exists a unique k-face F of Δ, for k∈{0,…,n−1}, that contains c in its relative interior. The k-dimensional sphere \(\mathbb {S}''\) spanned by F (in \(\operatorname {aff}F\)) is the intersection of the smallest enclosing sphere \(\mathbb {S}'\) and \(\operatorname {aff}F\). Here, \(\mathbb {S}'\) and \(\mathbb {S}''\) have the same center c′ (and the same radius ρ′). The point c′ minimizes the distance to c, and thus maximizes the function \(\psi_{\mathcal {T}}\) on Δ. This is illustrated in Fig. 7.4. It follows that

$$\psi_\mathcal {T}\bigl(c',\varDelta\bigr) = \rho^2- \|c'-c\|^2 = {\rho}'^2 , $$

which proves our claim.

Fig. 7.4
figure 5

A triangle which spans the circle \(\mathbb {S}\) and its smallest enclosing circle \(\mathbb {S}'\)

 □

Let Δ be a simplex of the triangulation \(\mathcal {T}\) of the point set S. We define ρ(Δ) as the circumradius, i.e., the radius of the smallest enclosing sphere of Δ. Then,

$$\rho(\mathcal {T}) \mathrel {\mathop {:}}=\max_{\varDelta\in \mathcal {T}}\rho(\varDelta) $$

is the maximal circumradius of \(\mathcal {T}\).

As mentioned at the beginning of this section, we will show that the Delone triangulations minimize the maximal circumradius in the set of all triangulations of S.

Theorem 7.21

Let \(\mathcal {D}\) be a Delone triangulation of S and let \(\mathcal {T}\) be another triangulation of S. Then, \(\rho(\mathcal {D}) \le\rho(\mathcal {T})\).

Proof

Let \(x_{\mathcal {T}}\) be a point in \(\operatorname {conv}S\) that maximizes the function \(\psi_{\mathcal {T}}\) and let \(x_{\mathcal {D}}\) be a point that maximizes \(\psi_{\mathcal {D}}\). By Lemma 7.20, the point \(x_{\mathcal {T}}\) is the center of the smallest enclosing sphere \(\mathbb {S}(x_{\mathcal {T}},\rho(\mathcal {T}))\) of an n-simplex Δ in \(\mathcal {T}\) which contains \(x_{\mathcal {T}}\). In the same way let \(\mathbb {S}(x_{\mathcal {D}},\rho(\mathcal {D}) )\) be the smallest enclosing sphere of an n-simplex in \(\mathcal {D}\) that contains \(x_{\mathcal {D}}\). Using Lemma 7.18 we obtain

$$\rho(\mathcal {D})^2 = \psi_\mathcal {D}(x_\mathcal {D}) \le \psi_\mathcal {T}\bigl(x_\mathcal {D},\varDelta'\bigr) \le \psi_\mathcal {T}(x_\mathcal {T},\varDelta) = \rho(\mathcal {T})^2 , $$

where Δ′ is an n-simplex from \(\mathcal {T}\) that contains \(x_{\mathcal {D}}\). □

Remark 7.22

It is possible for a non-Delone triangulation to have the same maximal circumradius as a Delone triangulation.

5 Planar Delone Triangulations

We will again use the strategy of first studying the general case, and then examining the planar case in greater detail. The main result of this section is an algorithm that takes an arbitrary triangulation of a point set S⊆ℝ2 and modifies it step-by-step into a Delone triangulation. This algorithm is not as fast as the beach line algorithm from Section 6.4, but it is nevertheless interesting for several other reason; see the remarks at the end of this section.

First, we examine an arbitrary planar convex quadrangle with vertices a,b,c,d (in cyclic order). This quadrangle has diagonals [a,c] and [b,d]. The four circles through each set of three vertices either coincide, or are pairwise distinct. The latter case occurs when the points are in general position; see Fig. 7.5.

Fig. 7.5
figure 6

A convex quadrangle with its diagonals and the four circles through each set of three vertices

The Delone subdivision of four points in general position is a triangulation. Exactly one of the two diagonals is therefore a Delone edge. By Theorem 7.11, this can be characterized by the existence of a circle through three points from {a,b,c,d} that does not contain the fourth point in its interior. The two circles through three points which have the Delone edge as a chord have this property. In Fig. 7.5 the Delone edge is [a,c] and the two Delone circles are through a,b,c and a,c,d. The other diagonal and the corresponding non-Delone circles are dashed.

The remaining results of this section rely on the following classical result of basic geometry.

Proposition 7.23

(Euclid: The Elements, Book III, Proposition 21)

Let a,b,c,d∈ℝ2 be the vertices of a convex quadrangle in cyclic order. The two diagonals define eight angles α 1,α 2,β 1,β 2,γ 1,γ 2,δ 1,δ 2 as shown in Fig7.6. Let C denote the circle through a,b,c. Then d lies

$$\left\{ \begin{array}{l} \mbox{\textit{on the outside of}} \\ \mbox{\textit{on}} \\ \mbox{\textit{on the inside of}} \end{array} \right\}\ C\quad \mbox{\textit{if and only if}} \quad \left\{ \begin{array}{l} \alpha_2>\delta_1 \mbox{ \textit{and} } \gamma_1>\delta_2\\ \alpha_2=\delta_1 \mbox{ \textit{and} } \gamma_1=\delta_2\\ \alpha_2<\delta_1 \mbox{ \textit{and} } \gamma_1<\delta_2 \end{array} \right\} . $$
Fig. 7.6
figure 7

Four points on a circle (left; as in Proposition 7.23—congruent angles are identically marked) and a quadrangle with Delone circle (right)

Exercise 7.24

In the configuration described in Proposition 7.23 show that the angles α 2, β 1, β 2 and γ 2 are determined by α 1, γ 1, δ 1 and δ 2.

An important consequence is that the smallest of the six interior angles of the non-Delone triangulation of a quadrangle is always smaller than the smallest of the six interior angles of a Delone triangulation.

Corollary 7.25

Let a,b,c,d∈ℝ2 be the vertices of a convex quadrangle in cyclic order which do not all lie on a common circle. Let [a,c] be the unique Delone edge as in Fig7.5. Using the angle labels from Proposition 7.23 and Fig7.6, we have

$$ \min\{\alpha_1+\alpha_2, \beta_1,\beta_2,\gamma_1+ \gamma_2,\delta_1,\delta_2\} < \min\{ \alpha_1,\alpha_2,\beta_1+ \beta_2,\gamma_1,\gamma_2, \delta_1+\delta_2\} . $$
(7.7)

Proof

We will prove the statement by providing for each element from the second set an element of the first set which is smaller: By Proposition 7.23, β 2<α 1, δ 1<α 2, δ 2<γ 1 and β 1<γ 2. Since β 2 and δ 2 are positive, β 1<β 1+β 2 and δ 1<δ 1+δ 2. □

After this examination of the elementary geometry of convex quadrangles, we will now fix a finite point set S⊆ℝ2 that affinely spans the plane, which we will use throughout the remainder of this section.

Let a,b,c,d be points of S such that {a,b,c} and {a,c,d} are (neighboring) triangles of a triangulation \(\mathcal {T}\). If a,b,c,d are the vertices of a convex quadrangle then,

is also a triangulation of S. We say \(\operatorname {Flip}(\mathcal {T},[a,c])\) is generated by a flip of the edge [a,c] of \(\mathcal {T}\). Edge flips are reversible since

$$\operatorname {Flip}\bigl(\operatorname {Flip}\bigl(\mathcal {T},[a,c]\bigr),[b,d]\bigr) = \mathcal {T}. $$

A diagonal edge of a triangulation \(\mathcal {T}\) is an edge in \(\mathcal {T}\) which is a diagonal in a convex quadrangle consisting of two neighboring triangles in \(\mathcal {T}\). We say that the corresponding convex quadrangle is spanned by a diagonal edge. A diagonal edge has the local Delone property if it is the Delone edge of the quadrangle that it spans. (Such an edge is also said to be locally Delone.) The quadrangle which is spanned by a locally Delone diagonal edge satisfies the angle relations from Corollary 7.25, or its vertices lie on a circle (which would imply that the second diagonal is also a Delone edge).

The usefulness of edge flips for Delone triangulations can be seen in Algorithm 7.2. We will see in Theorem 7.27 that the result is always a Delone triangulation of S.

Algorithm 7.2
figure 8

The flip algorithm for the computation of a Delone triangulation

First, we have to show that Algorithm 7.2 terminates. To do this, we need some sort of quality measure for triangulations of S that increases step-by-step throughout the flip algorithm.

Every triangulation \(\mathcal {T}\) of S has the same number of triangles, say k; this will be shown in Exercise 7.29. Therefore, we can assign to \(\mathcal {T}\) the vector \(W(\mathcal {T})\) of all 3k interior angles of \(\mathcal {T}\) in increasing order. The lexicographic order of these angle vectors induces a partial order on the set of all triangulations of S. We write \(\mathcal {T}>\mathcal {T}'\) if the vector \(W(\mathcal {T})\) is larger than \(W(\mathcal {T}')\) with respect to the lexicographic order. Since each flip of a diagonal edge which is not locally Delone strictly increases the triangulation, and since there are only a finite number of triangulations of S, the algorithm terminates.

Corollary 7.26

Let e be a diagonal edge of a triangulation \(\mathcal {T}\) of S that is not locally Delone. Then, \(\operatorname {Flip}(\mathcal {T},e)>\mathcal {T}\).

Proof

Under the assumptions of Corollary 7.25, [b,d] is a non-Delone edge of the quadrangle \(\operatorname {conv}\{a,b,c,d\}\). The inequality (7.7) states that the non-Delone triangulation \(\langle \operatorname {conv}\{a,b,d\},\operatorname {conv}\{b,c,d\}\rangle\) is smaller than the Delone triangulation

$$\bigl\langle \operatorname {conv}\{a,b,c\},\operatorname {conv}\{a,c,d\}\bigr\rangle = \operatorname {Flip}\bigl(\bigl\langle \operatorname {conv}\{ a,b,d\},\operatorname {conv}\{b,c,d\}\bigr\rangle,[b,d]\bigr) . $$

This property holds analogously for the quadrangle spanned by e and is inherited by \(\mathcal {T}\). All other angles remain constant. □

We are now able to prove the main theorem of this section which states that the flip algorithm 7.2 computes a Delone triangulation.

Theorem 7.27

A triangulation \(\mathcal {D}\) of S whose diagonal edges satisfy the local Delone property is a Delone triangulation of S.

Proof

Assume that the triangulation \(\mathcal {D}\) is not a Delone triangulation. Then, by Theorem 7.11, there exists a triangle \(\varDelta=\operatorname {conv}\{a,b,c\}\in \mathcal {D}\) whose open circumdisk B contains at least one point dS. Without loss of generality, let [a,c] be the edge of Δ that separates d from Δ. Choose one pair from the set of such pairs (Δ,d) that maximizes the angle (a,d,c). We illustrate this in Fig. 7.7.

Fig. 7.7
figure 9

An illustration of the proof of Theorem 7.27

The containment \([a,c]\subseteq \operatorname {conv}\{a,b,c,d\}\) implies that [a,c] is a diagonal edge of \(\mathcal {D}\) that by assumption satisfies the local Delone property. Thus, there exists a point d′∈S such that \(\varDelta'\mathrel {\mathop {:}}=\operatorname {conv}\{ a,c,d'\}\in \mathcal {D}\), which lies outside of B. The circumdisk B′ of Δ′ contains by construction the point d. Also, we have \(d\not\in\varDelta'\), since \(\mathcal {D}\) is a triangulation of S. Without loss of generality, let [a,d′] be the edge that separates d from Δ′.

Proposition 7.23 implies that the angle (a,d,d′) is larger than the angle (a,d,c), which contradicts our choice of the pair (Δ,d) as maximal. □

In other words, the previous theorem states that a Delone triangulation is a maximal element in the partial order induced by the angle vectors.

Corollary 7.28

Every Delone triangulation maximizes the smallest interior angle in the set of all triangulations of S.

In several applications, e.g., finite difference methods for solving partial differential equations, it is desirable to have triangulations including as few narrow triangles as possible. By Corollary 7.28, this, in the planar case, naturally leads to Delone triangulations.

It is possible to show that the Flip Algorithm 7.2 has quadratic worst case run-time. In this sense, it is inferior to the beach line algorithm from Section 6.4. However, the expected run-time (in an appropriate probability model) of the flip algorithm is linear. From a more theoretical viewpoint, the correctness of the algorithm implies that the configuration space of all triangulations of a given finite point set is connected with respect to flip operations.

Another reason for the flip algorithm’s popularity is that it can easily be extended to a dynamic algorithm to compute Delone triangulations. By this we mean the following: Let S⊆ℝ2 and x∈ℝ2S be such that S∪{x} is in general position. Assume we previously computed a unique Delone triangulation \(\mathcal {D}\) of S. Since we assumed S∪{x} to be in general position, x lies in the interior of a triangle \(\varDelta\in\nobreak \mathcal {D}\), or on the outside of \(\operatorname {conv}S\). In both cases it is easy to modify \(\mathcal {D}\) so that we obtain a triangulation of S∪{x}. Now, applying the flip algorithm yields a Delone triangulation of S∪{x} after just a few steps.

In a similar way, we can compute a Delone triangulation of S∖{s} for sS.

6 Inspection Using polymake

polymake is able to construct Voronoi diagrams and Delone triangulations of arbitrary dimension. We will only deal with the aspects concerning their visualization in this section.

As a first example, we choose the set S to be ten points in the plane whose coordinates represent the locations of the Berlin post offices from the introduction; see Fig. 1.2. To do this, we generate an object $Postoffices of type VoronoiDiagram. The point set S is given in homogeneous coordinates as the defining property SITES. Notice that we prepend the homogenizing ones as a single column vector of length ten. The second property SITE_LABELS is optional but useful to identify the points of S in the output.

figure a

The command

figure b

initiates the visualization of the Voronoi diagram, and simultaneously the Delone subdivision. Here, by choice, we view the output in JavaView, although other output methods are available. The result can be seen in Fig. 7.8. Since we listed specific labels for S in the section SITE_LABELS, these labels appear in the output. polymake automatically chooses a finite region of ℝ2 that contains the points of S and all vertices of the Voronoi diagram.

Fig. 7.8
figure 10

The Voronoi diagram and Delone subdivision of ten points in the plane (the points labeled H and I lie outside of the visible region of ℝ2)

Our second example is 3-dimensional. As a point set we take the eight vertices of a random polytope $R_3_8 as in Section 3.6.2; see Fig. 3.10, and additionally the eight vertices of the cube with coordinates ±3/2. Since the vertices of the random polytope are (almost) on the unit sphere, they are contained in the convex hull of the cube’s vertices. In total, we have |S|=16.

figure c

It is difficult, however, to depict the Voronoi diagram in printed form. The interactive features of JavaView are very useful here. Figure 7.9 shows two snapshots which may give the reader an impression of the 3-dimensional image.

Fig. 7.9
figure 11

16 points in ℝ3, their Voronoi diagram (left) and corresponding Delone subdivision and Voronoi vertices (right). Both pictures only show the region inside the cube [−4,4]3

7 Exercises

Exercise 7.29

Let S be an m-element point set in the plane ℝ2 such that h points lie on the boundary of the convex hull \(\operatorname {conv}S\). Show that every triangulation of S has exactly 2m−2−h triangles and 3m−3−h edges.

Exercise 7.30

Show that a triangulation of a finite point set in the plane is a Delone triangulation if and only if for every interior edge e, and for the two triangles which have e as an edge, the sum of the angles which lie opposite e is less than π.

8 Remarks

Euclid of Alexandria (ca. 365–300 B.C.) established the axiomatic method in mathematics with his groundbreaking work “The Elements”. However, many of the theorems appearing in this work are much older. For example, our Proposition 7.23 is often accredited to Thales of Milet (ca. 624–546 B.C.), indeed it might even be traced back to Babylonian mathematics. We recommend to the reader the interactive version of the “Elements” [68].

Further information about Delone triangulations can be found in [15, 31]. These triangulations were named after the Russian mathematician Boris Nikolajewitsch Delone. Note that several other texts use the name “Delaunay”, which comes from a French translation of the name. Delone subdivisions generalize to regular subdivisions of polytopes, a concept which is highly relevant to applications in algebraic geometry, for example; see De Loera, Rambau and Santos [32, §2.2.3].

The perturbation procedure of Lemma 3.48 directly gives rise to a triangulation of any polytope. For this there is no need of an additional Delone subdivision as in Exercise 7.14. Triangulations of this kind are known as pushing triangulations; see [32, §4.3.4].

Dyer and Frieze showed that computing the volume of a polytope given in outer description is #P-hard [37]. In practical applications it is common to use approximative methods which are based on so-called “random walks”; see Vempala [96] for a good overview.