---
format:
  html:
    html-math-method: katex
---


12 Pentagons, Part 1
====================

Recently I've been trying my hand at a little 3D geometry. I was watching a lecture on YouTube when the presenter asked the following as an exercise:

> A soccer ball is a (roughly spherical) figure made of pentagons and hexagons, each meeting 3 at a point. Prove that there are 12 pentagons. If you want to explore this problem further: how many hexagons can there be?

While innocuous on its surface, it has occupied my thoughts for the better part of a month, as the latter question seems to have no simple answer without running into the most obvious solutions. This post will aim to summarize these "simple" answers.


Why 12? Why Hexagons?
---------------------

A 3D figure is composed of three elements in particular: vertices, edges and faces. In this problem, faces can be either pentagons or hexagons, giving an system in four unknowns.

First, I would like to draw attention to the first constraint on the problem, that every vertex connects three edges (and every edge joins two vertices). If all of the faces on a polyhedron are convex polygons, then no two edges are collinear (else a face contains a 180 degree angle), and there must be at least three that meet at a point (else one of the two faces contains an angle greater than 180 degrees). Equivalently, consider the dual of the polyhedron, made by making every vertex into a face and vice versa. A vertex connected to two edges would on the dual become a digon, which cannot be made with line segments. Thus, $3V = 2E$ is the simplest class of polyhedra, whose duals are entirely triangles.

Next, rather than assuming there are only pentagons and hexagons, let us assume instead that we only have pentagons and n-gons. Every pentagon contributes 5 vertices and edges; every *n*-gon contributes *n* vertices and edges. Further, we also know that an edge joins any 2 faces, and every vertex joins exactly 3 faces. Therefore, counting every face will count every edge twice and every vertex thrice:

$$
2E = 3V = 5F_5 + nF_n
$$

This gives us two equations out of the four needed to completely solve the system. We also know that the shape is like a soccer ball, so its [Euler characteristic](https://en.wikipedia.org/wiki/Euler_characteristic) is 2, which adds a third equation into the mix:

Exactly 12
----------

We want to annihilate $F_n$, and we are looking for integer solutions, so multiply through by *m*, which is the LCM of *n* and some other number *k*. Let the GCD of *n* and *k* be denoted l:

$$
\begin{gather*}
m = {kn \over (k, n)} = {kn \over l} \implies ml = kn \\ \\
mV - mE + mF_5 + \textcolor{green}{m}F_n = 2m \\
mV - \textcolor{red}{\stackrel{3V = 2E}{V({3 \over 2}m)}}
+ mF_5 + \textcolor{green}{kn \over l}F_n \textcolor{blue}{\stackrel{3V = 5F_5 + nF_n}
{- {k \over l}nF_n - {k \over l}5F_5 + {k \over l}3V}} = 2m \\ \\
V({3k \over l} - {m \over 2}) + F_5(m - {5k \over l}) = 2m \\
V(6k - ml) + F_5(2ml - 10k) = 4ml \\
V(6k - nk) + F_5(2nk - 10k) = 4nk \\
V(6 - n) + F_5(2n - 10) = 4n
\end{gather*}
$$

At this point, we would like to eliminate one of the variables, so either $n = 5$ (there are only pentagons), or $n = 6$ (the non-pentagons are hexagons).

$$
\begin{align*}
n &= 5 \implies V(6 - 5) + F_5(2(5) - 10) = V = 4(5) = 20 \\
n &= 6 \implies V(6 - 6) + F_5(2(6) - 10) = 2F_5 = 4(6) = 24
\end{align*}
$$

If all the faces in the figure are pentagons, then there must be 20 vertices (which also means there are 30 edges). On the other hand, if we allow hexagons, then __there are exactly 12 pentagons__. This is the case even if there are no hexagons, which together with the first solution, give the vertex, edge, and face counts for a dodecahedron.


### Increasing Specificity

It bears repeating that there are four unknowns and we have used three equations. While one of the unknowns has been solved, the remaining three need an additional equation to produce a consistent solution.

Perhaps it is possible to count more precisely to produce a new equation. Each edge comes in 3 genera: it can either join 2 pentagons, 2 hexagons, or a pentagon and a hexagon each. Similarly, each vertex has 4 different arrangements: 3 pentagons, 2 pentagons and 1 hexagon, 1 pentagon and 2 hexagons, and 3 hexagons.

:::{}
![]()
Left to right, top row: $V_0, V_1, V_2, V_3$, bottom row: $E_0, E_1, E_2$. Subscripts denote number of pentagons present.
:::

Counting only pentagons, only hexagons, and only each type of vertex gives:

$$
6F_6 = 3V_0 + 2V_1 + V_2 = 2E_0 + E_1 \\
5F_5 = V_1 + 2V_2 + 3V_3 = E_1 + 2E_2
$$

When these equations are added together, they reproduce the $3V = 2E$ relationship. By adding 5 more unknowns, only a couple more equations have been added to the system, and no new information has been gained aside from the combinatorics of vertex and edge configurations. A solution for the number of hexagons must be realized by other means.


An Argument from Symmetry
-------------------------

Having established that there are 12 pentagons, and that the base case is a dodecahedron, what next? What follows is known as the [Goldberg-Coxeter construction](https://en.wikipedia.org/wiki/Goldberg%E2%80%93Coxeter_construction), since the resultant polyhedra are known as Goldberg polyhedra.

The argument is as follows: since a dodecahedron has icosahedral symmetry, it makes sense to expand it by placing a regular pentagon (of a suitable size) at every vertex of an icosahedron. Then, hexagons are used to fill the gaps between pentagons. For regular pentagons and equilateral hexagons, this has three properties:

1. Each pentagon is *transitive*, or equivalent to other pentagons in terms of the way hexagons are connected to it.
2. Since each pentagon is regular, it is invariant under fifths of a turn. This pentagon can be thought of as the compound of 5 overlapping equilateral triangles, each of which when considered alone tessellates the plane.
3. Each triple of pentagons is rotationally symmetric under thirds of a turn, as in the rotation of a dodecahedron through two antipodal vertices. This also must be the case for the figure made by the hexagons which connect triples.

### Triangles and Honeycombs

Though it is impossible to surround a regular pentagon with hexagons without distortion in the plane, it *is* possible in 3D space. By the vertex condition, each hexagon must meet in threes, similarly to how regular hexagons tessellate the plane as in a honeycomb. The dual to this arrangement a would replace pentagons with 5 triangles and hexagons with 6 triangles.

If these triangles are all equilateral, then the former can be formed into pyramids and the latter into coplanar hexagons. By virtue of being coplanar, they *also* tessellate the plane. Therefore, a fifth of this dual figure can be described by the regular triangular tiling. By identifying hexagons (which reverses the dual), this figure can be understood as a fifth of a regular pentagon and its neighboring hexagons (hereafter termed a pentagon's sector).

:::{.column width="40%"}
![]()
Triangular grid before...
:::

:::{.column width="40%"}
![]()
...and after identifying hexagons.
:::

In the left figure, the lower-leftmost triangle is one-fifth of a pentagonal pyramid, dual to a pentagon.
In the right figure, it corresponds to a section of a regular pentagon.

Each point in this grid is of the form $a + bu$, where *u* is the primitive sixth root of unity that lives in the upper half of the complex plane. Since 1 and *u* are not perpendicular, the norm is not simply $a^2 + b^2$. Rather than trying to describe a point in rectangular coordinates with square roots, we can find its norm by multiplying by its conjugate, which is $a + b u^{6-1} = a + b u^5$. As a primitive sixth root, u has the property that $u^2 - u + 1 = 0$, so:

$$
\begin{gather*}
\| a + bu \| = (a + bu)(a + bu^5) = a^2 + ab(u + u^5) + b^2 \\ \\
u + u^5 = u + u \textcolor{red}{u^2 u^2} = u + u\textcolor{red}{(u - 1)(u - 1)} \\
= u + \textcolor{blue}{(u^2 - u)}(u - 1)
= u + \textcolor{blue}{(-1)}(u - 1) = 1
\\ \\
\| a + bu \| = a^2 + ab + b^2
\end{gather*}
$$

Hooray, a simple (and symmetric) polynomial in *a* and *b*! This symmetry is apparent in the grid, since the grid is symmetric about the angle bisector of the lower-leftmost angle.  Thus, *a* and *b* are interchangeable.


### Counting Triangles

Each point $a + bu = (a, b)$ has an secondary interpretation: it parametrizes a path between the center of two pentagonal faces. Starting from any pentagon facing an edge, walk across *a* edges onto the center of hexagons. Then, turn 60 degrees, and walk across *b* edges onto another pentagon, completing the walk. The turn may be made either clockwise or counterclockwise and produces two chiral opposites when $a \neq b$. For simplicity's sake, let $a \ge b$ mean a clockwise turn so that these opposites can be differentiated by reversing the tuple.

:::{}
![]()
Path between pentagons corresponding to (4, 2). The gray outline will become clearer in the following figures.
:::

The "center" of the red pentagon is at (0, 0) and is the lower-left vertex of the red triangle. The center of the first adjacent hexagon along the red line is (1, 1); after traversing *a* hexagons we end up at (*a*, *a*). The hexagon to the lower right of this one is at $(a, a) + (2, -1)$; after *b* steps, the center of the blue pentagon lies at $(a, a) + (2b, -b) = (a + 2b, a - b)$.


### Construction Classes

What's the point of being able to specify neighboring pentagons in triangular coordinates? It turns out that the (triangular) norm of the path directly corresponds to the number of triangles unique to each pentagon's sector. Geometrically, there are three classes.


#### Class I

Points of the form (*a*, 0) (or symmetrically, (0, *a*)) have norm $a^2$. This is also the number of triangles within a larger triangle bounded by the line connecting (*a*, 0) and (0, *a*). In the diagram below, two pentagonal sectors with the same number of triangles are connected end-to-end.

:::{}
![]()
Areas corresponding to tuple (4, 0). This is the only class where we need to consider pairs.
:::


#### Class II

Points of the form (*a*, *a*) have norm $3a^2$. This is also the number of triangles contained within a trapezoid through the points (0, 0), (0, *a*), (*a*, *a*), and (*a*, 2*a*). In the diagram below, three pentagonal sectors are connected, since the path across hexagons is the same for a 60 degree turn in either direction.

:::{}
![]()
Areas corresponding to tuple (4, 4). The region shared by the three pentagonal sectors is outlined in dark gray.
:::


#### Class III

All other tuples (*a*, *b*) do not cleanly slice the triangular plane. However, it is still possible to count the number of triangles in a triple of sectors. The lines which connect the nearest vertices of any two pentagons are the diagonals of a parallelogram. These parallelograms contain 2*wh* triangles (which can be seen by completing the square), or *wh* triangles when cleft in half by the diagonal. The center of the figure contains a large triangle with 3*b* triangles on an edge. This leaves three parallelograms with width 1 and height *h*, or 6*h* triangles unaccounted for.

:::{.column width="25%"}
![]()
:::

:::{.column width="25%"}
![]()
:::

:::{.column width="25%"}
![]()
:::

Areas corresponding to tuples (4, *b*). Triangles which belong to a pentagon are colored red, green, and blue. Parallelograms (width *w*, height *h*) are colored in light red, green and blue. Completions of parallelograms (width 1, height *h*) are in dark gray. Central triangle colored in light gray.

In order to find suitable values for *w* and *h*, recall the coordinates of the center of the blue pentagon where the red pentagon lies at the origin: $(a + 2b, a - b)$. The edge length of the central triangle is 3*b*, which can be seen from the subtraction $a + 2b - (a - b)$. The diagonal of the red parallelogram reaches from (1, 0) to $(a + 2b - 1, a - b)$. This means $w = a + 2b - 2$ and $l = a - b$. There are therefore:

$$
\begin{align*}
T &= 3wh + (3b)^2 + 6h
= 3(a + 2b - 2)(a - b) + 9b^2 + 6(a - b) \\[4pt]
&= 3(a^2 + 2ab - 2a - ab - 2b^2 + 2b) + 9b^2 + 6a - 6b \\[4pt]
&= 3a^2 + 3ab + (9 - 6)b^2 + (6 - 6)a - (6 - 6)b \\[4pt]
&= 3a^2 + 3ab + 3b^2 = 3\|a + bu\| \text{ triangles per triple of sectors}
\end{align*}
$$


### Triangles to Hexagons

We counted triangles rather than hexagons because the former is easier to count in the triangular plane. Plus, we know that hexagons can be decomposed (and recomposed) into 6 triangles. Now we can easily count the number of hexagons. The lower-leftmost triangle is part of a pentagon, so it is not counted. Of the remaining triangles, 6 make up a hexagon, meaning the point (*a*, *b*) counts $\|a +bu\| - 1 \over 6$ hexagons. These hexagons are only within the sector of a single pentagonal edge, so there are:

$$
\begin{gather*}
{\|a +bu\| - 1 \over 6}
\scriptsize {\text{hexagons} \over \text{sector}} \normalsize \cdot 5
\scriptsize {\text{sectors} \over \text{pentagon}} \normalsize \cdot 12
\scriptsize \text{ pentagons} \normalsize \\[4pt]
= 10(\|a +bu\| - 1) \text{ hexagons}
\end{gather*}
$$

In other words, the number of hexagons is a multiple of 10 dictated by triangular norms of integer tuples minus 1. It may seem strange that the result is an integer, since every pentagonal sector contains at least some partial hexagons. However, all of these partial hexagons are completed by their adjacent sectors, whether on the same pentagon or those formed by any three pentagons. Visualize this by placing the regions formed by these triples (enclosed above in dark gray) on the faces on an icosahedron, the dual of the dodecahedron.


Soccer Balls and Beyond
-----------------------

The three cases of paths as described above are also used to delineate classes of Goldberg polyhedra. All possess rotational icosahedral symmetry ($I$) by virtue of their construction. Only class I and II polyhedra are mirror-symmetric ($I_h$) with class III polyhedra coming in chiral pairs, as mentioned previously.


### Basic Conway Operators

Before listing certain Goldberg polyhedra, I will comment on their relationship to [Conway polyhedron notation](https://en.wikipedia.org/wiki/Conway_polyhedron_notation). Given a "seed" polyhedron and a string of operators (applied right-to-left), many polyhedra can be constructed. The simplest seed polyhedra are the Platonic solids (their symbols enclosed in parentheses): the (T)etrahedron, (C)ube, (O)ctahedron, (D)odecahedron, and (I)cosahedron.

:::{}
![]()
*D*, the regular dodecahedron
:::


### List of Operators

Roughly, 6 operators generate most Goldberg polyhedra:

- Dual (*d*)

    - Swaps faces for vertices and vice versa. Involutory.

- Kis ($k_n$)

    - Replaces each face with a pyramid. If *n* is specified, only applies to *n*-gonal faces.

- Truncate ($t_n = dk_nd$)

    - Expands a vertex into a face, with the number of sides equalling the degree of the vertex. If *n* is specified, only applies to vertices of degree *n*.

- Subdivide ($u_n$)

    - For polyhedra with triangular faces, divides each into $n^2$ triangles by cutting each edge into *n* parts. For unspecified *n*, *n* = 2.

- Chamfer (*c* = *dud*)

    - Adds hexagonal faces along edges, preserving existing vertices and faces.

- Whirl (*w*)

    - Rotates faces outward and interpolates with hexagonal faces along each edge. Higher order whirls are possible, but outside the scope of this post.

:::{}
![]()
[I = dD](https://levskaya.github.io/polyhedronisme/?recipe=I)
:::

:::{}
![]()
[kD](https://levskaya.github.io/polyhedronisme/?recipe=kD)
:::

:::{}
![]()
[tD](https://levskaya.github.io/polyhedronisme/?recipe=tD)
:::

:::{}
![]()
[uI](https://levskaya.github.io/polyhedronisme/?recipe=uI)
:::

:::{}
![]()
[cD](https://levskaya.github.io/polyhedronisme/?recipe=K300cD)
:::

:::{}
![]()
[wD](https://levskaya.github.io/polyhedronisme/?recipe=K300wD)
:::

The last three operations can be obtained from the Goldberg-Coxeter construction, and as such are termed Goldberg-Coxeter operators. In particular, since every vertex in a Goldberg polyhedron has degree 3, it is always possible to use odd *u* operators by taking the dual. Both chamfer and whirl add hexagons, meaning they transform Goldberg polyhedra into other Goldberg polyhedra. Two compound operators in particular which do the same are:

- $dk = d(dtd) = td$

    - Raises pentagons and expands hexagons (as in central hexagonal numbers). Changes class I polyhedra into class II and vice versa.

- $(dk)^2 = dkdk = tk$

    - See above. Preserves class.


List of Hexagon Counts
----------------------

Here is a list containing the number of hexagons in each Goldberg polyhedron, answering the initial question. Though this list can be found [elsewhere](https://en.wikipedia.org/wiki/List_of_geodesic_polyhedra_and_Goldberg_polyhedra#Icosahedral), I will duplicate the first few entries here.

| Class | Tuple  | $F_6$ |  V  |  E  | Conway |
|-------|--------|-------|-----|-----|--------|
| I     | [(1, 0)](https://en.wikipedia.org/wiki/Regular_dodecahedron) |     0 |  20 |  30 | [D](https://levskaya.github.io/polyhedronisme/?recipe=D)      |
|       | [(2, 0)](https://en.wikipedia.org/wiki/Chamfered_dodecahedron) |    30 |  80 | 120 | [cD](https://levskaya.github.io/polyhedronisme/?recipe=K300cD)     |
|       | (3, 0) |    80 | 180 | 270 | [tkD = du3I](https://levskaya.github.io/polyhedronisme/?recipe=tkD) |
|       | (4, 0) |   150 | 320 | 480 | [ccD = duuI](https://levskaya.github.io/polyhedronisme/?recipe=duudD) |
|       | (5, 0) |   240 | 400 | 600 | [du5I](https://levskaya.github.io/polyhedronisme/?recipe=du5I)   |
| II    | [(1, 1)](https://en.wikipedia.org/wiki/Truncated_icosahedron) |    20 |  60 |  90 | tI     |
|       | (2, 2) |   110 | 240 | 360 | [tdcD](https://levskaya.github.io/polyhedronisme/?recipe=K300tdcD)   |
|       | (3, 3) |   260 | 540 | 810 | [tktI](https://levskaya.github.io/polyhedronisme/?recipe=tktI)   |
| III   | (2, 1) |    60 | 140 | 210 | [wD](https://levskaya.github.io/polyhedronisme/?recipe=K300wD)     |
|       | (3, 1) |   120 | 260 | 390 | \*     |
|       | (3, 2) |   180 | 380 | 570 | \*     |
|       | (4, 1) |   200 | 420 | 630 | [tdwD](https://levskaya.github.io/polyhedronisme/?recipe=K300tdwD)   |

\* higher-order whirl needed

The polyhedron which corresponds to the shape of a soccer ball has parameter (1, 1), and is known (as implied by its Conway notation) as the truncated icosahedron. Additionally, similarly to how the entry (1, 0) is special because the dodecahedron is a Platonic solid, (1, 1) is special in that it is an [*Archimedean solid*](https://en.wikipedia.org/wiki/Archimedean_solid): every vertex has the same configuration of 2 hexagons and 1 pentagon ($V = V_1$).


Closing
-------

Goldberg polyhedra on their own are fascinating because they can be found in nature. [Buckyballs](https://en.wikipedia.org/wiki/Buckminsterfullerene) can be formed according to their structure, with number of carbons equalling the number of vertices. Viral [capsids](https://en.wikipedia.org/wiki/Capsid) are frequently observed to be arranged in these shapes. Goldberg's original paper can be found [here](https://www.jstage.jst.go.jp/article/tmj1911/43/0/43_0_104/_article), which contains additional observations such as the non-uniqueness of hexagon counts to a particular tuple.

Despite the elegance in the symmetry and simple classification of these shapes, this does not produce *every* possible polyhedron as described by the problem statement. In the [next]() [few]() posts, I will do my best to catalogue additional, slightly more obscure solution polyhedra.

Polyhedron images were generated using [polyHédronisme](https://levskaya.github.io/polyhedronisme/), triangular grid images were created using Matplotlib, and vertex enumeration image was created with GeoGebra.
