Function Repository Resource:

PenroseTile

Source Notebook

Make plots of Penrose tiles

Contributed by: Lyman Hurd

ResourceFunction["PenroseTile"][init,t]

shows the Penrose tile starting with init for t steps.

Details and Options

Possible values for init are "ObtuseTriangle", "AcuteTriangle", "Dart", "Kite", "Star" and "Sun".

Examples

Basic Examples (2) 

Five steps for a prototile:

In[1]:=
ResourceFunction["PenroseTile"]["AcuteTriangle", 5]
Out[1]=

Make a grid of successive steps:

In[2]:=
GraphicsGrid[{Table[
   ResourceFunction["PenroseTile"]["Star", n], {n, 5}]}, ImageSize -> Large]
Out[2]=

Options (4) 

ConstructionLines (1) 

Remove construction lines:

In[3]:=
ResourceFunction["PenroseTile"]["Sun", 3, "ConstructionLines" -> False]
Out[3]=

Outlines (1) 

Remove circles:

In[4]:=
ResourceFunction["PenroseTile"]["Kite", 5, "Outlines" -> False]
Out[4]=

TileStyle (1) 

Modify colors of circles:

In[5]:=
ResourceFunction["PenroseTile"]["ObtuseTriangle", 5, "CircleColors" -> {Orange, Magenta}, Background -> LightYellow]
Out[5]=

TileColors (1) 

Modify colors of tiles:

In[6]:=
ResourceFunction["PenroseTile"]["AcuteTriangle", 5, "Outlines" -> False, "TileColors" -> {ColorData["Pastel"][.7], ColorData["Pastel"][.4], ColorData["Pastel"][.95]}, ImageSize -> 200] /. Thickness[0.005] -> Thickness[0.013]
Out[6]=
In[7]:=
Show[ResourceFunction["PenroseTile"]["Sun", 4, "Outlines" -> False, "TileColors" -> {ColorData["Pastel"][.7], ColorData["Pastel"][.4], ColorData["Pastel"][.95]}], ResourceFunction["PenroseTile"]["Sun", 4, "Outlines" -> True]]
Out[7]=

Applications (3) 

Modify directives:

In[8]:=
ResourceFunction["PenroseTile"]["AcuteTriangle", 4, "Outlines" -> False, ImageSize -> 200] /. RGBColor[0.7, 0.7, 1.] :> Sequence @@ {FaceForm[Yellow], EdgeForm[Directive[Dashed, Thick, Opacity[.4], Orange]]}
Out[8]=

Scale polygons:

In[9]:=
ResourceFunction["PenroseTile"]["AcuteTriangle", 4, "Outlines" -> False] /. Polygon[vertices_] :> Scale[Polygon[vertices], .7, Mean[vertices]]
Out[9]=

Attach a texture:

In[10]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/fdd37d21-f539-42fb-a049-cbb128ec8743"]
Out[10]=

Requirements

Wolfram Language 11.3 (March 2018) or above

Version History

  • 1.0.0 – 20 February 2019

License Information