simon-git: tilings (main): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Wed Jun 12 19:53:17 BST 2024
TL;DR:
d40beff Add a description of the Ammann-Beenker tiling.
7998ae3 Add a transducer-capable version of HTPF.
Repository: https://git.tartarus.org/simon/tilings.git
On the web: https://git.tartarus.org/?p=simon/tilings.git
Branch updated: main
Committer: Simon Tatham <anakin at pobox.com>
Date: 2024-06-12 19:53:17
commit d40beff7025e4b67ff52e7ee52fbe3bb6a33ab03
web diff https://git.tartarus.org/?p=simon/tilings.git;a=commitdiff;h=d40beff7025e4b67ff52e7ee52fbe3bb6a33ab03;hp=644dae22c8d267782d6ff7fc5ac189bbe54a5f6c
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Jun 12 19:44:10 2024 +0100
Add a description of the Ammann-Beenker tiling.
I ran across this on Wikipedia and didn't see any reason not to add it
to the hoard. If nothing else, all tilings make good regression tests
for any later attempts to tinker with the code.
ammann-beenker.tl | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
toplevel.sage | 1 +
2 files changed, 66 insertions(+)
commit 7998ae3ea65610cc054386f7578cc7da9ee5c351
web diff https://git.tartarus.org/?p=simon/tilings.git;a=commitdiff;h=7998ae3ea65610cc054386f7578cc7da9ee5c351;hp=d40beff7025e4b67ff52e7ee52fbe3bb6a33ab03
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Jun 12 19:45:02 2024 +0100
Add a transducer-capable version of HTPF.
I derived this by matching up the 10-hex system (which admits a
transducer) to the HTPF system and seeing how they differed. This
system is midway between the two, with the same shapes of tile as HTPF
and an obvious mapping back to HTPF (more or less just forget the
multiple types of H and F), and also an exact correspondence to
10-hex (each of these tiles corresponds to a fixed cluster of hexes).
In the same commit, I've modified the 10-hex system by further
refining the set of edge types: the previous 'delta' edge is separated
into two kinds which never meet each other. The new type 'DELTA' is
used for precisely the joins where two hexes meet that together
correspond to a P or F in the HTPF system. This demonstrates that any
tiling of the plane with 10-hex hexes can be partitioned in a unique
way into clusters corresponding to these tiles, and so can its
supertile structure, with the two (or more) layers preserving their
correspondence. Hence, any hat layout that 10-hex can generate, so can
this, and hence (via the forgetful map) so can original HTPF.
To convert in the other direction, starting from a layout of real
HTPF, you'd need to find its metatile structure first, so that you
could colour the Hs and Fs depending on their parent. Most of them can
be done by looking only one level up: just knowing the parent tile
type and this tile's position within it is enough to choose which
colour it ought to be. The exceptions are:
- an F that's child #0 of an H: you need to know the colour of the H
in turn, which requires looking just one level further up to see if
it's child #8 of another H
- an F that's child #0 or #5 of another F: you might need to know the
colour of the parent F, which in turn might require you to look
further up until you run out of Fs and find a different kind of
tile. Or, in an infinite supertile with an endless ascending chain
of Fs, you might _never_ find an unambiguous right colour, and you
might have to make a choice about which supertile you wanted it to
be.
Incidentally, the _layout_ change in this tiling isn't necessary to
make the transducer work. You could put that part back to the way
hats-htpf.tl has it, by using the old version of the meta-to-meta
expansion of the 'orange' edge type, reinstating child #1 of the H
tile (the same in both versions), and deleting children #1,#2 of T and
child #5 of P. The result is still transducer-capable. But this way
there's also a nice direct bijection with 10-hex.
hat10.tl | 25 ++++-
hats-hhtpfff.tl | 306 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
toplevel.sage | 1 +
3 files changed, 327 insertions(+), 5 deletions(-)
More information about the tartarus-commits
mailing list