ten·ten·toon /ˌtɛn.tɛnˈtoːn/ noun

1. a self-repeating image whose copies spiral as they shrink, in the manner of M. C. Escher's Print Gallery.

a tententoon of the old gallery, winding inward without end.

Origin coined from the Dutch Prentententoonstelling (“print exhibition”): prenten, prints + tentoonstelling, exhibition. The coined word sits right where the two halves meet.

Start with an ordinary photo

Here is one: someone on a couch, holding an empty frame.

A photograph of a person sitting on a couch, holding up an empty rectangular picture frame.
Nothing unusual yet: a person, a couch, an empty frame.

Now do one thing to it. Take the whole photo — couch, smile, frame and all — shrink it, and slot it into that empty frame. The frame isn't empty now; it holds the photo. But the copy you just dropped in has a frame of its own, and that one is empty. So fill it the same way. And the copy inside it. There is no last step.

The same photograph, but now the frame holds a smaller copy of the whole photo, which holds a smaller copy again, repeating inward.
The same photo, dropped into its own frame, again and again.

That is the Droste effect, after the 1904 cocoa tin that used it. Each copy sits squarely inside the last, the same shape a fixed fraction smaller, and the picture falls straight toward its own centre — with no bottom to reach.

That straight fall is one kind of infinity. Here is a second: let every copy turn a little as it shrinks, and the stack winds into a spiral.

To build that, we need one idea first — the one Escher was really using when he drew his curved grid by hand. So before the spiral, a short detour to pick up the language the rest of the page speaks.

First, what is a function?

A function is a rule with an input and an output. For us the input is a point on the plane, and the output is another point:

zf(z)

So if z is one point on the picture, f(z) tells us where that point goes. Now do it for every point at once. The grid moves. The rings move. The photo moves. That is all a warp is: one function, evaluated everywhere.

Drag the point on the left and watch where it lands on the right. Switch the function. Then turn on the grid, and the formula stops being a formula — it becomes a machine moving the plane.

input plane drag me
inputz =
function
show
identity → function
zf(z)
output plane
outputf(z) =

The identity → function slider doesn't jump straight to f(z); it pulls the plane there continuously, so you can watch the motion instead of just the before and after. (That in-between is a teaching aid, not the real map.)

Walk down the list and the moves get bolder. f(z) = z leaves every point exactly where it was — dull, but it's the baseline. f(z) = 2z doubles every distance from the centre: pure scale. f(z) = iz turns everything a quarter-turn: multiplication can mean rotation. Put those two together and you get a scale-and-spin in one step — which is exactly the move the spiral will need.

Then the plane starts to bend. f(z) = z2 curves the whole grid, yet—look closely—the little squares stay nearly square. The last two are the pair this whole page turns on: exp rolls the plane around the origin, so upright lines become rings; and log is its undo, unrolling those rings back into upright lines. Hold on to that. The tententoon is built from precisely those two, with a scale-and-spin wedged between them.

The function we need

Now we can state the job. We have a Droste image: zoom in by the right amount and the same picture appears again. We want a single function where moving around the centre also carries us one Droste step inward — turning and zooming folded into the same motion.

From the playground we already have the parts. The detour is three moves: log to unroll the rings into a flat repeating strip, a scale-and-spin to lean that strip until its copies line up diagonally, and exp to roll the strip back into rings. The three panels below are those moves, wired together — move any control and the whole row answers at once.

in the original
shrink S = 2.1
source
1 we log it
ζ = log(z − c)  ·  log S = 0.75
flat strip drag me ↔ zoom  ↕ turn
2 we bend it
ζαζα = 1 − 0.12i
leaned over
3 we exponentiate it
w = c + (z − c)α
rolled up
drag the flat strip: ↔ zooms everything, ↕ turns it

The photo's own nesting is gentle, so it closes at only about 7°. The ring and grid patterns repeat at every scale, so they close at the full ~25° — almost exactly the 26° Escher used. The source choice under each panel is shared across all three.

1 · We log it

Start with the turning. A ring around the centre has no end: travel round it, return to your mark, set off again, as many laps as you please. Lay that trip out straight and it's a line on which one lap repeats, then an identical lap, then another. Going around always brings you home — so flattened, the picture is periodic: shift it by one lap and nothing has changed.

one trip around unroll one lap the same point returns every lap
A ring has no end, so unrolling it gives a line that repeats: the same point comes back every lap. That is the periodic strip in the first panel, read along its short way.

Going inward usually breaks the spell — zoom toward the middle of a photo and you meet new detail forever, never the same view twice. The Droste is the exception, and we built it on purpose: one frame inward is an exact copy of the whole, so inward repeats as well. Flatten both directions and the picture turns into a plain grid of identical tiles. (The flattening trades a point's distance from the centre for the number of shrink-steps that reach it, so repeated multiplying becomes repeated adding. Its name is the logarithm.)

This is the quiet fact the whole spiral rests on: in that grid, a step of exactly one tile lands you on a region identical to where you started. Drag the flat strip and feel it — a sideways slide zooms, an up-and-down slide turns, and after one full tile everything is precisely as it was.

2 · We bend it

Bending a spiral by hand is hopeless; leaning a flat grid is easy. Push the lean slider on the middle panel and the strip tilts. Most angles drag the tiles out of step, but at one the rows click back into register — every tile still meets its neighbours, no gaps, no overlaps. That angle is the one marked closed ✓; snap lands on it exactly.

Here's why any lean can work. The grid repeats one step over and one step up, so it also repeats along a staircase built from those two steps. Lean the strip along such a staircase and it still lies on top of itself. Only that family of angles keeps the tiles aligned, and the shallowest of them is the one that will close the spiral.

3 · We exponentiate it

One move remains: roll the leaned strip back up — the exact reverse of flattening it. Press roll it up on the third panel and the strip winds around the centre; the lean becomes a turn, and the grid of tiles closes into the spiral. Because we only ever leaned a pattern that repeats, the spiral meets itself with no seam — follow any line inward and it returns to where it began. That is the tententoon.

Rolling up is the undo of logging: where one counted shrink-steps to flatten the picture, the other grows them back. Both infinities live at its two ends — leave the strip upright and it rolls into the straight Droste fall; lean it first and it rolls into Escher's spiral. Same picture, same roll — only the lean is different.

Why the picture still looks like a picture

A careless warp wrecks an image: squares shear into parallelograms, faces smear, straight edges buckle. The overall shape might land where you wanted, but up close the picture stops being readable. Escher needed the opposite — an enormous global bend in which every small neighbourhood stays almost untouched.

This is the real work the playground's z2, exp, and log were doing. Near any single point, each of them acts like nothing more than a scale plus a rotation — not a squash, not a shear. So the whole plane can twist violently around itself while the little squares stay square. Turn the grid back on and watch one tile through the bend: it moves and turns and shrinks, but it keeps its shape. That is why this family of functions is the right tool for warping a photograph, and it is the quiet reason the spiral still reads as Escher's gallery rather than a smear.

Escher got there first, by hand

Escher had no computer in 1956. He worked the curved grid out by eye, ruled it onto the canvas, and painted a gallery, a print, a town, and the gallery again into the bend. And he got it right: the mathematics later showed his intuition was very nearly exact.

But a spiral tightens forever toward its centre, and a pen can only go so fine. So Escher stopped, left a soft white patch in the middle of the picture, curled his signature into it, and called it finished. The one place the picture could not finish itself.

The map that filled the hole

In 2003, two mathematicians in Leiden (Bart de Smit and Hendrik Lenstra) worked out the exact map hiding in Escher's grid. The idealised Print Gallery, they showed, contains a complete copy of itself rotated by 157.6256° and shrunk by a factor of 22.5837. Pin those two numbers down and the rest of the picture is forced, including the part Escher left blank.

With the exact map written down, the blank centre is no longer a place a hand has to reach: it can be computed. So they did — continuing the spiral inward, far past any pen, and closing the white hole at last.

See it move

If you'd like the whole argument animated, Grant Sanderson (of 3Blue1Brown) made a tour of the de Smit–Lenstra paper in 2026 — the very log(Escher) step you just played with, and more.

Now make one

This tool does the bending for you. Drop in any photo, draw the rectangle where the next copy should sit, and flip between the two infinities: the straight Droste fall, or the tententoon spiral. Export the loop as a PNG, a GIF, or a video. It all runs in your browser: no upload, no account, no server.

Open the tool →