Thursday, November 11, 2021

A Truncated Icosahedron

I think that by the time I finish the first project in Python Crash Course I’ll have the tools to proceed with my to-do list thing. But really, the more I’ve looked at them, the more I think I want to do all three of the projects in the book: they’re all things that I’d like to be able to do. 

I start to wonder about the difficulty of representing a sphere tiled with hexagons. Take a fishnet stocking with hexagonal windows, rather than square ones, and pull it over a globe: if the hexagons are small enough, could only very small tweaks in the side lengths  accommodate the sphere? The problem is beyond my casual geometric imagination, but I bet somebody has thought it out. It would be cool to have an imagined planet with its whole surface tiled with a hexagonal grid. You could always hack the seams with inaccessible polar ice caps, but it would be splendid to have a real and elegant solution.


Note post hoc: Amit Patel, as usual, was there way before me, and the the answer is: no, there’s not a real and elegant solution. But there is a solution in which you hide the inevitable pentagons in inaccessible regions. Of course, quite a bit of distortion and irregularity is perfectly acceptable if you place limits on zooming -- all that matters is that it *looks* like a hexagonal tiling, locally, and that the vague relationships (i.e. Siberia is closer to Alaska than Hawaii is to California) be more-or-less observed. For pre-Steam human history, this works fine: no European really knew how long it was going to take to reach Japan. It was just over there across the ocean. If your sea travel is simulated at all well, distance distortions will impinge far less than storms and prevailing winds… look at those awful Mercator projections I grew up on: I still learned geography.


Comparison of truncated icosahedron and soccer ball
Image by Aaron Rotenberg via Wikimedia Commons


The best solution for my purposes might be a truncated icosahedron (the soccer ball pattern) with the pentagons being the seeds for seas: the constraint would be that all (reachable) land would have to lie within the hexagonal regions (which after all are well over half the surface of the polyhedron). That’s plenty of land surface available, for an earthlike planet with a surface that’s largely water. It would rule out a mega-continent like Eurasia, but I’m not particularly attached to megacontinents. Open sea navigation could be handled (if it were handled at all) totally differently. It was not until the 20th Century that fleets could really find each other at sea. For technology of the 15th through the 19th Centuries, a player could just kiss their ships goodbye, when they entered the open sea, and hope they showed up on the far side somewhere, some months later. Actually kind of a nice representation. It’s ridiculous to have a simulation that suggests that Ferdinand and Isabella were conducting business by nudging model ships over a map of the Atlantic ocean. Columbus disappeared: and then maybe he showed up again, or maybe he didn’t.


So my world map would basically be twenty hexagonal maps stitched together at the sides, each map with land on it bordering (at most) three other maps. Sea travel that you could *see* would be limited to some coastal zone.

No comments: