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
following output:
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