# Wolfram Function Repository

Instant-use add-on functions for the Wolfram Language

Function Repository Resource:

Generate the hat tiling using combinatorial hexagons

Contributed by:
Bradley Klee

ResourceFunction["HatHexagons"][ plots the hexagonal initial condition for integer | |

ResourceFunction["HatHexagons"][ plots the resulting configuration of hexagons after applying the inflation rule an integer number of times, | |

ResourceFunction["HatHexagons"][ rotates the resulting configuration by an angle | |

ResourceFunction["HatHexagons"][ changes the view to show "Hat" or "Cluster" tiles instead of hexagons. |

The substitution rule presented here is essentially the same as presented in the original paper "An Aperiodic Monotile". However, from a details point-of-view, the substitution system is more like what is found in the sequel article "A chiral aperiodic monotile" (fig 5.1) which features nine combinatorial hexagons.

Of the three views—"Hexagon", "Hat", and "Cluster"—only "Hexagon" and "Cluster" can generate plane-filling configurations. The "Hat" view leaves holes where the reflected hats would be. This happens because reflected hats are essentially edge-like with regard to the inflation rule.

Although there are ten distinct "Hat" hexagons, there are only eight distinct "Cluster" hexagons. This fact can be found by analysis of HatTrialityTree outputs, or proven by combinatorial analysis of branching multiway growth sequences.

HatHexagons accepts three options, ColorFunction, ColorRules, and ImageSize. When ImageSize is set to Scaled[*size*], integer *size* directly affects the edge length of depicted polygons rather than the entire image height and width.

Plot one of ten initial conditions as a hexagon:

In[1]:= |

Out[1]= |

Compare different views of the same combinatorial hexagon:

In[2]:= |

Out[2]= |

Obtain successively larger fragments of a hat-hexagon tiling:

In[3]:= |

Out[3]= |

Compare with hat view:

In[4]:= |

Out[4]= |

And compare with cluster view:

In[5]:= |

Out[5]= |

Plot the ten initial conditions:

In[6]:= |

Out[6]= |

Their inflation images are not entirely unique:

In[7]:= |

Out[7]= |

Each tile can be placed in six distinct orientations:

In[8]:= |

Out[8]= |

Color the hat tiling using GrayLevel:

In[9]:= |

Out[9]= |

Add red EdgeForm:

In[10]:= |

Out[10]= |

The same style can also be introduced using ColorFunction:

In[11]:= |

Out[11]= |

Only three views are available:

In[12]:= |

Out[12]= |

Show a hexagon substitution:

In[13]:= |

Out[13]= |

- 1.0.0 – 22 September 2023

This work is licensed under a Creative Commons Attribution 4.0 International License