The Basics Nobody Gets Right

A tessellation is just a pattern of shapes covering a flat surface with no gaps and no overlaps. That's it. You take a single shape, or a set of shapes, and you repeat it across a plane until the whole thing is filled. It sounds simple until you actually try to construct one by hand and realize how quickly things go wrong. The shapes most people encounter first are squares, equilateral triangles, and regular hexagons. These three work because their internal angles divide evenly into 360 degrees at every vertex point. A square has 90-degree angles, four of them make 360. An equilateral triangle has 60-degree angles, six of them make 360. A regular hexagon has 120-degree angles, three of them make 360. Those are the only three regular polygons that tessellate by themselves. Everything else requires either combining multiple shapes or distorting the geometry in ways that make the result less obviously a "pattern."

What Are Tessellations In Math

The formal answer is that a tessellation, also called a tiling, is a partition of the Euclidean plane into congruent or non-congruent regions (tiles) such that no two regions overlap and their union is the entire plane. In mathematical terms, it's a collection of closed sets whose interiors are pairwise disjoint and whose union equals R². The symmetry group of a tessellation is described by one of exactly seventeen wallpaper groups if the pattern repeats periodically across both axes. That number—seventeen—is something most people don't know until they dig into it, and it's a hard fact that still surprises beginners in group theory courses. I spent an afternoon last year trying to model a penrose-type non-periodic tiling in a CAD program for a custom flooring layout. The design looked beautiful in reference photos but completely collapsed once I tried to parameterize it. The issue was that penrose tilings rely on matching rules and irrational angle relationships that don't translate cleanly into standard orthogonal grid systems. The workaround was to stop trying to force it into a parametric template and instead use a substitution tiling approach, generating the pattern recursively through golden-ratio scaling at each iteration. It took about three hours longer than I wanted but the final output was actually usable.

How They're Built

You can generate a tessellation through translation, rotation, reflection, or glide reflection. Translation is the easiest way to think about it. Take a shape, slide it in any direction, repeat. The resulting pattern preserves the original orientation of every tile. Rotation introduces a center point around which shapes are spun. If you rotate a triangle 60 degrees around one of its vertices repeatedly, you'll fill the space without gaps. Reflection creates mirror-image pairs, which is how you get patterns where the same base shape appears facing opposite directions across the plane. Glide reflection combines a translation along an axis with a reflection across that same axis, and it's the operation responsible for some of the more intricate designs you see in Islamic geometric art and in Escher's work, though Escher himself wasn't working from a strictly mathematical framework. The practical construction method most people should learn is the Voronoi approach. Pick a set of seed points scattered across a plane. For each point, draw the boundary that separates it from every other point—the boundary where any location on one side is closer to that seed point than to any other. The result is a natural-looking tessellation where each cell is a polygon shaped by the proximity of neighboring seeds. This is used in computational geometry, mesh generation for finite element analysis, and even in cellular automata simulations. It's not as visually dramatic as regular tilings but it's far more useful in applied work.

Where People Go Wrong

The biggest mistake I see is assuming that any irregular polygon can tessellate. That's false. Only certain irregular polygons work, and proving whether a given shape does is not trivial. A general quadrilateral always tessellates, which is a fact most people find surprising because they'd guess that random four-sided shapes would leave gaps. But since the interior angles of any quadrilateral sum to 360 degrees, you can arrange four copies around a vertex and they'll fit perfectly. The key is rotating each copy appropriately so the angles align. A general pentagon does not always tessellate. In fact, there are fifteen known types of convex pentagons that tile the plane, and the fifteenth type was only discovered in 2015. There may be more. The search for all possible convex pentagonal tilings is still an open problem in discrete geometry. Another common error is confusing semi-regular tessellations with arbitrary combinations of regular polygons. A semi-regular, or Archimedean, tessellation requires that every vertex looks identical—that the same sequence of polygons meets at every corner in the same order. There are exactly eight of these. If you mix a hexagon and a triangle at one vertex but arrange them differently at another, you've broken the definition and you no longer have an Archimedean tiling. You've just got a patchwork that happens to cover the plane.

The Edge Cases That Actually Matter

When working with tessellations in a practical setting—say, generating a mesh for a simulation or laying out tiles in a real space—the edge case that costs the most time is boundary conditions. Infinite plane assumptions look clean in theory but every real application has edges. Cutting a regular hexagonal grid to fit a rectangular room means you'll have partial hexagons along the perimeter. Trimming those manually is tedious and error-prone. The standard approach is to generate a larger tessellation field than you need and then crop it, accepting that the boundary tiles will be incomplete. The alternative is to compute the exact truncation geometry, which is faster for production but requires knowing your bounds before you start generating. A related issue is numerical precision. When you're working with floating-point coordinates in a computational environment, small rounding errors accumulate at each repetition. After enough iterations, gaps or overlaps appear that shouldn't exist mathematically. I've seen this in WebGL shader code where a tessellated background pattern developed visible seams after a few thousand repetitions. The fix was to quantize the tile coordinates to a fixed grid resolution before applying transformations, which eliminated the drift entirely.

Non-Euclidean Tessellations

Tessellations aren't limited to flat planes. On a sphere, the analogous structures are spherical tilings, and the regular ones correspond to the five Platonic solids. You can't have an infinite repeating pattern on a sphere because the surface has finite area and positive curvature. On a hyperbolic plane, things get weirder. The Poincaré disk model shows tessellations where shapes get smaller as they approach the boundary, but in the actual hyperbolic geometry they're all congruent. The {5,4} tiling—five regular pentagons meeting at each vertex—is impossible in Euclidean space but perfectly valid in hyperbolic space. M.C. Escher's Circle Limit prints are representations of this kind of tiling, though he worked intuitively rather than from first principles. This matters practically when you're working with topological data analysis or network visualizations that live on curved manifolds. Standard Euclidean tessellation tools will give you wrong results if you apply them directly to hyperbolic embeddings without converting the metric appropriately.