designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Evolutionary Optimization of Tilings

April 19, 2025 | Algorithms
#galapagos #grasshopper #tessellation #tiling

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 you set as the genomes. In this case, it’s possible to tile a surface, such as a room floor, based on given tile dimensions and optimize the layout according to specific criteria, while instantly generating the result’s CAD drawing.

Evolutionary Optimization of Tilings animation

The process starts with basic inputs: the surface geometry (a floor, wall, or ceiling), tile dimensions, and the grout width. If needed, you can adjust the orientation and offset of the tiles manually. I’ve created a custom Grasshopper cluster that uses these inputs to draw the tiling layout. The result is a set of closed polylines representing each tile. From there, I implemented three different optimization strategies. One aims to reduce the total number of tiles. Another focuses on avoiding small tile fragments by maximizing the smallest tile size. The third prioritizes increasing the number of full-sized, uncut tiles. These approaches can also be combined. Once the layout is finalized, it can be baked and exported to other design tools such as AutoCAD. You can see all three optimizations in the image below:

Evolutionary Optimization of Tilings Grasshopper definition
Evolutionary Optimization of Tilings galapagos, grasshopper
Evolutionary Optimization of Tilings tessellation, tiling
Grasshopper definition (GH)Download

Cite this post

Yazar, T. (2025, April 19). Evolutionary Optimization of Tilings. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/evolutionary-optimization-of-tilings/

Related Posts

Penrose Tiling Generator

April 16, 2024

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…

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…

Evolutionary Solver Introduction

May 22, 2012

Galapagos was a great improvement when it became available natively within Grasshopper as an Evolutionary Solver. However, I couldn’t find time to examine it until recently. This examination gave me an idea of algorithmic thinking, tool making, and tool using. The first experiment shown below tries to solve equilateral triangulation, based on the Delaunay method. Galapagos has two different solvers, named “simulated annealing solver” and “evolutionary solver” shown respectively below. Both of them are trying to reach a fitness value…

Packing Objects with Galapagos

May 22, 2012

After the starting point of the Galapagos, there came another attempt to utilize this beautiful addition of David Rutten. This time, I worked over the night to tell it what I want. The aim was (or seemed to be) simple at first sight. I wanted several shapes (not one) to fit into an area, as smallest as possible, without overlaps. This is packing objects. A bounding box and area components quickly gave me the first fitness value. The area of the…

  • 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