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.

Voronoi diagrams and Delaunay triangulations in \({{\mathbb R}}^3\) are more interesting and more difficult to understand than in \({{\mathbb R}}^2\). In this section, we develop some intuition by considering these tessellations for a few symmetric point sets.

1 Lattices

The lattice generated by a set of \(d\) linearly independent vectors in \({{\mathbb R}}^d\) consists of all integer combinations: \(S = \{ \sum _{i=1}^d k_i \mathbf{u}_i \mid k_i \in {{\mathbb Z}} \text{ for } \text{ all } i \}\). In the plane, we just need two vectors to define a lattice. The most common example is the square lattice generated by the vectors \(\mathbf{u}_1 = (1, 0)\) and \(\mathbf{u}_2 = (0,1)\); see Fig. 4.1. The vectors are not unique. For example, the square lattice is also generated by the vectors \((2,1)\) and \((1,1)\). Every other lattice in the plane is the image of the square lattice under a linear map, but when we construct the Voronoi diagrams, we see significant differences.

Fig. 4.1
figure 1

The Voronoi diagram of the square lattice on the left, and that of another lattice on the right

Before we get there, we observe that every site in a lattice is locally the same. More precisely, for any two sites \(a, b \in S\), the translation by the difference vector leaves the lattice invariant: \(S = S + (b-a)\). This implies that the Voronoi regions are the same: \(V_b = V_a + (b-a)\). Furthermore, the central reflection through the origin leaves the lattice invariant: \(S = - S\). It follows that the Voronoi region of the origin is centrally symmetric. Since all other Voronoi regions are translates of this one, all Voronoi regions are centrally symmetric. In the plane, the only centrally symmetric convex polygons have \(2k\) edges, for \(k\) an integer larger or equal to \(2\). Of these, only \(4\)-gons and \(6\)-gons can be used to tile the plane. We thus have really only two types of Voronoi diagrams, both exemplified in Fig. 4.1. The square lattice on the left is not in general position. Indeed, the vertices in the Voronoi diagram have degree \(4\), so when we take the dual, we get quadrangles instead of triangles. The Voronoi regions on the right are hexagons, and they meet in triples at vertices of the diagram. In this case, the dual is a triangulation in which every vertex has degree \(6\).

2 Cube Lattice

We write \(2 {{\mathbb Z}}^3\) for the set of points with even integer coordinates in \({{\mathbb R}}^3\). It is a 3-dimensional lattice since we can write \(2 {{\mathbb Z}}^3\) as the set of all integer combinations of three vectors: \((2,0,0)\), \((0,2,0)\), \((0,0,2)\). The Voronoi region of any site is a cube with sides of length \(2\); see Fig. 4.2. Similar to the square lattice, \(2 {{\mathbb Z}}^3\) is not in general position, which for Voronoi diagrams in \({{\mathbb R}}^3\) would require that no five points lie on a common sphere. For this reason, we do not get a triangulation when we dualize. Indeed, the Delaunay triangulation of \(2 {{\mathbb Z}}^3\) consists of cubes that tile \({{\mathbb R}}^3\); it is still called a triangulation out of convention. The only difference between the Delaunay triangulation and the Voronoi diagram is that cubes of the former have their vertices in \(2 {{\mathbb Z}}^3\), while the cubes of the latter have their centers in \(2 {{\mathbb Z}}^3\).

Fig. 4.2
figure 2

A subset of \(27\) sites in the cube lattice, and the Voronoi region of the site at the center

3 BCC Lattice

We get the body-centered cubic lattice from \(2 {{\mathbb Z}}^3\) by adding the centers of the cubes to the set. Formally, we write \(B = 2 {{\mathbb Z}}^3 {\, \cup \,}\left( 2 {{\mathbb Z}}^3 + (1,1,1) \right) \). In other words, a point belongs to \(B\) iff all its coordinates are even integers or all its coordinates are odd integers. We call it a lattice since it is again generated by three vectors: \(\mathbf{u}_1 = (1,1,-1)\), \(\mathbf{u}_2 = (1,-1,1)\), \(\mathbf{u}_3 = (-1,1,1)\). To see this, we note that \(\mathbf{u}_1 + \mathbf{u}_2 + \mathbf{u}_3 = (1,1,1)\), and the pairwise sums give \((2,0,0)\), \((0,2,0)\), \((0,0,2)\). The latter generate \(2 {{\mathbb Z}}^3\), and adding \((1,1,1)\) gives the remaining sites. It is also clear that the vectors generate no points other than those in \(B\). Recall that the Voronoi regions of the sites are translates of each other and that they are centrally symmetric. To draw the Voronoi region of the origin, we note that it is the intersection of its Voronoi region within \(2{{\mathbb Z}}^3\), which is the cube \([-1,1]^3\), and the Voronoi region within \(2 {{\mathbb Z}}^3 + (1,1,1)\), which is a regular octahedron. Intersecting the two gives the truncated octahedron drawn in Fig. 4.3.

Fig. 4.3
figure 3

Left the Voronoi region of a site in the BCC lattice. Right a tetrahedron in the Delaunay triangulation of the BCC lattice

It is also interesting to draw the Delaunay triangulation of the BCC lattice. We have long edges of length \(2\) and short edges of length \(\sqrt{3}\). Every long edge connects the centers of two neighboring cubes, and every short edge connects the center of a cube with one of its corners. Every tetrahedron in the Delaunay triangulation consists of two long and four short edges; see Fig. 4.3. The dihedral angle at a long edge is \(90^\circ \), so that four tetrahedra fit around the edge. In contrast the dihedral angle at a short edge is \(60^\circ \), with six tetrahedra fitting around the edge. Indeed, these two types of edges correspond to the quadrangles and the hexagons in the dual Voronoi diagram.

Fig. 4.4
figure 4

Left the Voronoi region of a site in the FCC lattice. Right an octahedron and the eight neighboring tetrahedra in the Delaunay triangulation of the FCC lattice

4 FCC Lattice

We get the face-centered cubic lattice by adding the centers of the faces to the cube lattice. Formally, we define \(F\) as the set of points with integer coordinates that add up to an even number. It is again a lattice, generated by \(\mathbf{v}_1 = (1,1,0)\), \(\mathbf{v}_2 = (1,0,1)\), \(\mathbf{v}_3 = (0,1,1)\). To see that these vectors generate \(F\), we note that \(\mathbf{v}_1 + \mathbf{v}_2 - \mathbf{v}_3 = (2,0,0)\), \(\mathbf{v}_1 - \mathbf{v}_2 + \mathbf{v}_3 = (0,2,0)\), \(- \mathbf{v}_1 + \mathbf{v}_2 + \mathbf{v}_3 = (0,0,2)\) generate \(2 {{\mathbb Z}}^3\), and that adding \(\mathbf{v}_1\), \(\mathbf{v}_2\), and \(\mathbf{v}_3\) gives the face centers. It is clear that the vectors generate no other points.

The Voronoi region of a site is show in Fig. 4.4. It is the intersection of a non-regular octahedron with a square cylinder. In contrast to the BCC lattice, the dual Delaunay triangulation does not just consist of tetrahedra. To see this, note that the Voronoi region has two kinds of vertices: of degree \(3\) and of degree \(4\). Every degree-\(3\) vertex is shared by three other Voronoi regions, implying that it corresponds to a tetrahedron in the Delaunay triangulation. In contrast, every degree-\(4\) vertex is shared by five other Voronoi regions, and the dual cell in the Delaunay triangulation is an octahedron. Both the tetrahedron and the octahedron are regular, as illustrated in Fig. 4.4.

5 Quadratic Example

In all the examples we have seen so far, the number of edges, faces, and cells in the Delaunay triangulation are at most some constant times the number of sites. This is not true in general. Indeed, if we place \(n/2\) sites on a line, and another \(n/2\) sites on a second, skew line, then we have more than \(n^2/4\) edges in the Delaunay triangulation; see Fig. 4.5. This number can be further increased to \(n \atopwithdelims ()2\) by being more careful in how we place the points in \({{\mathbb R}}^3\). To describe how this is done, we define the moment curve as the set of points \(M(t) = (t, t^2, t^3)\), with \(t \in {{\mathbb R}}\). Suppose that \(S\) consists of \(n\) points chosen from the moment curve. We claim that the Delaunay triangulation of \(S\) contains all \(n \atopwithdelims ()2\) edges, which is clearly the maximum number possible. To see this, we observe that any sphere intersects the moment curve in at most four points. Indeed, we can write a sphere as the set of points that satisfy

$$\begin{aligned} (x_1 - A)^2 + (x_2 - B)^2 + (x_3 - C)^2 - R^2 = 0 . \end{aligned}$$

Substituting \(t\) for \(x_1\), \(t^2\) for \(x_2\), and \(t^3\) for \(x_3\), we get a polynomial equation of degree \(6\):

$$\begin{aligned} 0&= (t-A)^2 + (t^2-B)^2 + (t^3-C)^2 - R^2 \\&= t^6 + t^4 - 2C t^3 + (1-2B) t^2 - 2A t + (A^2 + B^2 + C^2 - R^2) . \end{aligned}$$
Fig. 4.5
figure 5

Delaunay triangulation of sites that lie on two it skew lines

A theorem of Descartes asserts that the number of roots is bounded from above by the number of sign changes when we read the coefficients in sequence.Footnote 1 Here we have \(1\), \(0\), \(1\), \(-2C\), \(1-2B\), \(-2A\), and \(A^2 + B^2 + C^2 - R^2\). No matter how we choose \(A, B, C, R\), we cannot have more than four sign changes, which implies the claimed upper bound on the number of intersections.

Why does this imply that the Delaunay triangulation of \(S\) has \(n \atopwithdelims ()2\) edges? To prove this, let \(t_1 < t_2 < \cdots < t_n\) be the parameters that define the \(n\) sites. For any four indices \(1 \le i < i+1 < j < j+1 \le n\), we consider the sphere that passes through the four corresponding points. It intersects the moment curve in these four points and in no others. It follows that the segments between \(M(t_i)\) and \(M(t_{i+1})\) and between \(M(t_j)\) and \(M(t_{j+1})\) lie inside the sphere, and the other three segments along the moment curve lie outside the sphere. Hence, the tetrahedron spanned by the four points belongs to the Delaunay triangulation. Every one of the \(n \atopwithdelims ()2\) edges belongs to at least one such tetrahedron and therefore also to the Delaunay triangulation, as claimed.