diff --git a/posts/pentagons/1/index.qmd b/posts/pentagons/1/index.qmd
new file mode 100644
index 0000000..20bf5fa
--- /dev/null
+++ b/posts/pentagons/1/index.qmd
@@ -0,0 +1,336 @@
+---
+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).
+
+:::: {layout-ncol="2"}
+::: {width="40%"}
+
+
+Triangular grid before...
+:::
+
+::: {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.
+
+:::: {layout-ncol=3}
+::: {width="25%"}
+
+:::
+
+::: {width="25%"}
+
+:::
+
+::: {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.
diff --git a/posts/pentagons/1/polyhedronisme-D.png b/posts/pentagons/1/polyhedronisme-D.png
new file mode 100644
index 0000000..0c69bba
Binary files /dev/null and b/posts/pentagons/1/polyhedronisme-D.png differ
diff --git a/posts/pentagons/1/polyhedronisme-I.png b/posts/pentagons/1/polyhedronisme-I.png
new file mode 100644
index 0000000..ce9d542
Binary files /dev/null and b/posts/pentagons/1/polyhedronisme-I.png differ
diff --git a/posts/pentagons/1/polyhedronisme-K300cD.png b/posts/pentagons/1/polyhedronisme-K300cD.png
new file mode 100644
index 0000000..2b6f703
Binary files /dev/null and b/posts/pentagons/1/polyhedronisme-K300cD.png differ
diff --git a/posts/pentagons/1/polyhedronisme-K300wD.png b/posts/pentagons/1/polyhedronisme-K300wD.png
new file mode 100644
index 0000000..56771a3
Binary files /dev/null and b/posts/pentagons/1/polyhedronisme-K300wD.png differ
diff --git a/posts/pentagons/1/polyhedronisme-kD.png b/posts/pentagons/1/polyhedronisme-kD.png
new file mode 100644
index 0000000..b395ec7
Binary files /dev/null and b/posts/pentagons/1/polyhedronisme-kD.png differ
diff --git a/posts/pentagons/1/polyhedronisme-tD.png b/posts/pentagons/1/polyhedronisme-tD.png
new file mode 100644
index 0000000..7d90864
Binary files /dev/null and b/posts/pentagons/1/polyhedronisme-tD.png differ
diff --git a/posts/pentagons/1/polyhedronisme-uI.png b/posts/pentagons/1/polyhedronisme-uI.png
new file mode 100644
index 0000000..40d0e99
Binary files /dev/null and b/posts/pentagons/1/polyhedronisme-uI.png differ
diff --git a/posts/pentagons/1/triangle_count_4_0.png b/posts/pentagons/1/triangle_count_4_0.png
new file mode 100644
index 0000000..63933ad
Binary files /dev/null and b/posts/pentagons/1/triangle_count_4_0.png differ
diff --git a/posts/pentagons/1/triangle_count_4_1.png b/posts/pentagons/1/triangle_count_4_1.png
new file mode 100644
index 0000000..826a03c
Binary files /dev/null and b/posts/pentagons/1/triangle_count_4_1.png differ
diff --git a/posts/pentagons/1/triangle_count_4_2.png b/posts/pentagons/1/triangle_count_4_2.png
new file mode 100644
index 0000000..2c7ab6f
Binary files /dev/null and b/posts/pentagons/1/triangle_count_4_2.png differ
diff --git a/posts/pentagons/1/triangle_count_4_3.png b/posts/pentagons/1/triangle_count_4_3.png
new file mode 100644
index 0000000..82abbae
Binary files /dev/null and b/posts/pentagons/1/triangle_count_4_3.png differ
diff --git a/posts/pentagons/1/triangle_count_4_4.png b/posts/pentagons/1/triangle_count_4_4.png
new file mode 100644
index 0000000..07efde4
Binary files /dev/null and b/posts/pentagons/1/triangle_count_4_4.png differ
diff --git a/posts/pentagons/1/triangle_grid.png b/posts/pentagons/1/triangle_grid.png
new file mode 100644
index 0000000..39d7194
Binary files /dev/null and b/posts/pentagons/1/triangle_grid.png differ
diff --git a/posts/pentagons/1/triangle_grid_hexes.png b/posts/pentagons/1/triangle_grid_hexes.png
new file mode 100644
index 0000000..3d0fe35
Binary files /dev/null and b/posts/pentagons/1/triangle_grid_hexes.png differ
diff --git a/posts/pentagons/1/vertices_edges.png b/posts/pentagons/1/vertices_edges.png
new file mode 100644
index 0000000..bcdaf33
Binary files /dev/null and b/posts/pentagons/1/vertices_edges.png differ
diff --git a/posts/pentagons/2/index.qmd b/posts/pentagons/2/index.qmd
new file mode 100644
index 0000000..ba3a4a4
--- /dev/null
+++ b/posts/pentagons/2/index.qmd
@@ -0,0 +1,338 @@
+---
+format:
+ html:
+ html-math-method: katex
+jupyter: python3
+---
+
+
+
+
+12 Pentagons, Part 2
+====================
+
+This is the second part in an investigation into answering the following question:
+
+> A soccer ball is a (roughly spherical) figure made of pentagons and hexagons, each meeting 3 at a point. [T]here are 12 pentagons...how many hexagons can there be?
+
+The [post prior to this one]() proved the 12 pentagons portion as well as outlined an entire solution class: (dodecahedral) Goldberg polyhedra. However, there exist more obscure solutions missed by this construction.
+
+
+Twelve is Four Triples
+----------------------
+
+A key characteristic of the solution polyhedra is that each vertex is of degree three. It would be extraordinarily convenient if The post prior to this one proved the 12 pentagons portion as well as outlined an entire solution class: (dodecahedral) Goldberg polyhedra. However, there exist more obscure solutions missed by this construction.three pentagons came together at a vertex, or in the parlance of the previous post, a $V_3$. There are four triples, so there are four vertices. Fortunately, there exists a Platonic solid with four vertices whose symmetries we can exploit: the tetrahedron.
+
+
+### Extended Goldberg Polyhedra
+
+The tetrahedron's vertex configuration ($3V = 2E$) qualifies it to undergo Goldberg construction. Recall the triangular plane and hexagonal paths from the previous part (presented again here for convenience)
+
+::: {}
+
+:::
+
+Instead of the red, green, and blue triangles being part of a larger pentagon, they can also be considered as whole triangles with a sector on each edge. Supposing a tetrahedron is made into a Goldberg polyhedron, where does that get us? Well for starters, we know there are:
+
+$$
+\begin{gather*}
+{\|a +bu\| – 1 \over 6} \scriptsize {\text{hexagons} \over \text{sector}} \normalsize \cdot 3 \scriptsize {\text{sectors} \over \text{triangle}} \normalsize \cdot 4 \scriptsize \text{ triangles} \normalsize \\ \\
+= 2(\|a +bu\| – 1) \text{ hexagons}
+\end{gather*}
+$$
+
+Next, cap each triangular face by extending the non-coplanar edges into a vertex. This transforms the 3 hexagons around each of the 4 triangles into pentagons. There are now 12 pentagons and $2(\|a +bu\| – 1) - 12 = 2\|a +bu\| – 14$ hexagons. This is a sort of "antitruncation", since the process in reverse is truncation. Rather than selecting for the degree, this type of truncation selects for the vertex configuration: that of having three pentagons meeting at it.
+
+
+### Problems and Solutions
+
+There is a slight problem with the expression for the number of hexagons: the norms of (1, 0), (1, 1), (2, 0), and (2, 1) are all less than or equal to 7. This is because the antitruncations correspond to one of the three Platonic solids with 3 faces to an vertex:
+
+::: {}
+
+
+(1, 0): T
+Antitruncation: dT = T
+:::
+
+::: {}
+
+
+(1, 1): tT
+Antitruncation: T
+:::
+
+::: {}
+
+
+(2, 0): cT
+Antitruncation: C
+:::
+
+::: {}
+
+
+(2, 1): wT
+Antitruncation: D
+:::
+
+With these exceptional cases taken care of, the table of solution polyhedra of this form is as follows:
+
+```{python}
+#| label: tbl-antitruncation
+#| echo: false
+
+from IPython.display import Markdown
+from tabulate import tabulate
+
+polyhedronisme = lambda x, y: f"[{x}](https://levskaya.github.io/polyhedronisme/?recipe={y})"
+
+class1 = [
+ ["(1, 0)", polyhedronisme("T", "T"), -12, "-", "-", polyhedronisme("dT", "dT")],
+ ["(2, 0)", polyhedronisme("cT", "K300cT"), -6, "-", "-", polyhedronisme("C", "C")],
+ ["(3, 0)", polyhedronisme("du3T = tkT", "K300tkT"), 4, 28, 42, polyhedronisme("t6kT", "K300t6kT")],
+ ["(4, 0)", polyhedronisme("duuT = ccT", "K300duC30uT"), 18, 56, 84, polyhedronisme("t6juT", "C300t6juT")],
+ ["(5, 0)", polyhedronisme("du5T", "K300duC30uT"), 36, 92, 138, "**"],
+ ["(6, 0)", polyhedronisme("duu3T = ctkT", "K300duK300dtkT"), 58, 136, 204, polyhedronisme("t6kcT", "K300t6kcT")],
+]
+class2 = [
+ ["(1, 1)", polyhedronisme("tT", "T"), -8, "-", "-", polyhedronisme("T", "T")],
+ ["(2, 2)", polyhedronisme("ctT", "K300duK30dtT"), 10, 40, 60, polyhedronisme("t6uT", "K300t6uT")],
+ ["(3, 3)", polyhedronisme("tktT", "K300tktT"), 40, 100, 150, polyhedronisme("t6ktT", "K30t6ktT")],
+ ["(4, 4)", polyhedronisme("cctT", "K300duC30uT"), 82, 184, 276, polyhedronisme("t6uuT", "K300t6uK30dK30duT")],
+]
+class3 = [
+ ["(2, 1)", polyhedronisme("wT", "K300wT"), 0, "-", "-", polyhedronisme("D", "D")],
+ ["(3, 1)", "*", 12, 44, 66, "*"],
+ ["(3, 2)", "*", 24, 48, 102, "*"],
+ ["(4, 1)", polyhedronisme("wtT", "K300wK30tT"), 28, 76, 114, polyhedronisme("t6gtT", "K300t6gK30tT")],
+ ["(4, 2)", polyhedronisme("wcT", "K300wK30cT"), 42, 104, 156, polyhedronisme("t6guT = t6gcT", "K300t6gK30cT")],
+]
+
+Markdown(tabulate(
+ [
+ [class_name if i == 0 else ""] + row
+ for class_, class_name in zip([class1, class2, class3], ["I", "II", "III"])
+ for i, row in enumerate(class_)
+ ],
+ headers=["Class","Tuple", "Conway", "$F_6$", "V", "E", "Conway"],
+ numalign="center",
+ stralign="center",
+))
+```
+::: {}
+\* higher-order whirl needed
+\*\* Unknown. Possibly nonexistent under standard operators
+:::
+
+Note that the links in the above table may have recipes do not match their entry. Rather, the recipe is equivalent to the simpler string given to ensure the viewer can stably generate the output shape. The operators g and j, which I did not introduce previously, were also used; rather than explaining their intuitive meaning, see [the Wikipedia article](https://en.wikipedia.org/wiki/Conway_polyhedron_notation) instead.
+
+The smallest "real" tetrahedral solution has 4 hexagonal faces. This is the [(order-6) truncated triakis tetrahedron](https://en.wikipedia.org/wiki/Truncated_triakis_tetrahedron), which can be discerned by reading its Conway notation. The $V_3$s are arranged on the faces of a tetrahedron owing to the construction, and the hexagons are arranged on the vertices. Alternatively, on the dual to this imaginary tetrahedron, the faces map to faces and the vertices to vertices.
+
+::: {}
+
+
+Truncated triakis tetrahedron, t6kT
+:::
+
+It can be observed that higher-order class I polyhedra expand these hexagons into larger hexagons as in the centered hexagonal numbers. Similarly, higher-order class II polyhedra form triples of triangular numbers. Other figures made of hexagons with triangular symmetry fall under class III.
+
+
+### Solution Non-Exclusivity
+
+Is it possible for any of these tetrahedral Goldberg solutions to also be dodecahedral Goldberg solutions? For this to be the case,
+
+$$
+\begin{align*}
+2\|m + nu\| - 14 &= 10\|a + bu\| - 10 \\
+\|m + nu\| - 2 &= 5\|a + bu\|, \text{ for } a, b, m, n \in \mathbb{Z} \\
+\|m + nu\| &\equiv 2\ (\text{mod } 5)
+\end{align*}
+$$
+
+Class I tetrahedral antitruncations have a norm which is a square number, but 2 is not among the squares mod 5, so they will never intersect dodecahedral solutions. However, class II and III solutions congruent to (2, 2) or (3, 3) (mod 5) have the correct multiplicity, the former of which is reflected in the solution table above. Class II solutions turn out to be a red herring, since $5\|a, b\|$ is never congruent to 1 (= -2, mod 3). Only tetrahedral class III collisions exist, either congruent to the pairs above or to (1, 2), (2, 1), (3, 4), or (4, 3) (mod 5). The equivalent pairs for the first few solution parameters are:
+
+ Dodecahedral Parameter | Tetrahedral Parameter | $F_6$
+------------------------|-----------------------|-------
+(1, 0) | (2, 1) | 0
+(2, 1) | (4, 3) | 60
+(3, 1) | (7, 2) | 120
+(3, 2) | (8, 3) | 180
+(5, 0) | (7, 6) | 240
+(5, 1) | (12, 1) | 300
+(6, 1) | (9, 8)
(13, 3) | 420
+(5, 3)
(7, 0) | (11, 7)
(14, 3) | 480
+(17, 1) | (17, 1) | 600
+
+
+Twelve is Six Pairs
+-------------------
+
+The truncated triakis tetrahedron also reveals another possible set of solution polyhedra: those formed by maintaining six $E_2$s rather than four $V_3$s. By no small coincidence, the tetrahedron has six edges onto which these edges can be arranged. Unfortunately, this selective edge preservation makes it difficult to write solution polyhedra in Conway notation using the standard operators.
+
+It is easiest to see solutions take form on a tetrahedral net. Every face and every vertex of a tetrahedron must be invariant under thirds of a turn, so the shape of the tiling of hexagons at these objects on the net must also be symmetric. Since each face of a tetrahedron is a triangle, arguably the simplest solution is by arranging hexagons in the same way.
+
+::::: {}
+:::: {layout-ncol="2"}
+::: {}
+
+
+Order-2 solution on tetrahedral net (faces separated by interior dotted lines) with identical points identified (exterior dotted lines).
+:::
+
+::: {}
+
+
+Equivalent planar graph. External face is colored blue.
+:::
+::::
+
+Pairs of pentagons (green) at the center of every edge. Hexagons symmetric about a face are colored red, those symmetric about a vertex are colored blue.
+:::::
+
+Though it first appears as if the figure made by the face hexagons and the vertex hexagons (see footnote above) is the same, recall that the base case (truncated triakis tetrahedron) has no face hexagons and a hexagon at each vertex. The pattern does not become clearer until examining larger graphs. Let the even triangular numbers be formed at the center of the figure, so that the pentagons meet at the midpoint of the figure. Then the next-highest order net looks like this
+
+::::: {}
+:::: {layout-ncol="2"}
+::: {}
+
+
+Order-3 solution on tetrahedral net with identical points identified.
+:::
+
+::: {}
+
+
+Equivalent planar graph. In this diagram, certain elements have been recolored from the diagram to the left to better indicate membership
+:::
+::::
+:::::
+
+Much like Goldberg polyhedra, it is easier to understand these figures if they are parameterized by a path between pentagons on a face (of the base tetrahedron). In what I called the order-2 solution, there are two edges that must be crossed to get from pentagon to pentagon; in the order-3 solution, there are three. In the equivalent figure on the right, while the corner figures have steadily increased along triangular numbers (1, 3, 6...), the face figures have gone from a triangular arrangement to a hexagonal arrangement.
+
+The means of generating the figure for each face is as follows. For triangular numbers $\Delta_n$, the number of points on the edge of the figure is simply n. If the three corner points are turned into pentagons and the remaining points are turned into hexagons, then there will be $n - 1$ edges to traverse. Reorganizing, this means that an order-*n* solution has $\Delta_{n+1} - 3$ hexagons per face, $\Delta_n$ hexagons per edge, and $4(\Delta_{n + 1} + \Delta_{n - 3}) = 4((n+1)^2 - 3)$ hexagons in total.
+
+:::: {layout-ncol="2"}
+::: {}
+
+
+First three face figures as a series of triangular numbers.
+:::
+
+::: {}
+
+ Parameter | $F_6$ | V | E
+------------------------|-------|-----|-----
+(1, 0) | 4 | 28 | 42
+(2, 0) | 24 | 68 | 102
+(3, 0) | 52 | 124 | 186
+(4, 0) | 88 | 196 | 294
+(5, 0) | 132 | 284 | 426
+
+:::
+::::
+
+
+### Whirled Solutions
+
+The entries of the parameter column are 2-tuples for two reasons: one, to be parallel to the previous tables, and two, because there is an additional parameter. When drawing points on the tetrahedral net, there was no need to place the pentagons at on the midpoints of the triangular figures. While the triangular figures were the wrong direction to take, the possibility remains to choose another facet to (symmetrically) fit the pentagons into. Since $\Delta_3$ was skipped in the above diagrams, consider arranging hexagons like this and placing pentagons on one side of the "middle" hexagon in a rotationally symmetric way.
+
+
+:::: {layout-ncol="2"}
+::: {}
+
+
+Tetrahedral net with $\Delta_3$ on faces and offset pentagons.
+:::
+
+::: {}
+
+
+Equivalent planar graph. External face is colored blue.
+:::
+
+::: {}
+
+
+Planar graph with recolored faces and path between pentagons identified.
+:::
+
+::: {}
+
+
+Single rotationally symmetric section with paths (and parameters) identified.
+:::
+::::
+
+There are $4(6 + 4) = 40$ hexagons in total, which coincides with the earlier tetrahedral antitruncation (3, 3). To attempt to parametrize this figure, start from a pentagon facing a red hexagon and cross two edges. Then, turn 60 degrees and cross a final edge, completing the path (2, 1). If the previous solutions are similar to class I Goldberg solutions, then these are similar to class III Goldberg solutions. Each edge of the pentagon can be characterized in the following way:
+
+1. The "constrained" edge shared between two pentagons. Crossing this edge always gives the path (1, 0)
+2. The "canonical" edge on the face of the tetrahedral net. The shortest paths across any two of these are (2, 1) and (1, 2)
+3. The edge which shares a vertex with a (b) edge, but not an (a) edge. The paths (3, 0) and (2, 1) link up to a (d) edge.
+4. The edge which shares a vertex with a (b) edge and an (a) edge. The paths (1, 2) and (3, 0) link up to a (c) edge, and (1, -1) always links it to an (e) edge.
+5. The last edge, which does not share a vertex with a (b) edge, but does with an (a) edge. Links up to other (e) edges along the path (2, 2) and to (d) edges always along (1, -1).
+
+The canonical path (2, 1), the constrained path (1, 0) (which comes from preserving $E_2$s), and the auxiliary path (1, -1) combine to create the noncanonical paths, (2, 2) and (3, 0). I have yet to prove this construction works consistently, but I suspect that this can be generalized and that a parallel to class II Goldberg solutions also exists.
+
+
+Symmetry and Other Tetrahedral Solutions
+----------------------------------------
+
+All of these figures have [tetrahedral symmetry](https://en.wikipedia.org/wiki/Tetrahedral_symmetry) ($T$) by construction, at least rotationally. This is possible because the base case, the dodecahedron, has icosahedral symmetry, which contains tetrahedral symmetry. Class I and II Goldberg antitruncations and non-whirled edge-constrained cases also have mirror symmetry about three axes/planes ($T_d$). The order-2 edge-constrained case appears to be even better, since all 8 of the "interpolating" regions containing hexagons are the same. This perhaps implies octahedral symmetry ($O$), though I have not verified this.
+
+
+### Double-Goldberg
+
+Every one of these solution figures, both constructed and otherwise, can be extended using one of the previously-discussed Goldberg-Coxeter Conway operators ($dk$, $tk$, $c_n = du_nd$, and $w$) to create another solution while preserving tetrahedral symmetry. Effectively, this combines antitruncations (which expand the pairs of pentagons, but preserve the triples) and the edge-constrained solutions (which expand the triples, but preserve the pairs) based on the truncated triakis tetrahedron. Some of the easily-constructible solutions based on Goldberg polyhedra are accumulated in the table below.
+
+```{python}
+#| label: tbl-double-goldberg
+#| echo: false
+
+# from IPython.display import Markdown
+# from tabulate import tabulate
+#
+# polyhedronisme = lambda x, y: f"[{x}](https://levskaya.github.io/polyhedronisme/?recipe={y})"
+
+table = [
+ ["c(2, 0)", polyhedronisme("ct6kT", "K300dudt6kT"), "(2, 0), (2, 2), (4, 0)", 46, 112, 168],
+ ["c(2, 2)", polyhedronisme("ct6uT", "K300duK30dt6uT"), "(2, 2), (2, 0), (4, 2)", 70, 160, 240],
+ ["c(4, 1)", polyhedronisme("ct6gtT", "K300duK50dt6gtT"), "(4, 2), (2, 0), (6, 0)", 142, 304, 456],
+
+ ["dk(2, 0)", polyhedronisme("dkt6kT", "K300dkt6kT"), "(1, 1), (2, 2)", 32, 84, 126],
+ ["dk(2, 2)", polyhedronisme("dkt6uT", "K300dkK30t6uT"), "(1, 1), (3, 0), (3, 3)", 50, 120, 180],
+ ["dk(4, 1)", polyhedronisme("dkt6gtT", "K300dkK50t6gtT"), "(1, 1), (3, 3), (4, 1)", 104, 228, 342],
+
+ ["tk(2, 0)", polyhedronisme("tkt6kT", "K300tkt6kT"), "(3, 0), (3, 3)", 116, 252, 378],
+ ["tk(2, 2)", polyhedronisme("tkt6uT", "K300tkK30t6uT"), "(3, 0), (3, 3), (6, 0)", 170, 360, 540],
+ ["tk(4, 1)", polyhedronisme("tkt6gtT", "K300tkK50t6gtT"),"(3, 0), (6, 3), (9, 0)", 332, 684, 1026],
+
+ ["w(2, 0)", polyhedronisme("wt6kT", "K300wK30t6kT"), "(2, 1), (4, 1)", 88, 196, 294],
+ ["w(2, 2)", polyhedronisme("wt6uT", "K300wK100t6uT"), "(2, 1), (3, 0), (4, 1)", 130, 280, 420],
+ ["w(4, 1)", polyhedronisme("wt6gtT", "K300wK50t6gtT"), "(2, 1), (5, 3), (6, 3)", 256, 532, 798],
+]
+
+Markdown(tabulate(
+ table,
+ headers=["(Tetrahedral Goldberg) Parameter", "Conway", "Paths Between Pairs", "$F_6$", "V", "E"],
+ numalign="center",
+ stralign="center",
+))
+```
+Note that higher-order subdivisions (chamfers) and higher-order whirls are still possible.
+
+The same operators can be applied to the edge-constrained cases (and may intersect with the above table in a truly topologically equivalent sense), but owing to the difficulties in generating these, I will not attempt to tabulate them. Before I consider doing so, I would need to formalize the construction of the graph (or attempt to write a program which identifies identical vertices, as I did manually to sketch the figures initially), canonicalize and tweak the graph into a closed 3D figure, and use the result as a seed in a viewer which supports (importing figures and) interpreting Conway notation.
+
+
+Closing
+-------
+
+Tetrahedral solutions are vastly more complicated. In decreasing the specificity of symmetry, the amount of free parameters increases. Despite claiming existence of these tetrahedral solutions topologically, actual geometric construction of some is difficult. Pentagons are no longer regular, any(?) arrangement with thrice-rotational symmetry per face is valid, and I am unsure whether the resultant polyhedra can even be made equilateral.
+
+As you may be able to guess, not even specifying tetrahedral symmetry is enough to completely classify every solution either. The [next post]() will discuss additional solutions, some of whose members *cannot* be constructed using common seed polyhedra.
+
+Polyhedron images were generated using [*polyHédronisme*](https://levskaya.github.io/polyhedronisme/), nets and graphs were created with GeoGebra.
diff --git a/posts/pentagons/2/penta edge 2 graph.png b/posts/pentagons/2/penta edge 2 graph.png
new file mode 100644
index 0000000..7be6dce
Binary files /dev/null and b/posts/pentagons/2/penta edge 2 graph.png differ
diff --git a/posts/pentagons/2/penta edge 2 net.png b/posts/pentagons/2/penta edge 2 net.png
new file mode 100644
index 0000000..56d876c
Binary files /dev/null and b/posts/pentagons/2/penta edge 2 net.png differ
diff --git a/posts/pentagons/2/penta edge whirl graph with path.png b/posts/pentagons/2/penta edge whirl graph with path.png
new file mode 100644
index 0000000..edce72e
Binary files /dev/null and b/posts/pentagons/2/penta edge whirl graph with path.png differ
diff --git a/posts/pentagons/2/penta edge whirl graph.png b/posts/pentagons/2/penta edge whirl graph.png
new file mode 100644
index 0000000..713e7af
Binary files /dev/null and b/posts/pentagons/2/penta edge whirl graph.png differ
diff --git a/posts/pentagons/2/penta edge whirl net.png b/posts/pentagons/2/penta edge whirl net.png
new file mode 100644
index 0000000..df828d7
Binary files /dev/null and b/posts/pentagons/2/penta edge whirl net.png differ
diff --git a/posts/pentagons/2/polyhedronisme-K300cT.png b/posts/pentagons/2/polyhedronisme-K300cT.png
new file mode 100644
index 0000000..40719c9
Binary files /dev/null and b/posts/pentagons/2/polyhedronisme-K300cT.png differ
diff --git a/posts/pentagons/2/polyhedronisme-K300t6kT.png b/posts/pentagons/2/polyhedronisme-K300t6kT.png
new file mode 100644
index 0000000..e99fbbe
Binary files /dev/null and b/posts/pentagons/2/polyhedronisme-K300t6kT.png differ
diff --git a/posts/pentagons/2/polyhedronisme-K300tT.png b/posts/pentagons/2/polyhedronisme-K300tT.png
new file mode 100644
index 0000000..b3a820c
Binary files /dev/null and b/posts/pentagons/2/polyhedronisme-K300tT.png differ
diff --git a/posts/pentagons/2/polyhedronisme-K300wT.png b/posts/pentagons/2/polyhedronisme-K300wT.png
new file mode 100644
index 0000000..36255e1
Binary files /dev/null and b/posts/pentagons/2/polyhedronisme-K300wT.png differ
diff --git a/posts/pentagons/2/polyhedronisme-T.png b/posts/pentagons/2/polyhedronisme-T.png
new file mode 100644
index 0000000..7e849e2
Binary files /dev/null and b/posts/pentagons/2/polyhedronisme-T.png differ
diff --git a/posts/pentagons/2/primitive e2 graph.png b/posts/pentagons/2/primitive e2 graph.png
new file mode 100644
index 0000000..217fa46
Binary files /dev/null and b/posts/pentagons/2/primitive e2 graph.png differ
diff --git a/posts/pentagons/2/primitive e2 net.png b/posts/pentagons/2/primitive e2 net.png
new file mode 100644
index 0000000..3574366
Binary files /dev/null and b/posts/pentagons/2/primitive e2 net.png differ
diff --git a/posts/pentagons/2/triangular number diagram.png b/posts/pentagons/2/triangular number diagram.png
new file mode 100644
index 0000000..c77c4bb
Binary files /dev/null and b/posts/pentagons/2/triangular number diagram.png differ
diff --git a/posts/pentagons/2/whirl path.png b/posts/pentagons/2/whirl path.png
new file mode 100644
index 0000000..9bcba29
Binary files /dev/null and b/posts/pentagons/2/whirl path.png differ
diff --git a/posts/pentagons/3/auspicious tatami.png b/posts/pentagons/3/auspicious tatami.png
new file mode 100644
index 0000000..28d6eb7
Binary files /dev/null and b/posts/pentagons/3/auspicious tatami.png differ
diff --git a/posts/pentagons/3/dodeca graph 2.png b/posts/pentagons/3/dodeca graph 2.png
new file mode 100644
index 0000000..0794ecd
Binary files /dev/null and b/posts/pentagons/3/dodeca graph 2.png differ
diff --git a/posts/pentagons/3/dodecahedral graph.png b/posts/pentagons/3/dodecahedral graph.png
new file mode 100644
index 0000000..3073a82
Binary files /dev/null and b/posts/pentagons/3/dodecahedral graph.png differ
diff --git a/posts/pentagons/3/dodecahedron tatami.png b/posts/pentagons/3/dodecahedron tatami.png
new file mode 100644
index 0000000..c2b6599
Binary files /dev/null and b/posts/pentagons/3/dodecahedron tatami.png differ
diff --git a/posts/pentagons/3/drajmarsh - t5t6dwdzC.png b/posts/pentagons/3/drajmarsh - t5t6dwdzC.png
new file mode 100644
index 0000000..cb06a6a
Binary files /dev/null and b/posts/pentagons/3/drajmarsh - t5t6dwdzC.png differ
diff --git a/posts/pentagons/3/drajmarsh - t5t6uzC.png b/posts/pentagons/3/drajmarsh - t5t6uzC.png
new file mode 100644
index 0000000..b5f3913
Binary files /dev/null and b/posts/pentagons/3/drajmarsh - t5t6uzC.png differ
diff --git a/posts/pentagons/3/drajmarsh - t5zC.png b/posts/pentagons/3/drajmarsh - t5zC.png
new file mode 100644
index 0000000..fc430f6
Binary files /dev/null and b/posts/pentagons/3/drajmarsh - t5zC.png differ
diff --git a/posts/pentagons/3/drajmarsh - zC.png b/posts/pentagons/3/drajmarsh - zC.png
new file mode 100644
index 0000000..219a43d
Binary files /dev/null and b/posts/pentagons/3/drajmarsh - zC.png differ
diff --git a/posts/pentagons/3/f6 = 18 tatami.png b/posts/pentagons/3/f6 = 18 tatami.png
new file mode 100644
index 0000000..4c5a870
Binary files /dev/null and b/posts/pentagons/3/f6 = 18 tatami.png differ
diff --git a/posts/pentagons/3/inauspicious tatami.png b/posts/pentagons/3/inauspicious tatami.png
new file mode 100644
index 0000000..6c549f4
Binary files /dev/null and b/posts/pentagons/3/inauspicious tatami.png differ
diff --git a/posts/pentagons/3/index.qmd b/posts/pentagons/3/index.qmd
new file mode 100644
index 0000000..05b38fe
--- /dev/null
+++ b/posts/pentagons/3/index.qmd
@@ -0,0 +1,496 @@
+---
+format:
+ html:
+ html-math-method: katex
+jupyter: python3
+---
+
+
+12 Pentagons, Part 3
+====================
+
+This is the third part in an investigation into answering the following question:
+
+> A soccer ball is a (roughly spherical) figure made of pentagons and hexagons, each meeting 3 at a point. [T]here are 12 pentagons...how many hexagons can there be?
+
+The [first post]() in the series proved the 12 pentagons portion and investigated (dodecahedral) Goldberg polyhedra. The [second post]() investigated (tetrahedral) Goldberg polyhedra as well as other tetrahedral solutions. Yet more unconventional solutions are presented below.
+
+
+Introduction
+------------
+
+
+### Combinatorics of Goldberg-Coxeter Operators
+
+I mentioned previously that these solutions cannot be created easily from seed polyhedra in a polyhedron viewer. This prompts the question of how to calculate the vertex, edge, and face counts without acquiring them from the output of such a program.
+
+Each of the simple GC operators (*dk*, *c*, and *w*) has a combinatoric matrix form when applied to a vector of the vertex, edge, and face counts of a figure S.
+
+$$
+S = \begin{pmatrix} v \\ e \\ f \end{pmatrix} = \begin{pmatrix} 2F_6 + 20 \\ 3F_6 + 30 \\ F_6 + 12 \end{pmatrix} \\
+dk = \begin{pmatrix} 0 & 2 & 0 \\ 0 & 3 & 0 \\ 1 & 0 & 1 \end{pmatrix}, ~
+c = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 4 & 0 \\ 0 & 1 & 1 \end{pmatrix}, ~
+w = \begin{pmatrix} 1 & 4 & 0 \\ 0 & 7 & 0 \\ 0 & 2 & 1 \end{pmatrix}
+$$
+
+As a reminder, *tk* is a power of the *dk* operator. Powers of a matrix are more readily expressed when the matrix is diagonalized.
+
+$$
+\begin{align*}
+dk &= \begin{pmatrix} 0 & 2 & 0 \\ 0 & 3 & 0 \\ 1 & 0 & 1 \end{pmatrix} =
+\begin{pmatrix} -1 & 0 & 2 \\ 0 & 0 & 3 \\ 1 & 1 & 1 \end{pmatrix}
+\begin{pmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 3 \end{pmatrix}
+\begin{pmatrix} 1 & -2/3 & 0 \\ 1 & -1 & 1 \\ 0 & 1/3 & 0 \end{pmatrix}
+\\
+c &= \begin{pmatrix} 1 & 2 & 0 \\ 0 & 4 & 0 \\ 0 & 1 & 1 \end{pmatrix} =
+\begin{pmatrix} -1 & 0 & 2 \\ 0 & 0 & 3 \\ 1 & 1 & 1 \end{pmatrix}
+\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 4 \end{pmatrix}
+\begin{pmatrix} 1 & -2/3 & 0 \\ 1 & -1 & 1 \\ 0 & 1/3 & 0 \end{pmatrix}
+\\
+w &= \begin{pmatrix} 1 & 4 & 0 \\ 0 & 7 & 0 \\ 0 & 2 & 1 \end{pmatrix} =
+\begin{pmatrix} -1 & 0 & 2 \\ 0 & 0 & 3 \\ 1 & 1 & 1 \end{pmatrix}
+\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 7 \end{pmatrix}
+\begin{pmatrix} 1 & -2/3 & 0 \\ 1 & -1 & 1 \\ 0 & 1/3 & 0 \end{pmatrix}
+\end{align*}
+$$
+
+All of these operators share the same eigenvectors. This means that composition of these operators only modifies the diagonal matrix, specifically the upper-left and lower-right eigenvalues. Note also that:
+
+- The (right) eigenvector (2, 3, 1), is shared by the general system governing the vertex, edge, and hexagon counts (simply look at the vector *S* to see this). In this system (not the one above), it has eigenvalue 0.
+- The left eigenvector (1, -1, 1) has eigenvalue 1, which corresponds to the Euler characteristic being maintained.
+- The left eigenvector, (3, -2, 0), when applied to general polyhedra corresponds to the edges and vertices added by the operation: *dk* forces all vertices to be degree-3 (hence the eigenvalue 0) and *c* and *w* maintain previous vertices while adding degree-3 ones (hence the eigenvalue 1).
+
+All solutions share the same Euler characteristic and the condition 3V = 2E, so the rightmost multiplication simplifies things considerably.
+
+$$
+\begin{align*}
+g_T S &= \begin{pmatrix} -1 & 0 & 2 \\ 0 & 0 & 3 \\ 1 & 1 & 1 \end{pmatrix}
+\begin{pmatrix} x & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & T \end{pmatrix}
+\begin{pmatrix} 1 & -{2 \over 3} & 0 \\ 1 & -1 & 1 \\ 0 & {1 \over 3} & 0 \end{pmatrix}
+\begin{pmatrix} v \\ e \\ f \end{pmatrix}
+\\[8pt] &=
+\begin{pmatrix} -1 & 0 & 2 \\ 0 & 0 & 3 \\ 1 & 1 & 1 \end{pmatrix}
+\begin{pmatrix} x & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & T \end{pmatrix}
+\begin{pmatrix} v - {2 \over 3} e = 0 \\ v - e + f = 2 \\ {1 \over 3} e \end{pmatrix}
+\\[8pt] &=
+\begin{pmatrix} -1 & 0 & 2 \\ 0 & 0 & 3 \\ 1 & 1 & 1 \end{pmatrix}
+\begin{pmatrix} 0 \\ 2 \\ {1 \over 3} T e \end{pmatrix}
+\end{align*}
+$$
+
+Recall that each of the operators applied to the dodecahedron was a Goldberg polyhedron: *dkD* = *tI* = GC(1, 1), *cD* = GC(2, 0), and *wD* = GC(2, 1). The norm of each of these is 3, 4, and 7 respectively, which is also the eigenvalue T. In fact, all Goldberg-Coxeter operators, not just compositions of these three, simply set $T = \|a + bu\|$ (the eigenvalue x is T mod 3, which as previously mentioned, is never congruent to 2).
+
+This eigenvalue problem also implies something about the possible values of *T*: it is closed under multiplication. For any *T*, all its powers are *also* possible *T*, as are products between *T*. In fact, the existence of chiral pairs ($a \neq b$) and the ability to compose opposites is what can make *T* nonunique for a given pair (e.g.: $ww = (2, 1) \odot (2, 1) = (5, 3)$, but $ww' = (2, 1) \odot (1, 2) = (7, 0)$).
+
+Returning to the equation,
+
+$$
+\begin{align*}
+\begin{pmatrix} -1 & 0 & 2 \\ 0 & 0 & 3 \\ 1 & 1 & 1 \end{pmatrix}
+\begin{pmatrix} 0 \\ 2 \\ {1 \over 3} T e \end{pmatrix} &=
+\begin{pmatrix} {2 \over 3} Te \\ Te \\ {1 \over 3}Te + 2 \end{pmatrix}
+\\[8pt] &=
+\begin{pmatrix} {2 \over 3} T(3F_6 + 30) \\ T(3F_6 + 30) \\ {1 \over 3}T(3F_6 + 30) + 2 \end{pmatrix}
+\\[8pt] &=
+\begin{pmatrix} 2T(F_6 + 10) \\ 3T(F_6 + 10) \\ T(F_6 + 10) + 2 \end{pmatrix}
+\\[12pt]
+F'_6 &= T(F_6 + 10) - 10
+\end{align*}
+$$
+
+This demonstrates the importance of both the constructed base solution figure *S* with $F_6$ hexagons and the possible values of *T*.
+
+
+### A brief word about Symmetry
+
+The dodecahedron, and by extension dodecahedral solutions, have icosahedral symmetry. A sub-symmetry of this, being tetrahedral symmetry, was exploited in the previous post. However, there are further sub-symmetries which have not been encountered. For example, some "smaller" symmetries of the dodecahedron are the vertices under rotation and inversion (dihedral, degree 3) and the faces under rotation and inversion (dihedral, degree 5). One of these two symmetries must be shared by a solution.
+
+Rather than the typical construction based on paths between pentagons, this section will focus on certain base cases followed by a rudimentary application of the Conway operators above. The particular symmetry group of each figure will be mentioned in each section.
+
+
+Deltahedra
+----------
+
+*Deltahedra* are polyhedra formed by equilateral triangles, a [table of which](https://en.wikipedia.org/wiki/Deltahedron) is available on Wikipedia. Equilateral triangles are important since three to five of them can be joined at a convex vertex, and if coplanar arrangements are allowed, up to six of them. Degree-5 and degree-6 vertices can be dualized or truncated to pentagons and hexagons respectively; additionally, if the former operation is used, then the triangles become degree-3 vertices.
+
+All convex deltahedra besides the tetrahedron and the icosahedron contain degree-4 vertices. These pose a problem since they become quadrilaterals. Though selective (pyramidal) augmentation can correct these vertices to degree-5 (and those of degree-5 to degree-6), this section will focus on the coplanar entries on the table.
+
+
+### Triangulated Rhombohedron (Dih3)
+
+The figure made by cutting the short diagonals of a *trigonal trapezohedron* (a rhombohedron like the cube) is one such degree-4 vertex-free deltahedron. It can also be seen as either a *biaugmentation* (by tetrahedra on opposite faces) of an octahedron or as a [*gyroelongated triangular bipyramid*](https://en.wikipedia.org/wiki/Gyroelongated_bipyramid). Truncating the order-5 vertices produces an eggy-looking figure, and one for which the polyhedron viewer I typically use refuses to comply. Try using this viewer (which unfortunately does not support hotlinking recipes) with the recipe t5z applied to the cube. This figure inherits the dihedral symmetry of degree 3 that the vertices of the dodecahedron have.
+
+:::::: {layout-ncol=2}
+::::: {.column width="49%"}
+:::: {layout-ncol=2}
+::: {}
+
+
+Biaugmented octahedron
+:::
+
+::: {}
+
+
+Base case: order-5 truncation of left figure
+:::
+::::
+
+:::: {}
+
+
+Graph of the pole of the base case. On the opposite pole, blue and red hexagons are exchanged.
+::::
+:::::
+
+::::: {.column width="49%"}
+
+Conway | $F_6$ | V | E
+--------|----------|-----|-----
+t5C = B | 6 | 32 | 48
+dkB | 38 | 96 | 144
+cB | 54 | 128 | 192
+wB | 102 | 224 | 336
+tkB | 134 | 288 | 432
+$g_T B$ | 16T - 10 | 32T | 48T
+
+:::::
+::::::
+
+
+### Triangular Frustum (Dih3)
+
+This figure is formed by a group of four triangles as a base, three half-hexagons on the edges, and closed by a triangle atop. It can also be seen as an augmented octahedron, but with the tetrahedra placed around a single face (a *triaugmentation*). Unfortunately, this figure is not easily constructible from normal seed polyhedra, even in the alternative viewer. However, it is still possible to operate on its projection as a planar graph. Truncating all vertices except those of degree 3 ($t_5 t_6$) produces a figure with 8 hexagons and indeed, 12 pentagons. In this case, the pentagons gather in groups of 4 and are separated by three bands of hexagons joined by two hexagons at either end. The symmetry inherited by this figure is also dihedral of degree 3, but centered about a hexagon, rather than a complex of pentagons.
+
+::::: {}
+:::: {layout-ncol="4"}
+::: {}
+
+:::
+
+::: {}
+
+:::
+
+::: {}
+
+:::
+
+::: {}
+
+:::
+::::
+Construction based on planar graph (1). First, the degree-6 vertices are truncated (2). Then, the graph is inverted (3) and the degree-5 vertices are truncated (4).
+:::::
+
+
+
+:::: {layout-ncol="2"}
+::: {.column width="49%"}
+
+
+One-third of the figure, showing a group of four pentagons. Pentagons in green, band hexagons in red, cap hexagons in blue.
+:::
+
+::: {.column width="49%"}
+
+Conway | $F_6$ | V | E
+--------|----------|-----|-----
+F | 8 | 36 | 54
+dkF | 44 | 108 | 162
+cF | 62 | 144 | 216
+wF | 116 | 252 | 378
+tkF | 152 | 324 | 486
+$g_T F$ | 18T - 10 | 36T | 54T
+
+:::
+::::
+
+***
+
+The remaining entries of the Wikipedia table with no degree-4 vertices (save the hexagonal antiprism, which I will discuss in the next section) are easily accessible from the tetrahedron. For example, the "augmented tetrahedron" is simply a subdivided tetrahedron (*uT*) and the "(subdivided) truncated tetrahedron" is the hexakis truncated tetrahedron ($k_6 tT$).
+
+Larger subdivisions (in the $u_n$ sense) of the above two cases are also coplanar deltahedra, so this can be performed before the truncation. Triangular subdivision can add degree-6 vertices, so for the triangulated rhombohedron, an additional order-6 truncation needs to be done. Doing so means $t_5 t_6$ is applied to either case to form the solution figure.
+
+An example subidivision is shown below. Note how the 3 pentagons at the pole have been separated from another 3 by a triangle of hexagons. I am fairly sure it is possible for mismatched pole configurations to be joined to one another for a more selective subdivision. Other Goldberg-Coxeter operations other than *u* can also be used; *dwd* for example connects non-polar pentagons with spirals of hexagons.
+
+::::: {}
+:::: {layout-ncol="2"}
+::: {.column width="49%"}
+
+
+$F_6$ = 60, V = 140, E = 210
+:::
+
+::: {.column width="49%"}
+
+
+$F_6$ = 114, V = 248, E = 372
+:::
+::::
+
+Left: $t_5 t_6 uzC$, Right: $t_5 t_6 dwdzC$
+:::::
+
+
+Other Solutions
+---------------
+
+This section is for polyhedra which are either more easily constructible or are not easily derived from deltahedra.
+
+
+### Truncated Trapezohedron (Dih6)
+
+A *trapezohedron* is the polyhedral dual of an antiprism; an example is a d10, which is the pentagonal case. Despite the name "*n*-gonal trapezohedron," the figure is made entirely from 2*n* kites with the long edges meeting at points and the short edges meeting with each other. Truncating the order-*n* vertices where the long edges of the kites meet produces a truncated trapezohedron, which possesses two regular *n*-gonal "caps" separated by a ring of pentagons. In a way, they can be considered as the pentagonal analogue to prisms (quadrilaterals) and antiprisms (triangles).
+
+The dodecahedron itself can be realized as a (order-5) truncated pentagonal trapezohedron ($t_5 d A_5$), which emphasizes its degree-5 dihedral symmetry. The next largest truncated trapezohedron is the hexagonal case ($t_6 d A_6$), which contains and 2 hexagons and has dihedral symmetry of degree 6 (which itself contains that of degree 3).
+
+:::: {layout-ncol="2"}
+::: {.column width="49%"}
+
+
+Base case: truncated hexagonal trapezohedron
+:::
+
+::: {.column width="49%"}
+
+Conway | $F_6$ | V | E
+-------------------------------------------------------------------------------|----------|-----|-----
+[$t_6dA_6 = T_6$](https://levskaya.github.io/polyhedronisme/?recipe=K300t6dA6) | 2 | 24 | 36
+[$dkT_6$](https://levskaya.github.io/polyhedronisme/?recipe=dkK300t6dA6) | 26 | 72 | 108
+[$cT_6$](https://levskaya.github.io/polyhedronisme/?recipe=K300cK30t6dA6) | 38 | 96 | 144
+[$wT_6$](https://levskaya.github.io/polyhedronisme/?recipe=K300wK30t6dA6) | 86 | 168 | 252
+[$tkT_6$](https://levskaya.github.io/polyhedronisme/?recipe=K300tkK30t6dA6) | 98 | 216 | 324
+$g_T T_6$ | 12T - 10 | 24T | 36T
+
+:::
+::::
+
+Medially-Separated Dodecahedron (Dih5)
+--------------------------------------
+
+As the "truncated pentagonal trapezohedron", the dodecahedron can be separated into halves along an equator (specifically, along the [Petrie polygon](https://en.wikipedia.org/wiki/Petrie_polygon)). This produces two halves with the pole configuration of the dodecahedron, joined together with hexagons. Organizing the pentagons into two pairs of 6 is similar to the earlier case with the triangulated cube, but with a different arrangement of pentagons. The resultant figure has dihedral symmetry of degree 5. Interestingly, it is also the first solution polyhedron with an odd number of faces.
+
+:::::: {layout-ncol="2"}
+::::: {.column width="49%"}
+:::: {layout-ncol="2"}
+::: {.column width="49%"}
+
+
+Dodecahedral graph
+:::
+
+::: {.column width="49%"}
+
+
+Pole configuration of solution
+:::
+::::
+
+:::: {}
+
+
+Complete base solution. Note how the outer face has been rotated when compared with the dodecahedral graph
+::::
+:::::
+
+::::: {.column width="49%"}
+
+Conway | $F_6$ | V | E
+----------------|----------|-----|-----
+$D_p$ | 5 | 30 | 45
+$dkD_p$ | 35 | 90 | 135
+$cD_p$ | 50 | 120 | 180
+$wD_p$ | 95 | 210 | 315
+$tkD_p$ | 125 | 270 | 405
+$g_T D_p$ | 15T - 10 | 30T | 45T
+
+:::::
+::::::
+
+
+Truncated Gyro-Pyramids (Dih5, Dih6)
+------------------------------------
+
+In the previous post, I used the Conway operator *g*, which is called "gyro". It is the dual operator to snubbing, intuition for which can be seen by looking at the [snub cube](https://en.wikipedia.org/wiki/Snub_cube). A *gyro-pyramid* (i.e., the gyro operator applied to pyramids) can roughly be described as a ring of 2*n* pentagons which alternate in orientation, the points of which have an additional edge connecting to one of two antipodal endpoints. Truncating these these adds a face with the same number of edges as the original pyramid, surrounded by hexagons. Solution polyhedra can be found by examining the pentagonal ($t_5 g Y_5$) and hexagonal ($t_6 g Y_6$) cases. The former has dihedral symmetry of degree 5 and the latter has that of degree 6 (which contains degree 3).
+
+::::: {layout-ncol="2"}
+:::: {.column width="49%"}
+::: {}
+
+
+Base case 1: truncated pentagonal gyro-pyramid
+:::
+
+::: {}
+
+
+Base case 2: truncated hexagonal gyro-pyramid
+:::
+::::
+
+:::: {.column width="49%"}
+
+Conway | $F_6$ | V | E
+----------------------------------------------------------------------------------|----------|-----|-----
+[$t_5gY_5 = G_5$](https://levskaya.github.io/polyhedronisme/?recipe=K300t5K30gY5) | 10 | 40 | 60
+[$dkG_5$](https://levskaya.github.io/polyhedronisme/?recipe=dkK300t5K30gY5) | 50 | 120 | 180
+[$cG_5$](https://levskaya.github.io/polyhedronisme/?recipe=K300dudt5K30gY5) | 70 | 160 | 240
+[$wG_5$](https://levskaya.github.io/polyhedronisme/?recipe=K300wK30t5K30gY5) | 130 | 280 | 420
+[$tkG_5$](https://levskaya.github.io/polyhedronisme/?recipe=tkK300t5K30gY5) | 170 | 360 | 540
+$g_T G_5$ | 20T - 10 | 40T | 60T
+[$t_6gY_6 = G_6$](https://levskaya.github.io/polyhedronisme/?recipe=K300t6K30gY6) | 14 | 48 | 72
+[$dkG_6$](https://levskaya.github.io/polyhedronisme/?recipe=dkK300t6K30gY6) | 62 | 144 | 216
+[$cG_6$](https://levskaya.github.io/polyhedronisme/?recipe=K300dudK40t6gY6) | 86 | 192 | 288
+[$wG_6$](https://levskaya.github.io/polyhedronisme/?recipe=K300wK30t6K30gY6) | 158 | 336 | 504
+[$tkG_6$](https://levskaya.github.io/polyhedronisme/?recipe=tkK300t6K30gY6) | 206 | 432 | 648
+$g_T G_6$ | 24T - 10 | 48T | 72T
+
+::::
+:::::
+
+The pentagonal case demonstrates something interesting: an appeal to the equation $12 = 10 + 2 = 5 \cdot 2 + 2$. The similar equation $12 = 7 + 5$ is unlikely to bear fruit, as an odd number of pentagons cannot alternate up and down.
+
+
+Japanese Floor Tiling
+---------------------
+
+*Tatami* are a Japanese traditional style of floor mat, used even today in Japan as an intuitive measure for the surface area of living spaces. A single mat has an aspect ratio of 2:1, but the complexity comes in how they are arranged. Layouts are termed "inauspicious" (不祝儀敷き, *fushūgi-jiki*) when there are points where four mats meet, while "auspicious" (祝儀敷き, *shūgi-jiki*) layouts have all mats meet in threes. For a sample of the fascination mathematicians have with these arrangements, you need only [search for "tatami" in the OEIS](http://oeis.org/search?q=tatami&language=english&go=Search) to find dozens of combinatorial sequences.
+
+:::: {layout-ncol="3"}
+::: {.column width="32%"}
+
+
+Inauspicious 4x4 layout
+:::
+
+::: {.column width="32%"}
+
+
+Auspicious 4x4 layout
+:::
+
+::: {.column width="32%"}
+
+
+Possible topologies for a single mat
+:::
+::::
+
+Topologically, each *tatami* mat in an arrangement can be thought of as either a quadrilateral, a pentagon or a hexagon. Obviously when considered alone, one mat is a rectangle, as is each mat in a stack of them like in the inauspicious layout above. When two mats are affixed to one side of the mat, it becomes a pentagon, as in the auspicious layout above; all 8 mats are pentagons. Finally, when done to both sides, it becomes a hexagon.
+
+::::: {layout-ncol="2"}
+:::: {.column width="49%"}
+