/hat_polykite

This project generates SVG files containing a batch of aperiodic monotiles, using the cairo-fortran bindings as a fpm dependency. A laser cutting machine was used to create aperiodic puzzles.

Primary LanguageFortranGNU General Public License v3.0GPL-3.0

Aperiodic monotiles

This project generates two SVG files including a batch of aperiodic monotiles: one with hat polykites and one with Tile(1,1). It uses the cairo-fortran bindings as a fpm (Fortran Package Manager) dependency.

The tiles were cut using a laser cutting machine Trotec Speedy 400 in poplar plywood (3 and 5 mm thick). In the SVG files, the colours for drawing and external cutting are respectively red and blue. You can see the result in the pictures/ directory.

You can also cut a paper print with scissors, but cutting polygons with 13 edges is rather tedious... Or you can also simply open the SVG file into a SVG editor like Inkscape and ungroup the drawing to translate and rotate each polygon to play puzzle.

The ein Stein problem

The mathematical problem ein Stein (German for "a stone") poses the following question: is there a geometrical shape that admits aperiodic tilings of the plane?

In 1966, the mathematician Robert Berger built a set of 20426 tiles which he later reduced to 104. In 1974, the physicist Roger Penrose published a pair of polygons admitting aperiodic tilings of the plane, with a symmetry of order 5. And in 1982, quasi-crystals with symmetry of order 5 were discovered in an aluminum/manganese alloy, something previously thought impossible in the dogma of crystallography.

On March 20, 2023, David Smith and mathematicians Joseph Samuel Myers, Craig S. Kaplan and Chaim Goodman-Strauss posted a preprint on ArXiv describing a monotile with 13 sides that, used with its reflected version, admits aperiodic tilings of the plane: the "hat" polykite.

On May 28, 2023, they deposited a second preprint on arXiv describing aperiodic tiling of the plane using a single chiral (tiling the plane without its reflected version) fourteen-sided shape, named Tile(1,1). They have finally found the Grail! In fact, if you use both Tile(1,1) and its reflected shape, the tiling will be periodic. If the reflected shape is prohibited, the tiling is aperiodic. And by replacing the edges of Tile(1,1) by curves, you can obtain the Spectre which admits aperiodic tiling of the plane, but no tiling if you use it with its reflected shape. See also that page from the authors: https://cs.uwaterloo.ca/~csk/spectre/

Open question: is there such shapes with fewer sides?

Building the hat using three hexagons

hat_polikite_building

Building the Tile(1,1)

It is derived from the hat, but all the 14 edges have the same length (but in fact one of them is divided in two segments). All the angles are multiples of 30°.

tile1_1

Requirements and dependencies

You need:

  • a modern Fortran compiler, for example GFortran or the Intel ifort/ifx compilers. See the Fortran-lang.org compilers page for other compilers.
  • The Cairo development files (libcairo2-dev package in Ubuntu).
  • The Fortran Package Manager fpm.

Running the program

$ fpm run
 + mkdir -p build/dependencies
Initialized empty Git repository in hat_polykite/build/dependencies/cairo-fortran/.git/
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 23 (delta 0), reused 14 (delta 0), pack-reused 0
Unpacking objects: 100% (23/23), 82.93 KiB | 3.61 MiB/s, done.
From https://github.com/vmagnin/cairo-fortran
 * branch            HEAD       -> FETCH_HEAD
hexagon_class.f90                      done.
cairo-auto.f90                         done.
cairo-enums.f90                        done.
tile_class.f90                         done.
libhat_polykite.a                      done.
main.f90                               done.
hat_polykite                           done
[100%] Project compiled successfully.
 -----------------------------
 Output file: hat_polykite.svg

Licenses

This project is licensed under the GNU General Public License version 3 or later.

The documentation is under the GNU Free Documentation License 1.3 or any later version. The figures are under CC-BY-NC-SA 4.0 license.

Cairo documentation

Laser cutting

Bibliography