Why 15 of Escher's 36 classified drawings have exactly one Circle Limit each, what the other 21 need first, and how to bend No. 70's butterflies. Written for Yaroslav and Vladimir to read together, Fri 30 Oct 2026 (week 44).
The short answer. A Circle Limit is made by one map: it carries Escher's tile, conformally, onto a hyperbolic tile. When the tile folds up into a triangle, the angles alone fix that map, so once you choose the new rotation orders there is exactly one. That covers 15 of the 36 drawings whose group is known, the butterflies among them. A rectangle leaves one number to find first; a parallelogram, two.
To try together: in iOrnament, import Vladimir's butterfly render in one colour and hyperbolize it from 632 to 732, then compare it with Douglas Dunham's hand-made 7-3 butterflies.
1 · What it takes to make a Circle Limit from any Escher print
Yaroslav's question on Thursday evening: "what's needed to make this Circle Limit for all the other Escher diagrams?" Six steps. Vladimir has most of them, and the missing one is no longer the obstacle it was.
60 msthe conformal step for 732, in this page's JavaScript on an Intel Mac. The 2009 paper's first attempts took about an hour.
Vladimir remembered the 2009 paper correctly: a general program that finds the symmetry with Fourier transforms, then the Escher example largely by hand, "a particular challenge and also particular fun".
The six steps
From the papers and Vladimir's code · tap a step for the detail
Get one perfect tile
By hand, print by printNeeds a scan or a drawing.
Fourier autocorrelation finds the lattice, rotations and mirrors; a person confirms what the artist meant; averaging each orbit gives a perfectly symmetric tile (2009 §4.1). The authors traced Escher's lizards by hand (§5.2). Vladimir drew the butterflies by hand in Inkscape.
Pick the hyperbolic group
He has itNeeds the print's orbifold symbol.
Raise the orders of the rotation centres until the angle sum drops below 180° (2009 §2.2–2.3). In Conway's terms, until the cost passes 2: 632 costs exactly 2, 732 a little more. Vladimir has this in SymmHub's KLM and KLMN groups.
Map the tile conformally
MissingNeeds the tile and its new corner angles. Unique for a triangle; see §3–4.
2009: hypergeometric Schwarz maps took about an hour and went unstable, so the authors moved to discrete conformal meshes (§3.1, §3.3).
2025: each pixel takes the average of its four neighbours; a neighbour outside the tile is reflected in, read, and reflected back on the image side (§4). It converges (§5, full proof in preparation) and was tested to 10000×10000 (§7), above Vladimir's 8000.
Vladimir's own: his 2013 bending morphs between tiles with pencils of circles (Bridges 2013 §3), which isn't conformal.
Choose the colours again
Open in generalNeeds a subgroup of the new group.
The lizards' three colours didn't survive a 4-fold centre, so the authors used four, with "some code written for this specific purpose" and no general theory (2009 §5.2, §6.1). The 2025 paper doesn't treat colour. This is where Vladimir is ahead: his colour catalogue and SymDraw's colour pages. §6 below works it out for the butterflies.
Fill the disk
He has itNeeds the tile and the group's generators.
Reverse pixel lookup: send each pixel into the tile with generators, then copy its colour (2009 §4.2). Vladimir's GPU shader iToFundamentalDomainSampler does this, and his 2013 paper cites the method.
Make it move
He has itNeeds a tile that can deform.
Triangles are rigid, so he joins tiles first and then bends (Bridges 2013 §3). The 2025 iteration also animates changes between symmetry groups (§7). He has bending in Java and, since Wed 28 Oct 2026 (week 44), a bending page in SymDraw.
The hard one: in 2009, step 3. Today step 1 is the labour and step 4 is the open mathematics.
Software that does step 3 today
iOrnament, on iPad. The 2025 paper says it can "import external images like Escher's Euclidean tilings" and hyperbolize them. On Thursday evening the two of you found only its flourishes; the import may be in a paid or Pro version, which I couldn't check.
Math Visuals: Hyperbolization, Richter-Gebert's free browser pages: a triangle-group playground, the main algorithm, the equilibrium mesh, P1 and P2 demos.
No public code turned up in one search. A fuller paper is listed as in preparation; Martin von Gagern's 2014 thesis, Creating Hyperbolic Ornaments, has the older route.
2 · The butterflies, bent: step 3 running on this page
Below is the 2025 averaging in plain JavaScript, on a test butterfly drawn for this page in the arrangement Douglas Dunham gives for No. 70: six butterflies meet at their left front wingtips, three at their right rear wingtips. Choose a target and your device solves its map.
The plane, 632. A test butterfly, not Escher's drawing.
Target
Colours
Map
The figure starts when you scroll to it.
My computationAgainst the 2009 paper's exact hypergeometric map at 500 points of the 732 tile, this solver is off by at most 1.3×10−5 of a tile side. K is the axis ratio of the ellipse a small circle becomes, measured at least 8% of a side from the corners.
The loop itself, as this page runs it
Two things to notice. Each button picks new orders and gets a different picture, but no button tunes a shape: for each target there is one map and the solver finds it. And Vladimir's 2013 morph is close at 732 yet kinks where mesh lines cross a tile edge; Watch it relax starts from the morph and lets the averaging iron the kinks out.
3 · Why a triangle leaves nothing to choose
Call the map \(\psi\). It takes the hyperbolic tile onto Escher's tile, and a pixel of the disk gets its colour by being reflected into the hyperbolic tile, carried by \(\psi\), and read off Escher's drawing (2025 §3). Three facts make \(\psi\) unique for the butterflies.
Angles fix a triangle
In the plane, 30°, 60° and 90° fix the shape up to size. In the hyperbolic plane they fix it outright: the angles \(\tfrac{\pi}{7}, \tfrac{\pi}{3}, \tfrac{\pi}{2}\) leave an area of \(\pi - \tfrac{\pi}{7} - \tfrac{\pi}{3} - \tfrac{\pi}{2} = \tfrac{\pi}{42}\), the smallest any hyperbolic triangle group has.
Three corners use up a disk's freedom
Riemann maps each triangle onto a round disk. What freedom is left, the disk's own conformal maps, moves any three boundary points to any three others, and no more. So exactly one conformal map sends corner to corner: "a unique (!!!) conformal map", in the 2025 paper's words.
Halves inherit the map
632, 442, 333, 4*2 and 3*3 are each half of a kaleidoscope (*632, *442, *333): two of its triangles make their tile, and the triangle map, reflected once, serves the whole tile (2025 §6.1). The butterflies' tile is two 30-60-90 triangles.
Then the Schwarz reflection principle carries \(\psi\) across every edge, and the two ways to extend it, by the symmetry and by analytic continuation, turn out to be the same (2025 §3). So once the new orders are chosen, the whole hyperbolic picture is determined.
Read the number of choices off Conway's symbol
The general rule counts what a tile's shape still needs (Thurston's dimension count for an orbifold, \(2k + \ell - 3\chi\)). Each digit before the star counts 2 (in a symbol with no star, every digit does); each digit after the star counts 1. Then take away 6 if the symbol has no star and no cross, 3 if it has one. Zero means the angles say everything.
Group
Folds into
Count
Escher drawings
Nothing to find: 8 groups, 15 drawings
632 · p6
sphere; centres 6, 3, 2
2+2+2−6 = 0
5
442 · p4
sphere; centres 4, 4, 2
0
3
333 · p3
sphere; centres 3, 3, 3
0
1
4*2 · p4g
disk; centre 4, corner 2
2+1−3 = 0
3
3*3 · p31m
disk; centre 3, corner 3
0
1
*333 · p3m1
disk; corners 3, 3, 3
1+1+1−3 = 0
2
*442 · p4m
disk; corners 4, 4, 2
0
0
*632 · p6m
disk; corners 6, 3, 2
0
0
One number to find first: 7 groups, 14 drawings
*2222 · pmm
disk; four corners 2
1+1+1+1−3 = 1
1
22× · pgg
cross-cap; centres 2, 2
2+2−3 = 1
4
22* · pmg
disk; centres 2, 2
1
0
2*22 · cmm
disk; centre 2, corners 2, 2
1
0
×× · pg
no centres
1, plus new centres
8
*× · cm
no centres
1, plus new centres
1
** · pm
no centres
1, plus new centres
0
Two numbers to find first: 2 groups, 7 drawings
2222 · p2
sphere; centres 2, 2, 2, 2
2+2+2+2−6 = 2
3
o · p1
no centres
2, plus new centres
4
The three tiers are the 2025 paper's §6. Groups with no centres take their number from the lattice, and the rule doesn't apply to them. Not to be confused with the paper's own "15 of the 17 groups", which counts the groups its method handles at all.
4 · Four corners carry a shape
pmm (*2222) folds into a rectangle. Riemann still maps it onto a disk, and the disk still places three corners anywhere, but the fourth lands where the shape puts it. The cross-ratio of the four landing points is the quadrilateral's modulus; for a rectangle, it's width over height. A square and a 2:1 rectangle have no conformal map between them that keeps corners at corners.
Raise one corner from 90° to 60° and the hyperbolic tile is a Lambert quadrilateral, three right angles and one of 60°. Unlike triangles, these come in a family: with \(a\) and \(c\) the two sides at the right angle opposite the 60° corner, \(\sinh a \,\sinh c = \cos 60^\circ\), and as \(a\) grows the modulus runs through every value. So exactly one member matches Escher's rectangle. Find it, and the averaging computes the map as before (2025 §6.2).
Exactly one hyperbolic quadrilateral fits each rectangle
Escher's rectangle, *2222: four corners of 90°.
The disk, *2223: corner B is 60°, so six quadrilaterals meet there.
The curve rises steadily, so it meets any rectangle's line exactly once.
My computationEach modulus is the Dirichlet energy of a harmonic function with value 0 on side OC, 1 on side AB and free on the other two, solved with the same reflect-in, read, reflect-back rule as the figure above. The symmetric quadrilateral, a modulus of exactly 1 by symmetry, came out 0.99996 on the finest grid.
Six more groups sit inside some *2222 and inherit the one number (2025 §6.3): pgg, pmg and cmm, which have rotation centres, and pg, cm and pm, which have none. For those last three, the points that will become rotation centres aren't anywhere in Escher's drawing, so where to put them is the artist's call: preferably in the background, never inside a leaf or a petal (2009 §6.4).
My reading, not from the papers
That one number is the freedom Bending Circle Limits animates. A triangle group neither bends nor mismatches. A quadrilateral group bends through a one-parameter family, and exactly one moment of the bend is the conformal image of Escher's drawing.
Parallelograms carry two
p2 (2222) folds into any parallelogram. Besides width over height, each row of bricks may slide against the one below: the 2025 paper's brick wall. If Escher's cell is a rectangle, the *2222 method applies. Otherwise the averaging needs a reflection principle for rotations; the authors "strongly conjecture" it gives the conformal map, with promising numerics and no proof (§6.4). p1 is half of a 2222 and goes the same way, with new centres as well.
5 · The 36 drawings, sorted: 15 with one map each
Nothing to find: p6, p4, p4g, p3m1, p3, p31m15
One number first: pgg, pmm · and new centres: pg, cm5 + 9
Two numbers first: p2 · and new centres: p13 + 4
Groups from EscherMath, computed ignoring colour, via Yaroslav's Escher page: 36 of the 107 drawings in Escher's gallery have one there. Each number below opens the drawing on the M.C. Escher Company's site.
15 Nothing to find: the tile is a triangle or two
632 · p6
No. 25 Lizard (1939; p3 in the 2009 paper) · No. 44 Bird (1941) · No. 55 Fish (1942) · No. 57 Two Fish (1942) · No. 70 Butterfly (1948)
442 · p4
No. 20 Fish (1938) · No. 42 Shells And Starfish (1941) · No. 119 Fish (1964)
Pegasus and the other p1 drawings need new centres too.
Four of the fifteen have been bent already
No. 45 · by Escher himself
Angels and devils, in three geometries
The plane drawing (1941) is 4*2: wingtips meet in fours. His carved ball (1942) would be 3*2 with every figure at one depth. Circle Limit IV (1960) is 4*3 in its outlines: where two mirror lines crossed, three now meet. The 2009 paper bent it the other way, to 5*2: five wingtips (Fig. 4).
No. 25 · 2009, by machine
Lizards to 433
Outlines traced by hand, read as 333 (the catalogue says p6), one 3-fold centre raised to 4. Escher's three colours didn't survive, so the lizards got four.
No. 69 · 2025
Fish, duck and lizard
The 2025 paper's opening example, which it calls "Fish, Duck, Turtle": a kaleidoscope, *333. Its last figure is Richter-Gebert's own hand-drawn take, hyperbolized in iOrnament.
No. 70 · Dunham, by hand
A family of butterflies
Dunham's (p, q): p butterflies at the left front wingtips, q at the right rear. He and his students drew 7-3, 8-3, 6-4, 5-4, 5-5, 7-4 and 10-4, colours chosen by hand. Coxeter put 18 of the butterflies on a torus.
6 · Choosing the butterflies' target: 732 bends least, and Escher's colours can't follow
Every row has exactly one map from No. 70's tile; they differ in how much the map stretches the butterfly and in which colourings survive.
How much each target bends the tile
Target
Tile area, × π
Scale range
Morph's worst K
732 · 7-3
1/42
1.53×
1.17
742 · 7-4
3/28
1.59×
1.56
642 · 6-4
1/12
1.53×
1.59
633
1/6
1.95×
1.59
832 · 8-3
1/24
2.33×
1.34
542 · 5-4
1/20
2.45×
1.61
932
1/18
3.54×
1.51
552 · 5-5
1/10
3.71×
2.13
10·4·2 · 10-4
3/20
5.23×
1.64
10·3·2
1/15
5.36×
1.67
12·3·2
1/12
12.06×
1.99
Which colourings survive
Target
Escher's 3 colours
Fewest colours
With Dunham's spots rule
732 · 7-3
no
7
8 ✓
742 · 7-4
no
7
8 ✓
642 · 6-4
no
2
4 ✓
633
no
3
4
832 · 8-3
yes
3
3 ✓
542 · 5-4
no
5
6 ✓
932
no
3
4
552 · 5-5
no
5
6 ✓
10·4·2 · 10-4
no
2
4
10·3·2
yes
3
3
12·3·2
yes
3
3
Sorted by scale range: the largest over the smallest local scale of the conformal map. Morph's K: how far Vladimir's 2013 morph is from conformal. Fewest colours: the rotations permute them and butterflies sharing an edge differ. ✓: the count Dunham reports for his own pattern.
Why three colours can't reach 732
A colouring that every rotation permutes sends the 7-fold turn \(a\), the 3-fold turn \(b\) and the 2-fold turn \(ab\) to permutations of the colours, with \(a^7 = b^3 = (ab)^2 = 1\). In No. 70, Escher's colouring sends the 6-fold turn to a swap: the six butterflies at a left front wingtip alternate two colours, and the third is left for the wing spots. With fewer than seven colours there is no permutation of order 7, so \(a\) must fix every colour; then \(b = (ab)\,a^{-1}\) has order dividing both 3 and 2, so it fixes them too, and nothing moves. Seven is the fewest. Escher's own colouring survives exactly when the new p is even and q a multiple of 3: 832, 10·3·2, 12·3·2.
Seven colours, and Dunham's eight
At seven, the turns act on the colours as PSL(2,7), of order 168, the Klein quartic's symmetry group, moving the seven points of the Fano plane; every 7-fold centre then shows all seven colours, and none is left for the spots. Dunham's 7-3 uses eight: the same group moving the eight points of the projective line over \(\mathbb{F}_7\), where the 7-fold turn cycles seven colours and fixes the eighth, white, for the spots. Press Fewest, then Dunham's rule, in the figure.
My computation
Dunham wrote that he chose his colourings by hand and that automating it seems "a difficult task, for future research". Two rules, butterflies sharing an edge differ and the turn at the left front wingtips fixes one colour for the spots, plus a search over all permutations of up to nine colours, reproduce all six counts he reports: 8, 3, 4, 6, 6, 8.
Keeping every colouring of the plane: 12·3·2 maps onto 632, so every colouring of No. 70 survives. The price is a scale range of 12×.
For the video: a triangle group can't bend, but one colour class can. The class of the seven-colouring is a sphere with cone orders 3, 2, 2, 2, the same orders as the 2223 quadrilateral that opens Bending Circle Limits. The class of Dunham's eight is 733, a triangle again, and rigid.
7 · The smallest first experiment: No. 70 from 632 to 732
My suggestion, not from the papers
Vladimir's tile already exists, so step 1 is done.
632 has one map, so there's nothing to search.
732 bends least: the smallest hyperbolic triangle, and the map's local scale varies only 1.53× across the tile.
There's a hand-made reference: Dunham's 7-3, to set beside a conformal version made from Vladimir's tile.
No code: the iOrnament import, with a one-colour render, since colours break the 6-fold symmetry the app has to detect (the 2009 authors removed colour first, §5.2). It shows what the target should look like and how large it can export.
No new mathematics: Vladimir's 2013 morph takes any four-sided circular tile to another, and this job is one: Euclidean kite to hyperbolic kite. Measured at 732: worst K = 1.17, seamless in position, with kinks up to about 15° where lines cross a tile edge, against about 1° for the conformal map. A fair draft at 732; not at 932 (K = 1.51).
The real map, from SymSim. Vladimir says that in his simulations symmetry is a boundary condition ("их симметрия, это я как бы граничные условия ставлю"). That's the machinery this needs: SymSim already alternates averaging four neighbours with reading each pixel from the fundamental domain. Four small changes make it the 2025 solver, and its steady state replaces the morph as the lookup his renderer reads through.
The four changes, and how I checked them
In grayScottShader, turn the reaction off, leaving diffusion.
Store the target position in the R and G channels.
Solve on the mirror triangle of *732, though the art has only 732.
In symSamplerShader, give each hyperbolic reflection its Euclidean partner, and apply the partners to the value read from the tile. This is the only new idea.
I simulated this two-step loop in JavaScript at 732. It reaches the exact map to 2×10−5 of a tile side in 8,000 sweeps on a 60-cell grid; without the partners it fails outright. I haven't touched his shaders.
Done when: mesh lines cross tile edges without a kink, and the result matches the figure and iOrnament. Keep it offline: Vladimir's rule on Escher's art is "Don't put it online", and the 2009 authors had permission.
Sources
Martin von Gagern and Jürgen Richter-Gebert, Hyperbolization of Euclidean Ornaments, Electronic Journal of Combinatorics 16(2), #R12, 2009. Read in full.
William Thurston, The Geometry and Topology of Three-Manifolds, chapter 13, for the orbifold dimension count.
Vladimir's code: SymmHub, from Yaroslav's local copy: lib/shaders/inversiveSampler.glsl.mjs, lib/shaders/symSamplerShader.glsl.mjs, apps/symsim/gray_scott/js/shaders/grayScottShader.glsl.mjs, lib/grouplib/Group_KLMN.js.
The catalogue: docs/data/escher.json in animated-groups-fable (groups from EscherMath; the complete table is Schattschneider's Concordance in Visions of Symmetry, not freely readable). Drawing links go to the M.C. Escher Company's own images; no artwork is reproduced here.
My computations: the conformal solver, checked against mpmath's hypergeometric functions at 500 points; the morph's K by finite differences; colourings by enumerating transitive permutation actions of each triangle group on up to nine colours, which reproduce the previous table for 2 to 7 colours; the quadrilateral moduli by a sparse solve of the reflected averaging on three grids.
The rest of Thursday evening (the video, the iPad, Dirichlet domains): Escher with your father.