Sunday, August 6, 2023

More Hexahaxes

Been a bit busy the past couple of months, and also I lost my main polyform-solving table to a sort of part time working-from-home setup. So things worth blogging about have been a little thin on the ground. But here goes:

polyformer.py - A Substitute for Creativity

A little while ago I made this:

Basically, you tell it what size your set of polyforms covers, how many holes you want and how big an individual piece is, and it calculates possible shapes that can be tiled - squares, rectangles, triangles, diamonds, groups of congruent rectangles, etc. It doesn't tile them, that's left up to the user, it just gives some suggestions as to what can be done. Essentially, I was sick of doing all the area calculations by hand so I automated it. And every so often I'll think of a new class of shapes that might be interesting and it's not a lot of work to add that into the program as and when. It doesn't handle parity (yet), and sometimes it'll just suggest something completely impossible because I overlooked something, but on the whole it does its job.

Solving Hexahexes

Hexahexes are a relatively unexplored territory to me - partly just because I haven't had the pieces very long, and partly because I just generally overlook polyhexes for whatever reason. And partly because there's a piece with a hole and that's just another little irritating detail you have to plan for when designing constructions (or constructing designs, as the case may be). But the program said that there was lots of fun things to do with the set (once I'd deciphered the confusing shorthand that is the code's output - it made sense on the day I wrote it but I quickly forgot which sides of the parallelogram etc. the lengths all referred to.)

Fig. 1: Here's one of the aforementioned constructions.

Solving with hexahexes is a piece of piss. sort of. There's not really anything weird like parity to deal with, and the proportion of friendly easy pieces that work at the end of the solution is quite high. After you've burnt through the stack of hideous wiggly wormy pieces that look like diagrams escaped from some cursed organic chemistry textbook then it's a solve that I'd rank somewhere between the hexominoes and heptominoes in terms of challenge.

Fig. 2: Here's some example nice co-operative pieces. Just for reference, or if you own a set of these yourself and want some handy tips, but also want to be spared the pain of many trial-and-error hard solves while you work out an optimal piece order.

Here's a couple of other miscellaneous solves.



A Final Random Thing

I get the feeling that a set of heptahexes (on a smaller scale than these ones) wouldn't be outside the realms of possibility. There's 333 of them, so less than the number of octominoes, and I've seen from the enneominoes that scaling down pieces even by quite a bit doesn't have a massive effect on their usability. Sure it just feels more satisfying solving with big meaty pieces that have some weight to them, but in terms of practicality (and cost!) some half or two-thirds scale 'hexes would be more sensible. So I'll see. I'm holding off on the laser cutting right now - still letting my wallet recover after the enneominoes - but some day...