Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Generate the hexagonal tiling pattern of the spectre and its supertile
ResourceFunction["SpectreHexagonalTiling"][init] plots the spectre tiling initial conditions for integer init from 1 to 9. | |
ResourceFunction["SpectreHexagonalTiling"][init,size] plots the spectre tiling with init as initial conditions for a hexagonal array of integer size layers. | |
ResourceFunction["SpectreHexagonalTiling"][init,size,"type"] plots the combinatorial tiling of the given type. | |
ResourceFunction["SpectreHexagonalTiling"][init,size, typelist] plots the combinatorial tilings of all types in the typelist. |
"Hexagon" | combinatorial hexagons |
"Spectre" | the Spectre tiles |
"Cluster" | 1-level supertiles of the Spectre |
"n-Supertile" | n-level supertiles of the Spectre |
ColorFunction | Automatic | function with inputs from 1 to 9, gives colors as output. |
ColorRules | Automatic | list of rules from integers (from 1 to 9) to colors. |
"Count" | 1 | required number of possible tilings. |
Depict a Mystic tile and a Spectre tile:
In[1]:= |
Out[1]= |
Generate a tiling made of Mystic and Spectre tiles:
In[2]:= |
Out[2]= |
Plot the tilings of combinatorial hexagons, the Spectre tiles and supertiles:
In[3]:= |
Out[3]= |
Make a curved spectre tiling:
In[4]:= |
Out[4]= |
There are 9 different initial conditions, corresponding to 9 kinds of hexagons:
In[5]:= |
Out[5]= |
Curve the spectre tiles and supertiles:
In[6]:= |
Out[6]= |
Any higher-level supertiles are available:
In[7]:= |
Out[7]= |
Use "Count" to give more possible tilings:
In[8]:= |
Out[8]= |
Generate all valid one layer surroundings:
In[9]:= |
Out[9]= |
Color the tiling using GrayLevel:
In[10]:= |
Out[10]= |
Add blue EdgeForm in a tiling:
In[11]:= |
Out[11]= |
The same style can be set by ColorFunction:
In[12]:= |
Out[12]= |
Set EdgeShapeFunction to be Automatic to plot curved tilings:
In[13]:= |
Out[13]= |
Plot the curved Spectre tiling with different edges function:
In[14]:= |
Out[14]= |
The function uses interpolation to make curved boundary. Interpolation options can be set manually:
In[15]:= |
Out[15]= |
It is faster to use a list of types than to map over a list:
In[16]:= |
Out[16]= |
In[17]:= |
Out[17]= |
They give exactly the same result, even if the option "Count" is not 1.
In[18]:= |
Out[18]= |
EdgeShapeFunction doesn’t work on hexagons:
In[19]:= |
Out[19]= |
The EdgeShapeFunction should be continuous from 0 to 1, and equal to zero at both 0 and 1. Otherwise, the shape would collapse. Also, if the value of the function increase to a large value, it may cause self-intersection:
In[20]:= |
Out[20]= |
Plot a large patch of spectre tiling, coloring Mystic purple and one of its neighboring tiles green:
In[21]:= |
Out[21]= |
Wolfram Language 13.0 (December 2021) or above
This work is licensed under a Creative Commons Attribution 4.0 International License