For every tesselation, we can give a graph, which contains the edges and nodes of this tesselation. For example, the graph of the dodecahedron is
It is a graph of the kind 5 3, where every surface has 5 edges, and at every node, 3 edges meet. For 5 3, this graph is finite. For 4 4, this graph is the regular tesselation of the euclidean space:
But, for example, for 3 8, there is no regular tesselation on the euclidean space anymore, and none on the sphere. But there is a regular tesselation of that kind on the hyperbolic space.
Now, I was inspired by HyperRogue to try to produce some code,
without any direct goal. I created a program that generates such
graphs. And for debugging, I wrote a method that creates a
GraphViz definition. GraphViz is a program for layouting graphs;
it has several methods to find good starting points for several types
of graph. When trying the
sfdp method (and tuning a bit), I got the
The documentation says that
sfdp tries to arrange the nodes by reducing force (whatever force exactly is in this
case). It cannot arrange the outer nodes anymore, so we get a curly outer line – which reminds me of lettuce (Image
Source: Wikimedia Commons):
Lettuce also approximates hyperbolic surfaces. I am not sure why exactly, but probably to maximize the surface of its leaves. Maybe some similar process is going on in both cases. Or maybe it is just coincidence.
Anyway, I think it is beautiful. :3