3.1 Planar Graphs, Maps and Embeddings

Definition 3.1

A graph Gā€‰=ā€‰(V, E) is planar if it can be properly drawn in the plane, that is, if there exists a mapping sending the vertices to distinct points of \(\mathbb {R}^2\) and edges to continuous curves between the corresponding vertices so that no two curves intersect, except at the vertices they share. We call such a mapping a proper drawing of G.

Remark 3.2

A single planar graph has infinitely many drawings. Intuitively, some may seem similar to one another, while others seem different. For example,

The following definition gives a precise sense to the above intuitive equivalence/non-equivalence of drawings.

Definition 3.3

A planar map is a graph endowed with a cyclic permutation of the edges incident to each vertex, such that there exists a proper drawing in which the clockwise order of the curves touching the image of a vertex respects that cyclic permutation.

The combinatorial structure of a planar map allows us to define faces directly (that is, without mentioning the drawing). Consider each edge of the graph as directed in both ways, and say that a directed edge \(\vec {e}\) precedes \(\vec {f}\) (or, equivalently, \(\vec {f}\) succeeds \(\vec {e}\)), if there exist vertices v, x, y such that \(\vec {e}=(x,v)\), \(\vec {f}=(v,y)\), and y is the successor of x in the cyclic permutation Ļƒ v; see Fig. 3.1.

We say that \(\vec {e},\vec {f}\) belong to the same face if there exists a finite directed path \(\vec {e}_1,\ldots ,\vec {e}_m\) in the graph with \(\vec {e}_i\) preceding \(\vec {e}_{i+1}\) for iā€‰=ā€‰1, ā€¦, mā€‰āˆ’ā€‰1 and such that either \(\vec {e}=\vec {e}_1\) and \(\vec {f}=\vec {e}_m\), or \(\vec {f}=\vec {e}_1\) and \(\vec {e}=\vec {e}_m\). This is readily seen to be an equivalence relation and we call each equivalence class a face . Even though a face is a set of directed edges, we frequently ignore the orientations and consider a face as the set of corresponding undirected edges. Each (undirected) edge is henceforth incident to either one or two faces.

Fig. 3.1
figure 1

Examples for the edge precedence relation. (a) \(\vec {e}\) precedes \(\vec {f}\). (b) (x, y) precedes (y, x)

When the map is finite an equivalent definition of a face is the set of edges that bound a connected component of the complement of the drawing, that is, of \(\mathbb {R}^2\) minus the images of the vertices and edges. This definition is not suitable for infinite planar maps since there may be a complicated set of accumulation points. Given a proper drawing of a finite planar map, there is a unique unbounded connected component of the complement of the drawing; the edges that bound it are called the outer face and all other faces are called inner faces . However, for any face in a finite map there is a drawing so that this face bounds the unique unbounded connected component, and because of this we shall henceforth refer to the outer face as an arbitrarily chosen face of the map.

We will use the following classical formula.

Theorem 3.4 (Eulerā€™s Formula)

Suppose G is a planar graph with n vertices, m edges and f faces. Then

$$\displaystyle \begin{aligned} n - m + f = 2. \end{aligned}$$

We now state the main theorem we will discuss and use throughout this course. Its proof is presented in the next section.

Theorem 3.5 (The Circle Packing Theorem [51])

Given any finite simple planar map Gā€‰=ā€‰(V, E), Vā€‰=ā€‰{v 1, ā€¦, v n}, there exist n circles in \(\mathbb {R}^2\) , C 1, ā€¦, C n , with disjoint interiors, such that C i is tangent to C j if and only if {i, j}āˆˆā€‰E. Furthermore, for every vertex v i , the clockwise order of the circles tangent to C i agrees with the cyclic permutation of v i ā€™s neighbors in the map.

Fig. 3.2
figure 2

Two distinct planar maps (of the same graph) with corresponding circle packings

Figure 3.2 gives examples for embeddings of maps which respect the cyclic orderings of neighbors, as guaranteed to exist according to the theorem.

Fig. 3.3
figure 3

Circle packing of a triangulation of a planar map. (a) A planar map and a triangulation. (b) A circle packing of the triangulation

First note that it suffices to prove the theorem for triangulations , that is, simple planar maps in which every face has precisely three edges. Indeed, in any planar map we may add a single vertex inside each face and connect it to all vertices bounding that face. The obtained map is a triangulation, and after applying the circle packing theorem for triangulations, we may remove the circles corresponding to the added vertices, obtaining a circle packing of the original map which respects its cyclic permutations. This is depicted in Fig. 3.3.

Thus, it suffices to prove Theorem 3.5 for finite triangulations. In this case an important uniqueness statement also holds.

Theorem 3.6

Let Gā€‰=ā€‰(V, E) be a finite triangulation on vertex set Vā€‰=ā€‰{v 1, ā€¦, v n} and assume that {v 1, v 2, v 3} form a face. Then for any three positive numbers Ļ 1, Ļ 2, Ļ 3 , there exists a circle packing C 1, ā€¦, C n as in Theorem 3.5 with the additional property that C 1, C 2, C 3 are mutually tangent, form the outer face, and have radii Ļ 1, Ļ 2, Ļ 3 , respectively. Furthermore, this circle packing is unique, up to translations and rotations of the plane.

3.2 Proof of the Circle Packing Theorem

We prove Theorem 3.6 which implies Theorem 3.5 as explained above. Therefore we assume from now on that our map is a triangulation. Denote by n, m and f the number of vertices, edges and faces of the map respectively, and observe that 3fā€‰=ā€‰2m since each edge is counted in exactly two faces, and each face is bounded by exactly three edges. Therefore, by Eulerā€™s formula (Theorem 3.4), we have that

$$\displaystyle \begin{aligned} 2 = n - m + f = n - \frac{3}{2}f + f = n - \frac{1}{2}f, \end{aligned}$$

thus

$$\displaystyle \begin{aligned} f=2n-4. \end{aligned} $$
(3.1)

We assume the vertex set is {v 1, ā€¦, v n}, that {v 1, v 2, v 3} is the outer face and that Ļ 1, Ļ 2, Ļ 3 are three positive numbers that will be the radii of the outer circles C 1, C 2, C 3 eventually. Denote by F āˆ˜ the set of inner faces of the map, and for a subset of vertices A let F(A) be the set of inner faces with at least one vertex in A. We write F(v) when we mean F({v}).

Given a vector rā€‰=ā€‰(r 1, ā€¦, r n)ā€‰āˆˆā€‰(0, āˆž) n, an inner face fā€‰āˆˆā€‰F āˆ˜ bounded by the vertices v i, v j, v k, and a distinguished vertex v j, we associate a number \(\alpha _f^{\mathbf {r}}(v_j)=\measuredangle v_iv_jv_k\in (0,\pi )\) which is the angle of v j in the triangle ā–³v i v j v k created by connecting the centers of three mutually tangent circles C i, C j, C k of radii r i, r j and r k (that is, in a triangle with side lengths r iā€‰+ā€‰r j, r jā€‰+ā€‰r k and r kā€‰+ā€‰r i). This number can be calculated using the cosine formula

$$\displaystyle \begin{aligned} \cos{}(\measuredangle v_iv_jv_k) = 1 - \frac{2r_ir_k}{(r_i+r_j)(r_j+r_k)} \, , \end{aligned}$$

however, we will not use this formula directly. For every jā€‰āˆˆ{1, ā€¦, n} we define

$$\displaystyle \begin{aligned} \sigma_{\mathbf{r}}(v_j) = \sum_{f\in F(v_j)}\alpha_f^{\mathbf{r}}(v_j) \end{aligned}$$

to be the sum of angles at v i with respect to r. Let Īø 1, Īø 2, Īø 3 be the angles formed at the centers of three mutually tangent circles C 1, C 2, C 3 of radii Ļ 1, Ļ 2, Ļ 3. Equivalently, these are the angles of a triangle with edge lengths r 1ā€‰+ā€‰r 2, r 2ā€‰+ā€‰r 3 and r 1ā€‰+ā€‰r 3. If the vector r was the vector of radii of a circle packing of the map satisfying Theorem 3.6, then it would hold that

$$\displaystyle \begin{aligned} \sigma_{\mathbf{r}}(v_i)= \begin{cases} \theta_i & i\in\{1,2,3\} \, ,\\ 2\pi & \text{otherwise} \, , \end{cases} \end{aligned} $$
(3.2)

and additionally (r 1, r 2, r 3)ā€‰=ā€‰(Ļ 1, Ļ 2, Ļ 3). The proof is split into three parts:

  1. 1.

    Show that there exists a vector rā€‰āˆˆā€‰(0, āˆž)n satisfying (3.2);

  2. 2.

    Given such r, show that a circle packing with these radii exists and that (r 1, r 2, r 3) is a positive multiple of (Ļ 1, Ļ 2, Ļ 3); furthermore, this circle packing is unique up to translations and rotations.

  3. 3.

    Show that r is unique up to scaling all entries by a constant factor.

3.2.1 Proof of Theorem 3.6, Step 1: Finding the Radii Vector r

Observation 3.7

For every r ,

$$\displaystyle \begin{aligned} \sum_{i=1}^n\sigma_{\mathbf{r}}(v_i) = \left|F^\circ\right|\pi = (2n-5)\pi. \end{aligned}$$

Proof

Follows immediately since each inner face f bounded by the vertices v i, v j, v k contributes the three angles \(\alpha _f^{\mathbf {r}}(v_i)\), \(\alpha _f^{\mathbf {r}}(v_j)\) and \(\alpha _f^{\mathbf {r}}(v_k)\) which sum to Ļ€. By (3.1), there are 2nā€‰āˆ’ā€‰5 inner faces. ā–”

We now set

$$\displaystyle \begin{aligned} \delta_{\mathbf{r}}(v_i)= \begin{cases} \sigma_{\mathbf{r}}(v_i) - \theta_i & j \in \{1,2,3\}\, ,\\ \sigma_{\mathbf{r}}(v_j) - 2\pi & \text{otherwise}. \end{cases} \end{aligned} $$
(3.3)

Using this notation, our goal is to find r for which Ī“ rā€‰ā‰”ā€‰0. It follows from Observation 3.7 that for every r,

$$\displaystyle \begin{aligned} \sum_{i=1}^n\delta_{\mathbf{r}}(v_i) = \sum_{i=1}^n\sigma_{\mathbf{r}}(v_i) - \theta_1 - \theta_2 - \theta_3 - (n-3)\cdot 2\pi = 0 \, . \end{aligned} $$
(3.4)

We define

$$\displaystyle \begin{aligned} \mathcal E_{\mathbf{r}}=\sum_{i=1}^n \delta_{\mathbf{r}}(v_i)^2. \end{aligned}$$

We would like to find r for which \(\mathcal E_{\mathbf {r}}=0\). We will use the following geometric observation; see Fig. 3.4.

Observation 3.8

Let rā€‰=ā€‰(r 1, ā€¦, r n) and \(\mathbf {r}'=(r_1^{\prime },\ldots ,r_n^{\prime })\) , and let fā€‰āˆˆā€‰F āˆ˜ be bounded by v i, v j, v k.

  • If \(r_i^{\prime }\le r_i\) , \(r_k^{\prime }\le r_k\) and \(r_j^{\prime }\ge r_j\) , then \(\alpha _f^{\mathbf {r}'}(v_j) \le \alpha _f^{\mathbf {r}}(v_j)\).

  • If \(r_i^{\prime }\ge r_i\) , \(r_k^{\prime }\ge r_k\) and \(r_j^{\prime }\le r_j\) , then \(\alpha _f^{\mathbf {r}'}(v_j) \ge \alpha _f^{\mathbf {r}}(v_j)\).

  • \(\alpha _f^{\mathbf {r}}(v_j)\) is continuous in r.

Proof

A proof using the cosine formula is routine and is omitted. ā–”

Fig. 3.4
figure 4

When the radius of a circle corresponding to a vertex increases, while the radii of the circles corresponding to its two neighbors in a given face decrease, the vertexā€™s angle in the corresponding triangle decreases (see Observation 3.8)

Fig. 3.5
figure 5

Left: finding the maximum gap between two consecutive values of Ī“, and splitting the set of values into S and its complement. Right: moving from r to r ā€² closes the gap between S and Vā€‰āˆ–ā€‰S

We now define an iterative algorithm, whose input and output are both vectors of radii normalized to have ā„“ 1 norm 1. We start with the vector \({\mathbf {r}}^{(0)}=\left (\frac {1}{n},\ldots ,\frac {1}{n}\right )\), and given rā€‰= r (t) we construct r ā€²ā€‰= r (t+1). Write Ī“ā€‰=ā€‰Ī“ r and \(\delta '=\delta _{\mathbf {r}'}\), and similarly \(\mathcal E=\mathcal E_{\mathbf {r}}\) and \(\mathcal E'=\mathcal E_{\mathbf {r}'}\). We begin by ordering the set of reals {Ī“(v i)āˆ£1ā€‰ā‰¤ā€‰iā€‰ā‰¤ā€‰n}. If Ī“ā€‰ā‰”ā€‰0 we are done; otherwise, we may choose \(s\in \mathbb {R}\) such that the set \(S=\{v\mid \delta (v)>s\}\ne \varnothing \) and its complement Vā€‰āˆ–ā€‰S are non-empty and such that the gap

$$\displaystyle \begin{aligned} \operatorname{\mathrm{gap}}_\delta(S):=\min_{v\in S}\delta(v) - \max_{v\notin S}\delta(v)>0 \end{aligned}$$

is maximal over all such s. See Fig. 3.5 for illustration.

Once we choose S, a step of the algorithm consists of two steps:

  1. 1.

    For some Ī»ā€‰āˆˆā€‰(0, 1) to be chosen later, we set

    $$\displaystyle \begin{aligned} ({\mathbf{r}}_\lambda)_i = \begin{cases} r_i & v_i\in S,\\ \lambda r_i & v_i\notin S. \end{cases} \end{aligned}$$
  2. 2.

    We normalize r Ī» so that the sum of entries is 1, letting \(\bar {\mathbf {r}}_\lambda \) be the normalized vector. Note that this step does not change the vector Ī“.

We will choose an appropriate Ī» that will decrease all values of Ī“(v) for vā€‰āˆˆā€‰S, increase all values of Ī“(v) for vāˆ‰S, and will close the gap. This is made formal in the following two claims.

Claim 3.9

For every Ī»ā€‰āˆˆā€‰(0, 1), setting \(\mathbf {r}'=\bar {\mathbf {r}}_\lambda \), we have that Ī“ā€²(v)ā€‰ā‰¤ā€‰Ī“(v) for any vā€‰āˆˆā€‰S, and Ī“ā€²(v)ā€‰ā‰„ā€‰Ī“(v) for any vāˆ‰S.

Claim 3.10

There exists Ī»ā€‰āˆˆā€‰(0, 1) such that setting \(\mathbf {r}'=\bar {\mathbf {r}}_\lambda \) gives that \( \operatorname {\mathrm {gap}}_{\delta '}(S)=0\).

Proof of Claim 3.9

Consider v jāˆ‰S and an inner face v i, v j, v k.

Case I :

v i, v kāˆ‰S. In this case, the radii of C i, C j, C k are all multiplied by the same number Ī», so \(\alpha _f^{\mathbf {r}'}(v_j) = \alpha _f^{\mathbf {r}}(v_j)\).

Case II :

v i, v kā€‰āˆˆā€‰S. In this case, the radii of C i, C k remain unchanged and the radius of C j decreases, thus by Observation 3.8, \(\alpha _f^{\mathbf {r}'}(v_j) \ge \alpha _f^{\mathbf {r}}(v_j)\).

Case III :

v iāˆ‰S, v kā€‰āˆˆā€‰S. In this case the radii of C i, C j are multiplied by Ī» and the radius of C k is unchanged. The angles of ā–³v i v j v k remain unchanged if we multiply all radii by Ī» āˆ’1, thus we could just as easily have left C i, C j unchanged and increased the radius of C k. By Observation 3.8, we get that \(\alpha _f^{\mathbf {r}'}(v_j) \ge \alpha _f^{\mathbf {r}}(v_j)\).

It follows that Ī“ā€²(v)ā€‰ā‰„ā€‰Ī“(v) for any vāˆ‰S. An identical argument shows that Ī“ā€²(v)ā€‰ā‰¤ā€‰Ī“(v) for all vā€‰āˆˆā€‰S. ā–”

In order to prove Claim 3.10, we present another claim.

Claim 3.11

Proof of Claim 3.10 Using Claim 3.11

The function \(\lambda \mapsto \operatorname {\mathrm {gap}}_{\delta _{{\mathbf {r}}_\lambda }}(S)\) is continuous on (0, 1] by the third bullet of Observation 3.8, and its value at Ī»ā€‰=ā€‰1 is \( \operatorname {\mathrm {gap}}_\delta (S) > 0\). Claim 3.11 says that if Ī¼ā€‰>ā€‰0 is small enough, then

$$\displaystyle \begin{aligned}\sum_{v \notin S} \delta_{{\mathbf{r}}_\mu}(v) > 0 \, , \end{aligned}$$

from which it follows that \(\max _{v \notin S} \delta _{{\mathbf {r}}_\mu }(v) > 0\). By (3.4), we also have

$$\displaystyle \begin{aligned} \sum_{v \in S} \delta_{{\mathbf{r}}_\mu}(v) < 0, \end{aligned}$$

meaning that \(\min _{v \in S} \delta _{{\mathbf {r}}_\mu }(v) < 0\) and therefore \( \operatorname {\mathrm {gap}}_{\delta _{{\mathbf {r}}_\mu }}(S) < 0\). By continuity, there exists Ī»ā€‰āˆˆā€‰(Ī¼, 1) such that \(\mathrm {gap}_{\delta _{{\mathbf {r}}_\lambda }}(S) = 0\). ā–”

Proof of Claim 3.11

We first show that for each face fā€‰āˆˆā€‰F(Vā€‰āˆ–ā€‰S) bounded by v i, v j, v k, the sum of angles at the vertices belonging to Vā€‰āˆ–ā€‰S converges to Ļ€ as . We show this by the following case analysis. The statements in cases II and III can be justified by drawing a picture or appealing to the cosine formula.

Case I :

If v i, v j, v kāˆ‰S then since the face is a triangle, \(\alpha _f^{{\mathbf {r}}_\lambda }(v_i) +\alpha _f^{{\mathbf {r}}_\lambda }(v_j) +\alpha _f^{{\mathbf {r}}_\lambda }(v_k)= \pi \) for all Ī»ā€‰āˆˆā€‰(0, 1).

Case II :

If v i, v jāˆ‰S but v kā€‰āˆˆā€‰S then , hence .

Case III :

If v iāˆ‰S but v j, v kā€‰āˆˆā€‰S then , hence .

It follows that

(3.5)

For convenience, set

$$\displaystyle \begin{aligned} \theta(v_i) = \begin{cases} \theta_i & 1 \leq i \leq 3, \\ 2\pi & \text{otherwise}, \end{cases} \end{aligned}$$

so that Ī“ r(v)ā€‰=ā€‰Ļƒ r(v)ā€‰āˆ’ā€‰Īø(v) for all vā€‰āˆˆā€‰Vā€‰. Then

(3.6)

Let \(\bar {F} = F^\circ \setminus F(V \setminus S)\), so every face in \(\bar {F}\) contains only vertices of S. We will show that

$$\displaystyle \begin{aligned} |\bar{F}| \pi < \sum_{v \in S} \theta(v). \end{aligned} $$
(3.7)

If (3.7) holds, then we can add the negative quantity \(|\bar {F}| \pi - \sum _{v \in S} \theta (v)\) to the right side of (3.6), obtaining |F āˆ˜|Ļ€ā€‰āˆ’āˆ‘v āˆˆ V Īø(v)ā€‰=ā€‰(2nā€‰āˆ’ā€‰5)Ļ€ā€‰āˆ’ā€‰(2nā€‰āˆ’ā€‰5)Ļ€ā€‰=ā€‰0. It follows that (3.6) is strictly positive, proving the claim. Thus it suffices to show (3.7).

In the rest of the proof, we fix an embedding of G in the plane with (v 1, v 2, v 3) as the outer face. Let G[S] be the subgraph of G induced by S. Partition S into equivalence classes, Sā€‰=ā€‰S 1ā€‰āˆŖā‹Æā€‰āˆŖā€‰S k, where two vertices are equivalent if they are in the same connected component of G[S]. Then G[S]ā€‰=ā€‰G[S 1]ā€‰āˆŖā‹Æā€‰āˆŖā€‰G[S k]. Let \(\bar {F}_j\) be the set of faces in \(\bar {F}\) that appear as faces of G[S j], so that we have the disjoint union \(\bar {F} = \bar {F}_1 \cup \cdots \cup \bar {F}_k\).

Since S is nonempty, it is enough to show that for all 1ā€‰ā‰¤ā€‰jā€‰ā‰¤ā€‰k,

$$\displaystyle \begin{aligned} |\bar{F}_j| \pi < \sum_{v \in S_j} \theta(v). \end{aligned} $$
(3.8)

Let m j and f j denote the number of edges and faces, respectively, of G[S j]. Observe that \(|\bar {F}_j| \leq f_j - 1\). If \(|\bar {F}_j| = 0\), then (3.8) is trivial. If \(|\bar {F}_j| \geq 1\), then G[S j] has at least one inner face, and since it is a simple graph, every face must have degree at least 3. (The degree of a face is the number of directed edges that make up its boundary.) Because the sum of the degrees of all the faces equals twice the number of edges, we have 2m jā€‰ā‰„ā€‰3f j. Eulerā€™s formula now gives

$$\displaystyle \begin{aligned} |S_j| + f_j - 2 = m_j \geq \frac{3}{2} f_j, \end{aligned}$$

and hence f jā€‰ā‰¤ā€‰2|S j|āˆ’ā€‰4. Thus, the left side of (3.8) satisfies

$$\displaystyle \begin{aligned} |\bar{F}_j| \pi \leq (2|S_j| - 5) \pi. \end{aligned}$$

If S j contains all of v 1, v 2, v 3, then the right side of (3.8) is

$$\displaystyle \begin{aligned} \theta_1 + \theta_2 + \theta_3 + (|S_j| - 3)\cdot 2\pi = (2|S_j| - 5) \pi. \end{aligned}$$

Otherwise, at least one of the Īø i is replaced by 2Ļ€ and so the right side of (3.8) is strictly greater than the left side. In fact, (3.8) holds except when v 1, v 2, v 3ā€‰āˆˆā€‰S j and \(|\bar {F}_j| = f_j - 1 = 2|S_j| - 5\). We now show that this situation cannot occur.

The equality \(|\bar {F}_j| = f_j - 1\) means that every inner face of G[S j] is an element of \(\bar {F}_j\) and therefore a face of G. Since v 1, v 2, v 3ā€‰āˆˆā€‰S j, the outer face of G[S j] is (v 1, v 2, v 3), which is the same as the outer face of G. So, every face of G[S j] is also a face of G. But this is impossible: if we choose any vā€‰āˆˆā€‰Vā€‰āˆ–ā€‰S, then v must lie in some face of G[S j], which then cannot be a face of G. Therefore, it cannot be true that v 1, v 2, v 3ā€‰āˆˆā€‰S j and also \(|\bar {F}_j| = f_j - 1\), so we conclude that (3.8) always holds. ā–”

We now analyse the algorithm. Let Ī»ā€‰āˆˆā€‰(0, 1) be the one guaranteed by Claim 3.10, and set \(\mathbf {r}'=\bar {\mathbf {r}}_\lambda \).

Claim 3.12

\(\mathcal E' \le \mathcal E\left (1-\frac {1}{2n^3}\right )\).

Proof

As depicted in Fig. 3.5, define

$$\displaystyle \begin{aligned} t = \min_{v\in S}\delta'(v) = \max_{v\notin S}\delta'(v). \end{aligned}$$

By (3.4) we have that \(\sum _{i=1}^n\delta (v_i)=\sum _{i=1}^n\delta '(v_i)=0\), hence

$$\displaystyle \begin{aligned} \mathcal E-\mathcal E' = \sum_{i=1}^n \delta(v_i)^2 - \sum_{i=1}^n \delta'(v_i)^2 = \sum_{i=1}^n (\delta(v_i)-\delta'(v_i))^2+ 2\sum_{i=1}^n (t-\delta'(v_i))(\delta'(v_i)-\delta(v_i)). \end{aligned}$$

If vā€‰āˆˆā€‰S, then tā€‰ā‰¤ā€‰Ī“ā€²(v)ā€‰ā‰¤ā€‰Ī“(v) and if vāˆ‰S, then tā€‰ā‰„ā€‰Ī“ā€²(v)ā€‰ā‰„ā€‰Ī“(v). Thus, in both cases (tā€‰āˆ’ā€‰Ī“ā€²(v))(Ī“ā€²(v)ā€‰āˆ’ā€‰Ī“(v))ā€‰ā‰„ā€‰0. Taking uā€‰āˆˆā€‰S and vāˆ‰S with Ī“ā€²(u)ā€‰=ā€‰Ī“ā€²(v)ā€‰=ā€‰t, we have that

$$\displaystyle \begin{aligned} \mathcal E-\mathcal E' \ge (\delta(u)-t)^2 + (\delta(v)-t)^2 \ge \frac{(\delta(u)-\delta(v))^2}{2} \ge \frac{\operatorname{\mathrm{gap}}_{\delta}(S)^2}{2} \, . \end{aligned}$$

Since \( \operatorname {\mathrm {gap}}_{\delta }(S)\) was chosen to be the maximal gap we may bound,

$$\displaystyle \begin{aligned} \operatorname{\mathrm{gap}}_{\delta}(S) \ge \frac{1}{n}\left(\max_{v\in V}\delta(v) - \min_{v\in V}\delta(v)\right) \, . \end{aligned}$$

For every vā€‰āˆˆā€‰Vā€‰,

$$\displaystyle \begin{aligned} \max_{w\in V}\delta(w) - \min_{w\in V}\delta(w) \ge |\delta(v)|, \end{aligned}$$

and thus

$$\displaystyle \begin{aligned} n\left(\max_{v\in V}\delta(v) - \min_{v\in V}\delta(v)\right)^2 \ge \sum_{i=1}^n \delta(v_i)^2 = \mathcal E \, . \end{aligned}$$

Hence

$$\displaystyle \begin{aligned} \mathcal E-\mathcal E' \ge \frac{1}{2n^2} \left( \max_{v\in V}\delta(v) - \min_{v\in V}\delta(v) \right)^2 \ge \frac{1}{2n^2}\cdot\frac{\mathcal E}{n}, \end{aligned}$$

and we conclude that

$$\displaystyle \begin{aligned} \mathcal E' \le \mathcal E\left(1-\frac{1}{2n^3}\right). \end{aligned}$$

ā–” ā–”

Write \(\mathcal E^{(t)}=\mathcal E_{{\mathbf {r}}^{(t)}}\). By iterating the described algorithm, we obtain from Claim 3.12 that

$$\displaystyle \begin{aligned} \mathcal E^{(t)} \le \mathcal E^{(0)}\left(1-\frac{1}{2n^3}\right)^t \longrightarrow 0 \qquad \mbox{as } t \to \infty \, . \end{aligned}$$

By our normalization \(\left \|{\mathbf {r}}^{(t)}\right \|{ }_{\ell _1}=1\). Thus, by compactness, there exists a subsequence {t k} and a vector r āˆž such that \({\mathbf {r}}^{(t_k)}\to {\mathbf {r}}^\infty \) as kā€‰ā†’āˆž. From continuity of \(\mathcal{E}\) we have that \(\mathcal E\left ({\mathbf {r}}^\infty \right )=0\), meaning that (3.2) is satisfied. For r āˆž to be feasible as a vector of radii, we also have to argue that it is positive (the fact that no coordinates are āˆž follows since \(|| {\mathbf {r}}^\infty ||{ }_{\ell _1}=1\)).

Claim 3.13

\({\mathbf {r}}^\infty _i>0\) for every i.

Proof

Let \(S = \{ v_i \in V : {\mathbf {r}}_i^\infty > 0 \}\). Because of the normalization of r, we know that S is nonempty. Assume for contradiction that \(S \subsetneq V\). We repeat the exact same argument used in the proof of Claim 3.11 showing first by case analysis that

$$\displaystyle \begin{aligned} \lim_{t \to \infty} \sum_{v \notin S} \sigma_{{\mathbf{r}}^{(t)}}(v) = |F(V \setminus S)| \pi \end{aligned}$$

and then deducing that

$$\displaystyle \begin{aligned} \lim_{t \to \infty} \sum_{v \notin S} \delta_{{\mathbf{r}}^{(t)}}(v) > 0. \end{aligned}$$

This contradicts that \(\lim _{t \to \infty } \mathcal E^{(t)} = 0\), so we conclude that Sā€‰=ā€‰Vā€‰. ā–”

3.2.2 Proof of Theorem 3.6, Step 2: Drawing the Circle Packing Described by r āˆž

Given the vector of radii r āˆž satisfying (3.2), we now show that the corresponding circle packing can be drawn uniquely up to translations and rotations. In fact, we provide a slightly more general statement which is due to Ori Gurel-Gurevich and Ohad Feldheim [personal communications, 2018].

Let Gā€‰=ā€‰(V, E) be a finite planar triangulation on vertex set {v 1, ā€¦, v n} and assume that {v 1, v 2, v 3} is the outer face. A vector of positive real numbers ā„“ā€‰=ā€‰{ā„“ e}e āˆˆ E indexed by the edge set E is called feasible if for any face enclosed by edges e 1, e 2, e 3, the lengths \(\ell _{e_1}, \ell _{e_2}, \ell _{e_3}\) can be made to form a triangle. In other words, these lengths satisfy three triangle inequalities,

$$\displaystyle \begin{aligned}\ell_{e_i} + \ell_{e_j} > \ell_{e_k} \qquad \{i,j,k\} = \{1,2,3\} \, .\end{aligned}$$

Given a feasible edge length vector ā„“ we may again use the cosine formula to compute, for each face f, the angle at a vertex of the triangle formed by the three corresponding edge lengths. We denote these angles, as before, by \(\alpha ^{{\boldsymbol \ell }}_f(v)\) where v is a vertex of f. Similarly, we define

$$\displaystyle \begin{aligned}\sigma_{{\boldsymbol\ell}}(v) = \sum_{f \in F(v)} \alpha^{{\boldsymbol\ell}}_f(v)\end{aligned}$$

to be the sum of angles at a vertex v.

Theorem 3.14

Let G be a finite triangulation and ā„“ a feasible vector of edge lengths. Assume that Ļƒ ā„“(v)ā€‰=ā€‰2Ļ€ for any internal vertex v. Then there is a drawing of G in the plane so that each edge e is drawn as a straight line segment of length ā„“ e and no two edges cross. Furthermore, this drawing is unique up to translations and rotations.

It is easy to use the theorem above to draw the circle packing given the radii vector r āˆž satisfying (3.2). Indeed, given r āˆž we set ā„“ by putting \(\ell _e = {\mathbf {r}}^\infty _i + {\mathbf {r}}^\infty _j\) for any edge eā€‰=ā€‰{v i, v j} of the graph. Condition (3.2) implies that ā„“ is feasible. We now apply Theorem 3.14 and obtain the guaranteed drawing and draw a circle C i of radii \({\mathbf {r}}^\infty _i\) around v i for all i. Theorem 3.14 guarantees that for any edge {v i, v k} the distance between v i, v j is precisely \({\mathbf {r}}^\infty _i + {\mathbf {r}}^\infty _j\) and thus C i and C j are tangent. Conversely, assume that v i, v j do not form an edge. To each vertex v let A v be the union of triangles touching v, each triangle is the space bounded by a face touching v in the drawing of Theorem 3.14. Since G is a triangulation and v i and v j are not adjacent we learn that \(A_{v_i}\) and \(A_{v_j}\) have disjoint interiors. Furthermore, \(C_i \subset \mathrm {{Int}}(A_{v_i})\) since the straight lines emanating from v i have length larger than \({\mathbf {r}}^\infty _i\). By the same token \(C_j \subset \mathrm {{Int}}(A_{v_j})\) and we conclude that C i and C j are not tangent.

Lastly, we note that by (3.2) the outer boundary of the polygon we drew is a triangle with angles Īø 1, Īø 2, Īø 3 and hence (r 1, r 2, r 3) is a positive multiple of (Ļ 1, Ļ 2, Ļ 3). Step 2 of the proof of Theorem 3.5 is now concluded.

Proof of Theorem 3.14

We prove this by induction on the number of vertices n. The base case nā€‰=ā€‰3 is trivial since the feasibility of ā„“ guarantees that the edge lengths of the three edges of the outer face can form a triangle. Any two triangles with the same edge lengths can be rotated and translated to be identical, so the uniqueness statement holds for nā€‰=ā€‰3.

Assume now that nā€‰>ā€‰3 so that there exists an internal vertex v. Denote by v 1, ā€¦, v m the neighbors of v ordered clockwise. We begin by placing v at the origin and drawing all the faces to which v belongs, see Fig. 3.6, left. That is, we draw the edge {v, v 1} as a straight line interval of length \(\ell _{\{v,v_1\}}\) on the positive x-axis emanating from the origin and proceed iteratively: for each 1ā€‰<ā€‰iā€‰ā‰¤ā€‰m we draw the edge {v, v i} as a straight line interval of length \(\ell _{\{v,v_i\}}\) emanating from the origin (v) at a clockwise angle of \(\alpha ^{{\boldsymbol \ell }}_f(v)\) from the previous drawn line segment of {v, v iāˆ’1}, where fā€‰=ā€‰{v, v iāˆ’1, v i}. This determines the location of v 1, ā€¦, v m in the plane and allows us to ā€œcompleteā€ the triangles by drawing the straight line segments connecting v i to v i+1, each of length \(\ell _{\{v_i,v_{i+1}\}}\) where 1ā€‰ā‰¤ā€‰iā€‰ā‰¤ā€‰m (where v m+1ā€‰=ā€‰v 1). Denote these edges by e 1, ā€¦, e m.

Fig. 3.6
figure 6

On the left, we first draw the polygon surrounding v. On the right, we then erase v and the edge emanating from it, replacing it with diagonals that triangulate the polygon while recording the lengths of the diagonals in ā„“ ā€². The latter is the input to the induction hypothesis

Since Ļƒ ā„“(v)ā€‰=ā€‰2Ļ€ we learn that these m triangles have disjoint interiors and that the edges e 1, ā€¦, e m form a closed polygon containing the origin in its interior. It is a classical fact [64] that every closed polygon can be triangulated by drawing some diagonals as straight line segments in the interior of the polygon. We fix such a choice of diagonals and use it to form a new graph Gā€² on nā€‰āˆ’ā€‰1 vertices and |E(G)|āˆ’ā€‰3 edges by erasing v and the m edges emanating from it and adding the new mā€‰āˆ’ā€‰3 edges corresponding to the diagonals we added. Furthermore, we generate a new edge length vector ā„“ ā€² corresponding to Gā€² by assigning the new edges lengths corresponding to the Euclidean length of the drawn diagonals and leaving the other edge lengths unchanged. See Fig. 3.6, right.

It is clear that ā„“ ā€² is feasible and that the angle sum at each internal vertex of Gā€² is 2Ļ€. Therefore we may apply the induction hypothesis and draw the graph Gā€² according to the edge lengths ā„“ ā€². This drawing is unique up to translations and rotations by induction. Note that in this drawing of Gā€², the polygon corresponding to e 1, ā€¦, e m must be the exact same polygon as before, up to translations and rotations, since it has the same edge lengths and the same angles between its edges. Since it is the same polygon, we can now erase the diagonals in this drawing and place a new vertex in the same relative location where we drew v previously, along with the straight line segments connecting it to v 1, ā€¦, v m. Thus we have obtained the desired drawing of G. The uniqueness up to translations and rotations of this drawing follows from the uniqueness of the drawing of Gā€² and the fact that the location of v is uniquely determined in that drawing. ā–”

3.2.3 Proof of Theorem 3.6, Step 3: Uniqueness

Theorem 3.15 (Uniqueness of Circle Packing)

Given a simple finite triangulation with outer face v 1, v 2, v 3 and three radii Ļ 1, Ļ 2, Ļ 3 , the circle packing with \(C_{v_1},C_{v_2},C_{v_3}\) having radii Ļ 1, Ļ 2, Ļ 3 is unique up to translations and rotations.

Proof

We have already seen in step 2 that given the radii vector r the drawing we obtain is unique up to translations and rotations. Thus, we only need to show the uniqueness of r given Ļ 1, Ļ 2, Ļ 3.

To that aim, suppose that r a and r b are two vectors satisfying (3.2). Since the outer face in both vectors correspond to a triangle of angles Īø 1, Īø 2, Īø 3 we may rescale so that \({\mathbf {r}}^a_i={\mathbf {r}}^b_i=\rho _i\) for iā€‰=ā€‰1, 2, 3. After this rescaling, assume by contradiction that r aā€‰ā‰  r b and let v be the interior vertex which maximizes \({{\mathbf {r}}_v^a}/{{\mathbf {r}}_v^b}\). We can assume without loss of generality that this quantity is strictly larger than 1, as otherwise we can swap r a and r b.

Now we claim that for each fā€‰=ā€‰(v, u 1, u 2)ā€‰āˆˆā€‰F(v), we have \(\alpha _f^{{\mathbf {r}}^a}(v) \leq \alpha _f^{{\mathbf {r}}^b}(v)\), with equality if and only if the ratios \({\mathbf {r}}_{u_i}^a / {\mathbf {r}}_{u_i}^b\), for iā€‰=ā€‰1, 2, are both equal to \({\mathbf {r}}_v^a / {\mathbf {r}}_v^b\). This is a direct consequence of Observation 3.8. Indeed, scale all the radii in r b by a factor of \({\mathbf {r}}_v^a / {\mathbf {r}}_v^b\) to get a new vector r ā€² such that \({\mathbf {r}}_v^a = {\mathbf {r}}^{\prime }_v\) and \({\mathbf {r}}_u^a \leq {\mathbf {r}}^{\prime }_u\) for all uā€‰ā‰ ā€‰v. The second bullet point in Observation 3.8 implies that \(\alpha _f^{{\mathbf {r}}^a}(v) \leq \alpha _f^{\mathbf {r}'}(v) = \alpha _f^{{\mathbf {r}}^b}(v)\). As well, if either \({\mathbf {r}}_{u_1}^a < {\mathbf {r}}^{\prime }_{u_1}\) or \({\mathbf {r}}_{u_2}^a < {\mathbf {r}}^{\prime }_{u_2}\), then the cosine formula yields the strict inequality \(\alpha _f^{{\mathbf {r}}^a}(v) < \alpha _f^{\mathbf {r}'}(v)\). Thus, \(\alpha _f^{{\mathbf {r}}^a}(v) = \alpha _f^{{\mathbf {r}}^b}(v)\) only if \({\mathbf {r}}_{u_i}^a / {\mathbf {r}}_{u_i}^b = {\mathbf {r}}_v^a / {\mathbf {r}}_v^b\) for iā€‰=ā€‰1, 2.

Now, since \(\alpha _f^{{\mathbf {r}}^a}(v) \leq \alpha _f^{{\mathbf {r}}^b}(v)\) for each fā€‰āˆˆā€‰F(v), while \(\sigma _{{\mathbf {r}}^a}(v) = \sigma _{{\mathbf {r}}^b}(v) = 2\pi \), the equality \(\alpha _f^{{\mathbf {r}}^a}(v) = \alpha _f^{{\mathbf {r}}^b}(v)\) must hold for each f. Therefore, each neighbor u of v satisfies \({\mathbf {r}}_u^a / {\mathbf {r}}_u^b = {\mathbf {r}}_v^a / {\mathbf {r}}_v^b\). Because the graph is connected, the ratio \({\mathbf {r}}_u^a / {\mathbf {r}}_u^b\) must be constant for all vertices uā€‰āˆˆā€‰Vā€‰(G). But this contradicts that \({\mathbf {r}}_v^a / {\mathbf {r}}_v^b > 1\) while \({\mathbf {r}}_{v_i}^a / {\mathbf {r}}_{v_i}^b = 1\) for iā€‰=ā€‰1, 2, 3. We conclude that r aā€‰= r b. ā–”