simon-git: puzzles (main): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Fri Mar 31 19:34:07 BST 2023


TL;DR:
  1af1204 hat-test: option to generate four-coloured hat tilings.

Repository:     https://git.tartarus.org/simon/puzzles.git
On the web:     https://git.tartarus.org/?p=simon/puzzles.git
Branch updated: main
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2023-03-31 19:34:07

commit 1af1204b9c33c9c03b2e0fe66c2f07d9729cbc72
web diff https://git.tartarus.org/?p=simon/puzzles.git;a=commitdiff;h=1af1204b9c33c9c03b2e0fe66c2f07d9729cbc72;hp=52d801a06a804244292f4a872eeaf5e84a9f70b1
Author: Simon Tatham <anakin at pobox.com>
Date:   Fri Mar 31 18:35:43 2023 +0100

    hat-test: option to generate four-coloured hat tilings.
    
    This commit is purely frivolous even by Puzzles standards, in that
    it's totally unrelated to any actual puzzle. But I know at least one
    person has already used the 'hat-test' tool in this code base to
    generate a patch of hat tiling for decorative purposes, so it's useful
    in its own right. Also, now that I've worked out _how_ to do this,
    it's a shame not to keep the code.
    
    Of course, any tiling of the plane _can_ be four-coloured, just by the
    Four Colour Theorem. But for a tiling with structure it's nicer if the
    colouring is related to the structure in some way. And there's a
    reasonably nice explicit construction that does just that: the paper
    introducing the tiling observes that if each reflected hat is fused
    with a particular one of its neighbours, the resulting tiling is
    graph-theoretically equivalent to a tiling of the plane by hexagons.
    And _that_ tiling can be three-coloured, in a unique way up to colour
    choices. This induces a four-colouring of the hat tiling in which the
    reflected hats have a colour to themselves, and everything else is
    coloured the same as its corresponding hexagon in the three-colouring.
    
    Actually implementing this turns out not to be too difficult using my
    coordinate system. I hand-wrote tables giving a patch of colouring for
    each of the four kitemaps; then, whenever two kitemaps meet, you can
    determine how the colours map to each other by looking at the
    overlapping tiles. So I can have hat-test work out the colour of each
    tile as it goes.
    
    So hat-test now supports a '--fourcolour' option to apply this
    colouring to the output tiling.

 hat.c | 238 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 231 insertions(+), 7 deletions(-)



More information about the tartarus-commits mailing list