Mosaic is among the most durable of images: the smalti of Ravenna's sixth-century churches still glow after fifteen centuries. The craft is two decisions at once — the colour of each piece and the run of the joints. This effect makes both for the picture below: tiles painted with the average colour of their patch, set in grout and bevelled.
How it works
The “Layout” sets the lattice: squares, bricks in running bond, hexagons, triangles or Voronoi cells — regions closer to their own centre than to any other. Each screen point finds its tile and its distance to the nearest edge — for Voronoi, the exact distance to the bisector between two centres. Under half the “Grout”, it is a joint. A tile takes the average of seven samples around its centre.
“Irregularity” shifts each tile's lightness and chroma a little in OKLab, like hand-cut smalti, no two crumbs alike. Squares and bricks are also turned and shifted inside their slots; other tiles shrink by varying amounts, and Voronoi cells grow less regular. “Bevel” lights edges from the upper left, shades them at the lower right and drops a faint shadow into the grout.
Tile shape has an economy too. At unit area a regular hexagon has a perimeter of 3.72, a square 4 and a triangle 4.56, so honeycomb needs 7% less grout than squares. Thomas Hales proved in 1999 that hexagons are the thriftiest way to split the plane into equal areas.
A bit of history
The Romans distinguished opus tessellatum — even rows of identical cubes — from opus vermiculatum, where tiny tesserae worm their way along contours. In Russia Lomonosov revived smalti in the 1750s, devising coloured-glass recipes and founding a glassworks at Ust-Ruditsa; his Battle of Poltava (1762–1764) still hangs in the Academy of Sciences, St Petersburg. The cells are named after Georgy Voronoy, who described them in 1908; Voronoi diagrams turn up in giraffe patches and cracked dry mud.
What to tweak
- “Voronoi” with “Irregularity” 0.5–0.7 looks most hand-made; “squares” with no “Irregularity”, “Grout” or “Bevel” are plain pixelation.
- “Grout colour” defaults to the document background. Dark grout makes the tiles pop; light grout looks like bathroom tiling.
- “Tiles” at 12–20 give a chunky floor mosaic; past a hundred it is almost a halftone.
- Mosaic suits Mandelbrot and Julia best: its sharp colour changes land on different tiles, so the fractal reads even in big pieces. Mesh gradient and Fractal noise make a calm panel.