We use de Bruijn’s multigrid method to construct aperiodic rhombic tilings in the plane exhibiting 7-fold rotational symmetry. A more detailed explanation of the construction method is warranted and a proper write-up is forthcoming. For now we present the code for generating the plots and make it available for other to use.
Aperiodic 7-Fold Tilings
Aperiodic 7-Fold Tilings
In[]:=
Manipulate[Module[{gridShifts,range,gridCount,gridVectors,tileTypeGridIndices,tileTypeCount,tileTypeGridVectors,tileTypeAreas,tileTypeColors,gridLineNumbers,tileTypeGraphics,gridIndices,gridLineIntersectionPoints,tileCornerLatticeCoordinates,tileCornerVertices,gridVector1,gridVector2,tileVertices},gridShifts={γ1,γ2,γ3,γ4,γ5,γ6,γ7};gridCount=Length[gridShifts];(*preservetilingclass*)gridShifts=gridCount(gridShifts-Mean[gridShifts])+tilingClass;range=tileRange;gridVectors=CirclePoints[gridCount];gridVectors=gridVectors//N;tileTypeGridIndices=Subsets[Range[gridCount],{2}];tileTypeGridIndices=Select[tileTypeGridIndices,Function[Unequal[Chop[Det[N[gridVectors[[#]]]]],0]]];tileTypeCount=Length[tileTypeGridIndices];tileTypeGridVectors=gridVectors[[#]]&/@tileTypeGridIndices;tileTypeAreas=Abs[Map[Det,tileTypeGridVectors]];tileTypeColors=Map[Function[Blend[{tileColor1,tileColor2},#]],Rescale[Round[tileTypeAreas,10.^-10]]];gridLineNumbers=Table[Range[-range,range],gridCount];tileTypeGraphics=Table[gridIndices=tileTypeGridIndices[[tileTypeIndex]];gridLineIntersectionPoints=Dot[Transpose[Transpose[Tuples[gridLineNumbers[[gridIndices]]]]-gridShifts[[gridIndices]]],Transpose[Inverse[gridVectors[[gridIndices]]]]];tileCornerLatticeCoordinates=Transpose[Ceiling[Dot[gridVectors,Transpose[gridLineIntersectionPoints]]+gridShifts]];tileCornerLatticeCoordinates[[All,gridIndices]]=Tuples[gridLineNumbers[[gridIndices]]];tileCornerVertices=Dot[Transpose[Transpose[tileCornerLatticeCoordinates]-gridShifts],gridVectors];{gridVector1,gridVector2}=gridVectors[[gridIndices]];tileVertices=Transpose[{tileCornerVertices,(tileCornerVertices+gridVector1),(tileCornerVertices+gridVector1+gridVector2),(tileCornerVertices+gridVector2)}];{FaceForm[tileTypeColors[[tileTypeIndex]]],Polygon[tileVertices]},{tileTypeIndex,tileTypeCount}];Graphics[{EdgeForm[Opacity[edgeOpacity]],tileTypeGraphics},PlotRange->plotRange,ImageSize->400]],{{tilingClass,0.5},0,1},{{γ1,0.0},0,1},{{γ2,0.0},0,1},{{γ3,0.0},0,1},{{γ4,0.0},0,1},{{γ5,0.0},0,1},{{γ6,0.0},0,1},{{γ7,0.0},0,1},Delimiter,{{edgeOpacity,.2},0,1},{tileColor1,GrayLevel[.3]},{tileColor2,GrayLevel[.9]},{{tileRange,7},1,30,1},{{plotRange,20},5,30},ControlPlacement->Top,TrackedSymbols:>{tilingClass,γ1,γ2,γ3,γ4,γ5,γ6,γ7,edgeOpacity,tileColor1,tileColor2,tileRange,plotRange},SaveDefinitions->False]
Out[]=
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Aperiodic rhombic tilings with 7-fold rotational symmetry
by Dugan Hammock
Wolfram Community, STAFF PICKS, August 17, 2023
https://community.wolfram.com/groups/-/m/t/2992328
by Dugan Hammock
Wolfram Community, STAFF PICKS, August 17, 2023
https://community.wolfram.com/groups/-/m/t/2992328

