Tiling Histogram Results

Ammann-Beenker Octagon Pair Correlation Plot (N := 4)

Tiling Gap Distributions and Pair Correlation Project

Our project provides the results of numerical computations of the empirical distributions for the pair correlation, tiling point angles, and corresponding gap distributions of several well-known tilings of the plane. In particular, given the lattice points of a tiling, \(\mathbb{L}_n\), we use computations of numerical histogram plots to study the empirical statistical distributions corresponding to the (squared) pair correlation between points defined by $$(x_1-x_2)^2+(y_1-y_2)^2 \text{ for } x_i, y_i \in \mathbb{L}_n,$$ and the gap distributions $$\vartheta_{i+1} - \vartheta_{i} \text{ for } 1 \leq i < |\mathbb{L}_n| = N(R),$$ and $$s_{i+1}-s_i \text{ for } 1 \leq i < |\mathbb{L}_n|,$$ where \(\vartheta_1 < \vartheta_2 < \cdots < \vartheta_{N(R)}\) denote the angles of the tiling points and \(s_i := y_i / x_i\) denote the ordered slopes of the tiling points.

The project looks at the distributions of these statistics for both a fixed size tile that recurses inwards by repeated inflation / deflation / substitution operations, and also for a fixed dimension tiling that yields vertex points within some large radius R (e.g., the Pentagon tilings in the results below). We surmise that these two methods are equivalent.

Running the Program

The source code for the project is released under and open source license for non-commercial purposes. The program we provide contains implementations of many different tilings. The implementations of the tilings we provide in the program are easily extended in the python source code we provide with the program. Researchers and experimental mathematicians looking to compute other plots or numerically experiment with the tiling vertices we provide here are easily able to interface to our program in Sage and python. Please contact Maxie or Jayadev if you implement any new tiling variations so we can include that source within our program.

The program is run on the command line using the Sage command, or within the SageMathCloud terminal application as
sage -python tiling_pc_plots.py -t <TILING-NAME> -n <NUM_STEPS> [options],
where the optional command options are given by -q to compute pair correlation plots of the squared Euclidean distances between points, -a to compute angles of the tiling points, -d to compute the sorted angle gaps, -l to compute the tiling point slope histograms, and -g to compute the plots of the sorted slope gaps between tiling points. Alternately, a set of summary pdfs for a given tiling in the table below is generated by running the included script
$ ./generate-tiling-pdfs.sh <TILING-NAME> <NLOWER> <NUPPER>
on the Sage Cloud terminal or from a bash shell on Linux (requires pdfjam).

Results

Tiling Description Tiling Images Results Source Code CDF Demo * Comments
AmmannA3 The Ammann A3 tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source The dimensions for the Ammann A3 tiling are found in Tilings and Patterns by B. Grunbaum and G. C. Shephard (Second, Edition, 2016). Images of 3D-printed stacked blocks for the tiling can be found here and here.
AmmannA4 The Ammann A4 tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source The dimensions (and see here) for the Ammann A4 tiling are found in Tilings and Patterns by B. Grunbaum and G. C. Shephard (Second, Edition, 2016).
AmmannChair The Ammann A2 chair tiling whose dimensions are described at this link. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link The dimensions for the Ammann chair tiling are found in Tilings and Patterns by B. Grunbaum and G. C. Shephard (Second, Edition, 2016). Images of 3D-printed stacked blocks for the tiling can be found here and here.
AmmannChair2 A second 4-tile variation of the chair tiling described in this paper for comparison with the Ammann A2 chair tiling results. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source cdf
AmmannEightStar Ammann-Beenker tiling for an initial 8-star tile. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
AmmannOctagon Ammann-Beenker tiling for an initial octagonal tile. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
AmmannRhomb Ammann-Beenker tiling for an initial rhomb tile. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
AmmannSquare Ammann-Beenker tiling for an initial square tile. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
AmmannTriangle Ammann-Beenker tiling for an initial triangular tile. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Armchair A 4-tile L-shaped chair variant called the armchair tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Cesi An implementation of Cesi's substitution tiling. This tiling provides an example where the tiles occur in infinitely many orientations. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Chair3 The third (9-tile) chair tiling variant described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source cdf
Danzer7Fold The original variation of Danzer's 7-fold tiling which exhibits 7-fold symmetry. See also this related Danzer tiling variant. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
DiamondTriangle The diamond triangle tiling which provides another example of a triangular-related substitution tiling for comparison with the results in the form below. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Domino The domino tiling described here. See also this related domino tiling variant. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Domino-9Tile The 9-tile domino tiling variant. This substitution tiling is related to the imbalanced orientations tiling and is implemented similarly by an extension of the python source for this example. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Equithirds The equithirds tiling with triangle-shaped prototiles. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Fibonacci2D The two-dimensional Fibonacci times Fibonacci tiling, which is the Cartesian product of two of the famous one-dimensional Fibonacci tilings. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
GoldenTriangle The golden triangle tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source cdf
GRTriangle The golden rhomboid triangle tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
IntegerLattice Implements an integer lattice in the first quadrant for testing purposes (\(1 < y < x \leq 350\)). pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
IntegerLattice3D Implements an integer lattice in the first octant for testing purposes (\(0 < z < y < x \leq 125\)). pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
MiniTangram A variant of the mini-tangram tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source cdf
Octagonal1225 The octagonal 1-2-2-5 tiling which answers a question posed by L. Danzer of whether there is a substitution tiling with substituion matrix entries of 1-2-2-5. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X We used the square root of the largest eigenvalue, \(1 + \sqrt{2}\), of the substitution matrix, [ [1, 2], [2, 5]], to determine the scaling / inflation factors for this tiling implementation.
PChairs Another chair tiling variant called the pregnant chairs (variant) tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Penrose The Penrose rhomb tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
PenroseKD The Penrose kite-dart tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Pentagon1 The first pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon2 The second pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon3 The third pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon4 The fourth pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon5 The fifth pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon8 The eighth pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon10 The tenth pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon11 The eleventh pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
Pentagon15 The fifteenth pentagon tiling from the demo described here. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source [link][sagews]
Pentomino A pentomino substitution tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Pinwheel The pinwheel tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source link
SaddleConnGoldenL Statistics for saddle connections on the Golden L (see the gap distributions paper linked here). pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
SDHouse The semi-detached house substitution tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Sphinx The sphinx tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Squares A periodic squares mock tiling for comparison. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
STPinwheel A square triangle pinwheel tiling variant. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
T2000Triangle The limit-periodic T2000 triangle tiling involving 30-120-30 triangular tiles. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Tetris The first variant of the tetris substitution tiling in the Tilings Encyclopedia. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Triangles A periodic triangle mock tiling for comparison. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
Trihex A limit-periodic semi-hexagonal 30-60-90 triangular (trihex) tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
TriTriangle The tri-triangle tiling with triangular prototiles. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X
TubingenTriangle The Tubingen triangle tiling with two isoceles triangular-shaped prototiles with edge length ratio of \(\varphi\):1:\(\varphi\) and 1:\(\varphi\):1 where \(\varphi \approx 1.618\) denotes the golden ratio. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X See also this article for more information about the gap distributions of this and several other tilings. This Sage script is used to study the symmetry groups of the Tubingen triangle and its orbits under the Hecke \((2, 5, \infty)\) triangle group.
WaltonChair The Walton chair tiling. pdf [angles] [angle gaps] [slopes] [slope gaps] [pc-edist] [pc-edistsq] Python source X See this link for more information on the dimensions of this chair tiling variant.

Comparisons of the Tiling Results

The numerical computations of the empirical distributions for these tilings we present in our findings above, and in our paper, only scratch the surface of comparisons that can be made between the underlying theoretical distributions for these (and related classes of) tilings. We encourage experiemental mathematicians to compare the results of our statistical and gap distributions plots using the form below. A few classes of related tilings implemented by our software are suggested as starting points:

  • Chair-Like Tilings: AmmannA4, AmmannChair, AmmannChair2, Armchair, Chair3, PChairs, Pentomino, WaltonChair
  • Pentagonal Tilings: Pentagon1, Pentagon2, Pentagon3, Pentagon4, Pentagon5, Pentagon6, Pentagon10, Pentagon11, Pentagon15
  • Rectangular / Domino-Shaped Tilings: Domino, Domino-9Tile, SDHouse, Squares, STPinwheel
  • Triangular-Shaped Tilings: DiamondTriangle, Equithirds, GoldenTriangle, GRTriangle, Penrose, Pinwheel, SDHouse, STPinwheel, T2000Triangle, Triangles, Trihex, TriTriangle, TubingenTriangle
Select Tilings Plot Type for Comparison Submit Form
AmmannA3AmmannA4AmmannChairAmmannChair2AmmannEightStar
AmmannOctagonAmmannRhombAmmannSquareAmmannTriangleArmchair
CesiChair3Danzer7FoldDiamondTriangleDomino
Domino-9TileEquithirdsFibonacci2DGoldenTriangleGRTriangle
IntegerLatticeIntegerLattice3DMiniTangramOctagonal1225PChairs
PenrosePenroseKDPentagon1Pentagon2Pentagon3
Pentagon4Pentagon5Pentagon8Pentagon10Pentagon11
Pentagon15PentominoPinwheelSaddleConnGoldenLSDHouse
SphinxSquaresSTPinwheelT2000TriangleTetris
TrianglesTrihexTriTriangleTubingenTriangleWaltonChair

Links