Circle packing theorem
The circle packing theorem (also known as the Koebe–Andreev–Thurston theorem) describes the possible tangency relations between circles in the plane whose interiors are disjoint. A circle packing is a connected collection of circles (in general, on any Riemann surface) whose interiors are disjoint. The intersection graph (sometimes called the tangency graph or contact graph) of a circle packing is the graph having a vertex for each circle, and an edge for every pair of circles that are tangent. If the circle packing is on the plane, or, equivalently, on the sphere, then its intersection graph is called a coin graph. Coin graphs are always connected, simple, and planar. The circle packing theorem states that the converse also holds:
Circle packing theorem: For every connected simple planar graph G there is a circle packing in the plane whose intersection graph is (isomorphic to) G.
A uniqueness statement 
A graph G is triangulated planar if it is planar and every connected component of the complement of the embedding of G in the sphere has precisely three edges on its boundary, or in other words, if G is the 1-skeleton of a simplicial complex which is homeomorphic to the sphere. Any triangulated planar graph G is connected and simple, so the circle packing theorem guarantees the existence of a circle packing whose intersection graph is (isomorphic to) G. Such a G must also be finite, so its packing will have a finite number of circles. As the following theorem states more formally, every maximal planar graph can have at most one packing.
Koebe–Andreev–Thurston theorem: If G is a finite triangulated planar graph, then the circle packing whose tangency graph is (isomorphic to) G is unique, up to Möbius transformations and reflections in lines.
Thurston observes that this uniqueness is a consequence of the Mostow rigidity theorem. The plane in which the circles are packed may be viewed as the boundary of a halfspace model for hyperbolic space; with this view, each circle is the boundary of a plane within the hyperbolic space. One can define a set of disjoint planes from the circles of the packing, and a second set of disjoint planes defined by the circles surrounding each triangular gap between three of the circles in the packing. These two sets of planes meet at right angles, and form the generators of a reflection group whose fundamental domain can be viewed as a hyperbolic manifold. By Mostow rigidity, the hyperbolic structure of this domain is uniquely determined, up to isometry of the hyperbolic space; these isometries, when viewed in terms of their actions on the Euclidean plane on the boundary of the half-plane model, translate to Möbius transformations.
There is also a more elementary proof based on the maximum principle and on the observation that, in the triangle connecting the centers of three mutually tangent circles, the angle formed at the center of one of the circles is monotone decreasing in its radius and monotone increasing in the two other radii. Given two packings for the same graph G, one may apply reflections and Möbius transformations to make the outer circles in these two packings correspond to each other and have the same radii. Then, let v be an interior vertex of G for which the circles in the two packings have sizes that are as far apart as possible: that is, choose v to maximize the ratio r1/r2 of the radii of its circles in the two packings. For each triangular face of G containing v, it follows that the angle at the center of the circle for v in the first packing is less than or equal to the angle in the second packing, with equality possible only when the other two circles forming the triangle have the same ratio r1/r2 of radii in the two packings. But the sum of the angles of all of these triangles surrounding the center of the triangle must be 2π in both packings, so all neighboring vertices to v must have the same ratio as v itself. By applying the same argument to these other circles in turn, it follows that all circles in both packings have the same ratio. But the outer circles have been transformed to have ratio 1, so r1/r2 = 1 and the two packings have identical radii for all circles.
Generalizations of the circle packing theorem 
The circle packing theorem generalizes to graphs that are not planar. If G is a graph that can be embedded on a surface S, then there is a constant curvature Riemannian metric d on S and a circle packing on (S, d) whose contacts graph is isomorphic to G. If S is closed (compact and without boundary) and G is a triangulation of S, then (S, d) and the packing are unique up to conformal equivalence. If S is the sphere, then this equivalence is up to Möbius transformations; if it is a torus, then the equivalence is up to scaling by a constant and isometries, while if S has genus at least 2, then the equivalence is up to isometries.
Another generalization of the circle packing theorem involves replacing the condition of tangency with a specified intersection angle between circles corresponding to neighboring vertices. A particularly elegant version is as follows. Suppose that G is a finite 3-connected planar graph (that is, a polyhedral graph), then there is a pair of circle packings, one whose intersection graph is isomorphic to G, another whose intersection graph is isomorphic to the planar dual of G, and for every vertex in G and face adjacent to it, the circle in the first packing corresponding to the vertex intersects orthogonally with the circle in the second packing corresponding to the face.
Yet another variety of generalizations allow shapes that are not circles. Suppose that G = (V, E) is a finite planar graph, and to each vertex v of G corresponds a shape , which is homeomorphic to the closed unit disk and whose boundary is smooth. Then there is a packing in the plane such that if and only if and for each the set is obtained from by translating and scaling. (Note that in the original circle packing theorem, there are three real parameters per vertex, two of which describe the center of the corresponding circle and one of which describe the radius, and there is one equation per edge. This also holds in this generalization.) One proof of this generalization can be obtained by applying Koebe's original proof and the theorem of Brandt and Harrington stating that any finitely connected domain is conformally equivalent to a planar domain whose boundary components have specified shapes, up to translations and scaling.
Relations with conformal mapping theory 
A conformal map between two open sets in the plane or in a higher dimensional space is a continuous function from one set to the other that preserves the angles between any two curves. The Riemann mapping theorem, formulated by Bernhard Riemann in 1851, states that, for any two open topological disks in the plane, there is a conformal map from one disk to the other. Conformal mappings have applications in mesh generation, map projection, and other areas. However, it is not always easy to construct a conformal mapping between two given domains in an explicit way.
At the Bieberbach conference in 1985, William Thurston conjectured that circle packings could be used to approximate conformal mappings. More precisely, Thurston used circle packings to find a conformal mapping from an arbitrary open disk A to the interior of a circle; the mapping from one topological disk A to another disk B could then be found by composing the map from A to a circle with the inverse of the map from B to a circle.
Thurston's idea was to pack circles of some small radius r in a hexagonal tessellation of the plane, within region A, leaving a narrow region near the boundary of A, of width r, where no more circles of this radius can fit. He then constructs a maximal planar graph G from the intersection graph of the circles, together with one additional vertex adjacent to all the circles on the boundary of the packing. By the circle packing theorem, this planar graph can be represented by a circle packing C in which all the edges (including the ones incident to the boundary vertex) are represented by tangencies of circles. The circles from the packing of A correspond one-for-one with the circles from C, except for the boundary circle of C which corresponds to the boundary of A. This correspondence of circles can be used to construct a continuous function from A to C in which each circle and each gap between three circles is mapped from one packing to the other by a Möbius transformation. Thurston conjectured that, in the limit as the radius r approaches zero, the functions from A to C constructed in this way would approach the conformal function given by the Riemann mapping theorem.
Thurston's conjecture was proven by Rodin & Sullivan (1987). More precisely, they showed that, as n goes to infinity, the function fn determined using Thurston's method from hexagonal packings of radius-1/n circles converges uniformly on compact subsets of A to a conformal map from A to C.
Despite the success of Thurston's conjecture, practical applications of this method have been hindered by the difficulty of computing circle packings and by its relatively slow convergence rate. However it has some advantages when applied to non-simply-connected domains and in selecting initial approximations for numerical techniques that compute Schwarz–Christoffel mappings, a different technique for conformal mapping of polygonal domains.
Applications of the circle packing theorem 
The circle packing theorem is a useful tool to study various problems in planar geometry, conformal mappings and planar graphs. An elegant proof of the planar separator theorem, originally due to Lipton and Tarjan, has been obtained in this way. Another application of the circle packing theorem is that unbiased limits of bounded-degree planar graphs are almost surely recurrent. Other applications include implications for the cover time. and estimates for the largest eigenvalue of bounded-genus graphs.
Proofs of the theorem 
There are many known proofs of the circle packing theorem. Paul Koebe's original proof is based on his conformal uniformization theorem saying that a finitely connected planar domain is conformally equivalent to a circle domain. There are several different topological proofs that are known. Thurston's proof is based on Brouwer's fixed point theorem. There is also a proof using a discrete variant of Perron's method of constructing solutions to the Dirichlet problem. Yves Colin de Verdière proved the existence of the circle packing as a minimizer of a convex function on a certain configuration space.
Fáry's theorem, that every graph that can be drawn without crossings in the plane using curved edges can also be drawn without crossings using straight line segment edges, follows as a simple corollary of the circle packing theorem: by placing vertices at the centers of the circles and drawing straight edges between them, a straight-line planar embedding is obtained.
A stronger form of the circle packing theorem asserts that any polyhedral graph and its dual graph can be represented by two circle packings, such that the two tangent circles representing a primal graph edge and the two tangent circles representing the dual of the same edge always have their tangencies at right angles to each other at the same point of the plane. A packing of this type can be used to construct a convex polyhedron that represents the given graph and that has a midsphere, a sphere tangent to all of the edges of the polyhedron. Conversely, if a polyhedron has a midsphere, then the circles formed by the intersections of the sphere with the polyhedron faces and the circles formed by the horizons on the sphere as viewed from each polyhedron vertex form a dual packing of this type.
Algorithmic aspects 
Collins & Stephenson (2003) describe a numerical relaxation algorithm for finding circle packings, based on ideas of William Thurston. The version of the circle packing problem that they solve takes as input a planar graph, in which all the internal faces are triangles and for which the external vertices have been labeled by positive numbers. It produces as output a circle packing whose tangencies represent the given graph, and for which the circles representing the external vertices have the radii specified in the input. As they suggest, the key to the problem is to first calculate the radii of the circles in the packing; once the radii are known, the geometric positions of the circles are not difficult to calculate. They begin with a set of tentative radii that do not correspond to a valid packing, and then repeatedly perform the following steps:
- Choose an internal vertex v of the input graph.
- Calculate the total angle θ that its k neighboring circles would cover around the circle for v, if the neighbors were placed tangent to each other and to the central circle using their tentative radii.
- Determine a representative radius r for the neighboring circles, such that k circles of radius r would give the same covering angle θ as the neighbors of v give.
- Set the new radius for v to be the value for which k circles of radius r would give a covering angle of exactly 2π.
Each of these steps may be performed with simple trigonometric calculations, and as Collins and Stephenson argue, the system of radii converges rapidly to a unique fixed point for which all covering angles are exactly 2π. Once the system has converged, the circles may be placed one at a time, at each step using the positions and radii of two neighboring circles to determine the center of each successive circle.
Mohar (1993) describes a similar iterative technique for finding simultaneous packings of a polyhedral graph and its dual, in which the dual circles are at right angles to the primal circles. He proves that the method takes time polynomial in the number of circles and in log 1/ε, where ε is a bound on the distance of the centers and radii of the computed packing from those in an optimal packing.
The circle packing theorem was first proved by Paul Koebe. William Thurston rediscovered the circle packing theorem, and noted that it followed from the work of E. M. Andreev. Thurston also proposed a scheme for using the circle packing theorem to obtain a homeomorphism of a simply connected proper subset of the plane onto the interior of the unit disk. The Thurston Conjecture for Circle Packings is his conjecture that the homeomorphism will converge to the Riemann mapping as the radii of the circles tend to zero. The Thurston Conjecture was later proved by Burton Rodin and Dennis Sullivan. This led to a flurry of research on extensions of the circle packing theorem, relations to conformal mappings, and applications.
See also 
- Packing problem
- Sphere packing
- Apollonian network, a type of planar graph defined from a circle packing
- Thurston (1978–1981), Chap. 13.
- Brightwell & Scheinerman (1993)
- Koebe (1936)
- Brandt (1980)
- Harrington (1982)
- Stephenson (1999).
- Lipton & Tarjan (1979)
- Miller et al. (1997)
- Benjamini & Schramm (2001)
- Jonnason & Schramm (2000)
- Kelner (2006)
- Malitz & Papakostas (1994).
- Keszegh, Pach & Pálvölgyi (2011).
- Colin de Verdière (1991)
- Rodin & Sullivan (1987)
- Andreev, E. M. (1970), "Convex polyhedra in Lobačevskiĭ spaces", Mat. Sb. (N.S.) 81 (123): 445–478, MR 0259734.
- Andreev, E. M. (1970), "Convex polyhedra of finite volume in Lobačevskiĭ space", Mat. Sb. (N.S.) 83 (125): 256–260, MR 0273510.
- Benjamini, Itai; Schramm, Oded (2001), "Recurrence of distributional limits of finite planar graphs", Electronic Journal of Probability 6.
- Brandt, M. (1980), "Ein Abbildungssatz fur endlich-vielfach zusammenhangende Gebiete", Bull. de la Soc. des Sc. et des Lettr. de Łódź 30.
- Brightwell, Graham R.; Scheinerman, Edward R. (1993), "Representations of planar graphs", SIAM J. Discrete Math. 6 (2): 214–229, doi:10.1137/0406017.
- Colin de Verdière, Yves (1991), "Une principe variationnel pour les empilements de cercles", Inventiones Mathematicae 104 (1): 655–669, doi:10.1007/BF01245096.
- Collins, Charles R.; Stephenson, Kenneth (2003), "A circle packing algorithm", Computational Geometry. Theory and Applications 25 (3): 233–256, doi:10.1016/S0925-7721(02)00099-8, MR 1975216.
- Harrington, Andrew N. (1982), "Conformal mappings onto domains with arbitrarily specified boundary shapes", Journal d'Analyse Mathématique 41 (1): 39–53, doi:10.1007/BF02803393
- Jonnason, Johan; Schramm, Oded (2000), "On the cover time of planar graphs", Electronic Communications in Probability 5: 85–90.
- Kelner, Jonathan A. (2006), "Spectral partitioning, eigenvalue bounds, and circle packings for graphs of bounded genus", SIAM Journal on Computing 35 (4): 882–902, doi:10.1137/S0097539705447244.
- Keszegh, Balázs; Pach, János; Pálvölgyi, Dömötör (2011), "Drawing planar graphs of bounded degree with few slopes", in Brandes, Ulrik; Cornelsen, Sabine, Graph Drawing: 18th International Symposium, GD 2010, Konstanz, Germany, September 21-24, 2010, Revised Selected Papers, Lecture Notes in Computer Science 6502, Heidelberg: Springer, pp. 293–304, doi:10.1007/978-3-642-18469-7_27, MR 2781274.
- Koebe, Paul (1936), "Kontaktprobleme der Konformen Abbildung", Ber. Sächs. Akad. Wiss. Leipzig, Math.-Phys. Kl. 88: 141–164.
- Lipton, Richard J.; Tarjan, Robert E. (1979), "A separator theorem for planar graphs", SIAM Journal on Applied Mathematics 36: 177–189, doi:10.1137/0136016.
- Malitz, Seth; Papakostas, Achilleas (1994), "On the angular resolution of planar graphs", SIAM Journal on Discrete Mathematics 7 (2): 172–183, doi:10.1137/S0895480193242931, MR 1271989.
- Miller, Gary L.; Teng, Shang-Hua; Thurston, William; Vavasis, Stephen A. (1997), "Separators for sphere-packings and nearest neighbor graphs", J. ACM 44 (1): 1–29, doi:10.1145/256292.256294.
- Mohar, Bojan (1993), "A polynomial time circle packing algorithm", Discrete Mathematics 117 (1–3): 257–263, doi:10.1016/0012-365X(93)90340-Y.
- Rodin, Burton; Sullivan, Dennis (1987), "The convergence of circle packings to the Riemann mapping", Journal of Differential Geometry 26 (2): 349–360.
- Stephenson, Kenneth (1999), "The approximation of conformal structures via circle packing", Computational methods and function theory 1997 (Nicosia), Ser. Approx. Decompos. 11, World Sci. Publ., River Edge, NJ, pp. 551–582, MR 1700374.
- Stephenson, Ken (2005), Introduction to circle packing, the theory of discrete analytic functions, Cambridge: Cambridge University Press.
- Thurston, William (1985), The finite Riemann mapping theorem, Invited talk at the International Symposium at Purdue University on the occasion of the proof of the Bieberbach conjecture.
- Thurston, William (1978–1981), The geometry and topology of 3-manifolds, Princeton lecture notes.
- CirclePack (free software for constructing circle packings from graphs) and Circle packing bibliography by Kenneth Stephenson, Univ. of Tennessee