# Wolfram Function Repository

Instant-use add-on functions for the Wolfram Language

Function Repository Resource:

Visualize a set of tiles

Contributed by:
Wolfram Research

ResourceFunction["TilingPatternPlot"][ show |

A pattern is a rectangular array of positive integer values suitable for use in an ArrayPlot.

A tile mask is a subset of positions within a rectangular array, such as the *a* values in {{*a*,*a*,*a*},{*_*,*a*,_}}. This particular mask is also known as the Tetris T shape.

A tile is an array that can contain integers or blanks.

All tiles in a tileset fit in an array of the same size, say {*a*,*b*}. If all subarrays of that size in a larger pattern matches a tile in the tileset, then that tileset can be used to make the given pattern.

An all-zero tile leads to an all white or all zero pattern .

An all-one tile leads to an all black or all one pattern .

The two tiles lead to a checkboard pattern . No subset of the tiles will make a larger pattern, so these two tiles produce a minimal tiling.

The tileset will produce the all-white pattern, but the second tile is not necessary. Therefore, this is not a minimal tileset.

The above patterns have a *size* of 4×4.

The input *tiles* should be an array of integer or Blank (_) values.

Consider and {{_,0,0},{0,1,_}}. These both represent a 4-cell tile within a 6-cell array, where the integers indicate the coloring of the tile and the Blank (_) values are wildcards.

Show some tile patterns where the first two could overlap to make the third:

In[1]:= |

Out[1]= |

Show a single tile:

In[2]:= |

Out[2]= |

Multiple colors can be used:

In[3]:= |

Out[3]= |

Use a tile specified as a SparseArray:

In[4]:= |

Out[4]= |

The following 42 tiles are believed to form an aperiodic tiling set equivalent to the minimal Wang tiling set:

In[5]:= |

Out[5]= |

- 1.1.0 – 15 March 2022
- 1.0.0 – 29 November 2021

This work is licensed under a Creative Commons Attribution 4.0 International License