GPU-accelerated infinite tilings — regular, semi-regular, and Escher-inspired
A regular tiling {p,q} fills a surface with regular p-gons, q meeting at every vertex. In Euclidean geometry only three work: triangles, squares, and hexagons. Hyperbolic geometry shatters that limitation — infinitely many {p,q} tilings exist whenever 1/p + 1/q < 1/2. These tilings pack an infinite number of tiles into the Poincare disk, shrinking toward the boundary in a mesmerizing fractal cascade.
This page lets you generate tilings on the GPU in real time, explore tiling duality, paint your own Escher-style tessellation by decorating a fundamental domain, and watch tilings continuously morph between dual pairs.
A GPU-accelerated renderer for arbitrary {p,q} hyperbolic tilings. The fragment shader iteratively reflects each pixel into the fundamental domain of the tiling, coloring by reflection count. Adjust p and q to explore the full landscape of regular tilings — from the gentle {5,4} to the wildly dense {12,3}.
Try it: Slide p and q to see the tiling restructure in real time. The Schlafli symbol and validity status update live. Switch color modes to see reflection depth, alternating faces, or a rainbow.
Every tiling {p,q} has a dual tiling {q,p}, formed by connecting the centers of adjacent tiles. The dual of a pentagon tiling with four at each vertex is a square tiling with five at each vertex. Toggle between the original, the dual, or both overlaid to see this beautiful correspondence.
Every tile in a regular tiling is a copy of a single fundamental domain — a triangle with angles π/p, π/q, and π/2. Paint a design inside this triangle, and watch hyperbolic reflections propagate it across the entire disk, creating your own Escher-style tessellation.
Try it: Pick a color, click or drag inside the triangle to paint, then watch the pattern tile the disk. Use Clear to start over.
What happens between two tilings? By smoothly interpolating the Schlafli parameters, the tiling continuously deforms. Watch {4,5} morph into its dual {5,4}, or see a near-Euclidean {4,4} tiling cross over into hyperbolic territory as q increases past 4.
The dual morph continuously interpolates the Schlafli parameters between {4,5} and {5,4}. At t=0.5 the tiling passes through the self-dual configuration. The animation bounces back and forth.