designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Penrose Tiling Generator

April 16, 2024 | Algorithms
#aperiodic #grasshopper #penrose #tessellation #tiling

A Penrose tiling exemplifies a type of tiling known as aperiodic. In this context, tiling involves covering a plane with non-overlapping polygons or shapes. Aperiodic means the tiling lacks arbitrarily large repeating sections. These tilings derive their name from mathematician and physicist Roger Penrose, who extensively studied them during the 1970s. Despite their absence of translational symmetry, Penrose tilings can exhibit both reflection symmetry and fivefold rotational symmetry. I created a simple Penrose Tiling Generator in Grasshopper. I used the subdivision rules to realize this. The definition runs a loop so the Hoopsnake add-on is necessary. The triangular mapping component of Grasshopper is the key point of this generator.

Penrose Tiling Generator animation

This Grasshopper definition generates Penrose tilings based on the initial tiles. It utilizes the subdivision methodology of four triangular units. Therefore, the results are based on the initial unit(s). Also, you can control the number of iterations the generator will execute. The results are filled with surfaces and colorized. The outputs of the definition are closed polylines. They represent the triangular pieces and their colorings show the Penrose tiles. To be able to use this definition you should have Hoopsnake add-on installed. Because the definition uses a loop which is not readily available in Grasshopper. I added the tiles as a separate Rhinoceros model file.

Penrose Tiling Generator Grasshopper definition
Penrose Tiling Generator aperiodic, grasshopper
Grasshopper definition (GH)Download
Rhinoceros file (3DM)Download

Cite this post

Yazar, T. (2024, April 16). Penrose Tiling Generator. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/penrose-tiling-generator/

Related Posts

Socolar Tiling

May 10, 2025

An aperiodic tiling is a pattern that covers the plane without ever repeating itself (i.e., it is non-periodic). A few special shapes, arranged according to specific rules, can cover the entire plane, but the resulting pattern never repeats exactly. I challenged myself on a 3-day coding sprint to create a general-purpose script in Grasshopper that could generate these tilings. I set Socolar Tiling as my first target. This link contains great information about this and many other aperiodic tilings. Socolar…

Evolutionary Optimization of Tilings

April 19, 2025

In large-scale projects, calculating tiling layouts for wall, floor, and ceiling surfaces becomes even more critical. Evolutionary optimization of these tilings seemed to be a viable approach yesterday. Considering how time-consuming and labor-intensive this process can be, I tried using Galapagos, an old but often overlooked feature in Grasshopper, which might be particularly useful in this situation. Galapagos provides an alternative interface for evolutionary optimization within Grasshopper. It works by minimizing or maximizing a fitness value you define, using parameters…

Cairo Pentagonal Tiling

October 22, 2012

This is a late update for my 2012 study on Cairo Pentagonal Tiling (or Cairo Tessellation). Originally, it was an exercise of dual tessellations. Because this tiling is the dual of the famous semi-regular tessellation of Snub Square. After coding the Snub Square tiling, I attempted to generate the dual of it. However, that created an inefficient result. This latest version generates the original Snub Square and Cario Pentagonal Tilings. Moreover, it is possible to play with the inputs to…

Snub Square Tiling

October 22, 2012

Here is the step-by-step generation of the old Snub Square Tiling. Frankly, this is the first step in the generation of Cairo Pentagonal Tiling I generated with Grasshopper earlier. Because Cairo pentagonal is the dual of a snub square. The first step was easy. Just dispatch cells of a square grid, then evaluate them according to the ratio of 0.366 approx. which is derived from the bisector of an equilateral triangle. Now, we have a snub square tiling, composed of…

Rhombille Tiling on Surface

June 13, 2023

This is an update on my 2012 exercise on rhombille tiling. This reminded me of the old-school subdivisions of surfaces again after 11 years. It was while reading about rhombic dodecahedron (the stackable solid), that I came across this cute tiling. It’s quite simple, just a hexagonal grid with a special reconstruction. I decided to recreate it by using well-known native Grasshopper components. I animated the result with a variation of the Breaststroke surface function (described here). Then I reconstructed…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #tutorial
    • #parametric-surface
    • #robot
    • #boolean
    • #kuka-prc
    • #dome
    • #design-object
    • #image-sampler
    • #euclidean-construction
    • #rhinoceros
    • #terrain
    • #sandblasting
    • #stone
    • #parametric-curve
    • #animation
    • #snub-square
    • #cycloid
    • #art
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement