Learning from the previous discussion (1)(2) about hat tiles, we can easily study other polygon tiles with similar idea by grow function, especially other relatives of the hat tile. Here we try to study the promising vertex configurations for “spectre tile”, which is notated as Tile(1,1) in the original paper while hat tile is . The reason will be shown later here.
Tile(1,
3
)Tile Family Introduction
The hat tile has three different length of edges - 1, 2 and . In fact, there is only one edge of length 2, which is the longest edge of the hat tile. We can turn hat tile from 13-polygon into 14-polygon by splitting its longest edge into two on its middle point, which adds one more vertex with angle 1/2 (Pi). Then, two arguments of edge length can determine a shape of tile as following:
3
Out[]=
And there is a family of this kind of tiles:
Out[]=
|
|
|
|
|
| ||||||||||||
|
|
|
| | |
The Tile(1,0) and Tile(0,1) are degenerate since edge length zero causing some of the vertices merge together. is the hat tile and Tile(1,1) is the spectre. Additionally, is another interesting tile named “turtle”.
According to the original paper, Tile(1,1), which is the “spectre”, admits more vertex configurations since two equal length of edges. Permitting reflection, Tile(1,1) can tile the plane periodically or aperiodically, but if reflection is forbidden, it only admits aperiodic tilings.
Here we are going to study the vertex configurations of Tile(1,1) “Spectre” when reflected tiles are forbidden:
Tile(1,
3
)Tile(
3
,1)
According to the original paper, Tile(1,1), which is the “spectre”, admits more vertex configurations since two equal length of edges. Permitting reflection, Tile(1,1) can tile the plane periodically or aperiodically, but if reflection is forbidden, it only admits aperiodic tilings.
Here we are going to study the vertex configurations of Tile(1,1) “Spectre” when reflected tiles are forbidden:
Basic Study
In[]:=
AppendTo[$Path,NotebookDirectory[]];Get["HappyTile.wl"]
1/3+1/3+1/3
1/3+1/3+1/3
In[]:=
oneThirdVertices
Out[]=
{2,4,6,12,14}
In[]:=
cases=Tuples[{oneThirdVertices,Range[0,11],oneThirdVertices}];
In[]:=
cases={{{0,0},0,False,#1},{{0,0},#2,False,#3}}&@@@cases;
res1=With[{res=PlanarPolygonFragmentation@@(spectre@@@({#1,#2}&@@#))},If[Total[Length/@res]==3,#,Nothing]]&/@cases;
In[]:=
res1//Length
Out[]=
77
In[]:=
pointToAngle = Association[ 1->{12,1,2,3,4,5,6,7,8}, 2->{2,3,4,5}, 3->{5,6,7}, 4->{7,8,9,10}, 5->{4,5,6,7,8,9,10,11,12}, 6->{6,7,8,9}, 7->{9,10,11}, 8->{7,8,9,10,11,12,1,2}, 9->{10,11,12}, 10->{8,9,10,11,12,1,2,3}, 11->{11,12,1}, 12->{1,2,3,4}, 13->{1,2,3,4,5,6}, 14->{3,4,5,6}];getPointsOccupation[tile_] := Mod[(1-2Boole[#2])(pointToAngle[#3]+#1)+7(Boole[#2]),12,1]&@@tile/;Length[tile]==3getPointsOccupation[tile_] := Mod[(1-2Boole[#2])(pointToAngle[#3]+#1)+7(Boole[#2]),12,1]&@@tile[[2;;]]/;Length[tile]==4
In[]:=
clusterPoints=Function[list,Block[{p},If[list==Range[12],{Range[12]},DeleteDuplicates[MapThread[Union,{Most[NestWhileList[Mod[#+1,12,1]&,#,MemberQ[list,#]&]]&/@list,Most[NestWhileList[Mod[#-1,12,1]&,#,MemberQ[list,#]&]]&/@list}],#1==#2&]]]];
In[]:=
res2=Select[res1,AllTrue[Length/@clusterPoints[Complement[Range[12],Union@@(getPointsOccupation/@#)]],#>=3&]&];
In[]:=
res3=Union[##,SameTest->(Sort[#1]Sort[#2]&)]&@@Outer[If[IntersectingQ[Union@@(getPointsOccupation/@#1),getPointsOccupation[#2]],Nothing,Append[#1,#2]]&,res2,Tuples[{{{0,0}},Range[0,11],{False},oneThirdVertices}],1];
In[]:=
res3//Length
Out[]=
112
AbsoluteTiming[res4=If[AllTrue[PlanarPolygonFragmentation@@@Subsets[spectre@@@#,{2}],Total[Length/@#]==3&],#,Nothing]&/@res3;]
Out[]=
{11.6624,Null}
In[]:=
res4//Length
Out[]=
20
In[]:=
res5=DeleteDuplicates[res4,MemberQ[Sort[Sort/@allRoatationsofTiles[#1[[All,2;;]]]],Sort[#2[[All,2;;]]]]&];
In[]:=
GraphicsGrid[Transpose[{show[#,step->{1,1}],show[#]}&/@res5],ImageSize->Full,Frame->{All,False}]
Out[]=
It’s the same as the result of hat tile.
In[]:=
Iconize[res5]
Out[]=
More Eliminations Details
Conclusion
Here is the conclusion summary, with reflection forbidden:
All of them show up in the tiling cluster, which means the elimination has been done completely.
CITE THIS NOTEBOOK
Spectre tiling: vertex configuration study
by Bowen Ping
Wolfram Community, STAFF PICKS, July 26, 2023
https://community.wolfram.com/groups/-/m/t/2976698
by Bowen Ping
Wolfram Community, STAFF PICKS, July 26, 2023
https://community.wolfram.com/groups/-/m/t/2976698

