revisions to pentagons.2

This commit is contained in:
queue-miscreant 2025-03-16 10:30:13 -05:00
parent f040d9c222
commit 72b9ce677e
16 changed files with 695 additions and 215 deletions

View File

@ -53,6 +53,14 @@ class PolyData:
vertex_count: int vertex_count: int
edge_count: int edge_count: int
@classmethod
def from_hexagons(cls, hexagon_count: int):
return cls(
hexagon_count=hexagon_count,
vertex_count=2*hexagon_count + 20,
edge_count=3*hexagon_count + 30,
)
@dataclass @dataclass
class GoldbergData: class GoldbergData:
@ -151,6 +159,11 @@ Thus, by asserting that the figure is composed of pentagons and hexagons,
This is the case even if there are no hexagons, in which case we are describing a dodecahedron This is the case even if there are no hexagons, in which case we are describing a dodecahedron
(which, incidentally, has 20 vertices). (which, incidentally, has 20 vertices).
Consequently, we get an expression for the number of vertices and edges in terms of the number of hexagons.
- $3V = 6F_6 + 5 F_5 = 6F_6 + 60 = 3V \implies V = 2F_6 + 20$
- $2V = 6F_6 + 5 F_5 \implies E = 3F_6 + 30$
### Duality ### Duality
@ -417,7 +430,7 @@ $$
\end{align*} \end{align*}
$$ $$
Giving an equal share of triangles to each pentagon as before, each has $\|(a, b)\|$ triangles. Giving an equal share of triangles to each pentagon as before, each has $\|a + bu\|$ triangles.
### Triangles to Hexagons ### Triangles to Hexagons
@ -455,8 +468,8 @@ Beyond Soccer Balls
------------------- -------------------
The three cases of paths as described above are also used to delineate classes of Goldberg polyhedra. The three cases of paths as described above are also used to delineate classes of Goldberg polyhedra.
Only class I and II polyhedra produce figures which are mirror-symmetric. Only class I and II polyhedra produce figures which are mirror-symmetric ($I_h$, which contains $I$).
Class III polyhedra come in chiral pairs, due to the choice of a clockwise turn in their construction. Class III polyhedra lack this; they come in chiral pairs due to the choice of a clockwise turn in their construction.
### Basic Conway Operators ### Basic Conway Operators
@ -630,12 +643,7 @@ goldberg_classes = {
def poly_from_dodecahedral_goldberg_parameter(parameter: tuple[int, int]): def poly_from_dodecahedral_goldberg_parameter(parameter: tuple[int, int]):
a, b = parameter a, b = parameter
hexagon_count = 10*(a*a + a*b + b*b - 1) hexagon_count = 10*(a*a + a*b + b*b - 1)
vertex_count = (60 + 6*hexagon_count) // 3 return PolyData.from_hexagons(hexagon_count)
return PolyData(
hexagon_count=hexagon_count,
vertex_count=vertex_count,
edge_count=(vertex_count * 3) // 2,
)
def goldberg_table_row(data: GoldbergData) -> list[str]: def goldberg_table_row(data: GoldbergData) -> list[str]:
@ -655,7 +663,7 @@ def goldberg_table_row(data: GoldbergData) -> list[str]:
Markdown(tabulate( Markdown(tabulate(
[ [
([class_] if i == 0 else [""]) + goldberg_table_row(item) ([class_ if i == 0 else ""]) + goldberg_table_row(item)
for class_, items in goldberg_classes.items() for class_, items in goldberg_classes.items()
for i, item in enumerate(items) for i, item in enumerate(items)
], ],

View File

Before

Width:  |  Height:  |  Size: 314 KiB

After

Width:  |  Height:  |  Size: 314 KiB

View File

Before

Width:  |  Height:  |  Size: 491 KiB

After

Width:  |  Height:  |  Size: 491 KiB

View File

Before

Width:  |  Height:  |  Size: 348 KiB

After

Width:  |  Height:  |  Size: 348 KiB

View File

Before

Width:  |  Height:  |  Size: 431 KiB

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

Before

Width:  |  Height:  |  Size: 497 KiB

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View File

@ -0,0 +1 @@
../1/goldberg_triangles.py

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 551 KiB