Penrose tilings

The nested pattern shown below was studied by Roger Penrose in 1974 (see page 943).

The arrangement of triangles at step t can be obtained from a substitution system according to

With[{φ = GoldenRatio}, Nest[# /. a[p_, q_, r_] :> With[{s = (p+φ q) (2 - φ)}, {a[r, s, q], b[r, s, p]}] /. b[p_, q_, r_] :> With[{s = (p+φ r) (2 - φ)}, {a[p, q, s], b[r, s, q]}] &, a[{1/2, Sin[2 π/5]φ}, {1, 0}, {0, 0}], t]]

This pattern can be viewed as generalizations of the pattern generated by the 1D Fibonacci substitution system (c) on page 83. As discussed on page 903, this 1D sequence can be obtained by looking at how a line with GoldenRatio slope cuts through a 2D lattice of squares. Penrose tilings can be obtained by looking at how a 2D plane with slopes based on GoldenRatio cuts through a lattice of hypercubes in 5D. The tilings turn out to have approximate 5-fold symmetry. (See also page 943.)

In general, projections onto any regular lattice in any number of dimensions from hyperplanes with any quadratic irrational slopes will yield nested patterns that can be generated by subdividing some shape or another according to a substitution system. Despite some confusion in the literature, however, this procedure can reproduce only a tiny fraction of all possible nested patterns.