
A perceived sphere (image from AnOpticalIllusion.com)

A perceived sphere (image from AnOpticalIllusion.com)
When is a fish a reptile? When it looks like this:
Fish from four isosceles right triangles
The fish-shape can be divided into eight identical sub-copies of itself. That is, it can be repeatedly tiled with copies of itself, so it’s an example of what geometry calls a rep-tile:
Fish divided into eight identical sub-copies
Fish divided again
Fish divided #4
Fish divided #5
Fish divided #6
Fish (animated rep-tiling)
Now suppose you divide the fish, then discard one of the sub-copies. And carry on dividing-and-discarding like that:
Fish discarding sub-copy 7 (#1)
Fish discarding sub-copy 7 (#2)
Fish discarding sub-copy 7 (#3)
Fish discarding sub-copy 7 (#4)
Fish discarding sub-copy 7 (#5)
Fish discarding sub-copy 7 (#6)
Fish discarding sub-copy 7 (#7)
Fish discarding sub-copy 7 (animated)
Here are more examples of the fish sub-dividing, then discarding sub-copies:
Fish discarding sub-copy #1
Fish discarding sub-copy #2
Fish discarding sub-copy #3
Fish discarding sub-copy #4
Fish discarding sub-copy #5
Fish discarding sub-copy #6
Fish discarding sub-copy #7
Fish discarding sub-copy #8
Fish discarding sub-copies (animated)
Now try a square divided into four copies of the fish, then sub-divided again and again:
Fish-square #1
Fish-square #2
Fish-square #3
Fish-square #4
Fish-square #5
Fish-square #6
Fish-square (animated)
The fish-square can be used to create more symmetrical patterns when the divide-and-discard rule is applied. Here’s the pattern created by dividing-and-discarded two of the sub-copies:
Fish-square divide-and-discard #1
Fish-square divide-and-discard #2
Fish-square divide-and-discard #3
Fish-square divide-and-discard #4
Fish-square divide-and-discard #5
Fish-square divide-and-discard #6
Fish-square divide-and-discard #7
Fish-square divide-and-discard #8 (delayed discard)
Fish-square divide-and-discard (animated)
Using simple trigonometry, you can convert the square pattern into a circular pattern:

↓
Circular version
Square to circle (animated)
Here are more examples of divide-and-discard fish-squares:
Fish-square divide-and-discard #1
Fish-square divide-and-discard #2
Fish-square divide-and-discard #3
Fish-square divide-and-discard #4
Fish-square divide-and-discard #5
Fish-square divide-and-discard #6
And more examples of fish-squares being converted into circles:
Fish-square to circle #1 (animated)
Fish-square to circle #2
Fish-square to circle #3
Fish-square to circle #4
Fish-square to circle #5
Fish-square to circle #6
Here are some examples of what I call woven sums for sum(n1..n2), where the digits of n1 are interwoven with the digits of n2:
1599 = sum(19..59) = 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56
2716 = sum(21..76)
159999 = sum(199..599)
275865 = sum(256..785)
289155 = sum(295..815)
15050747 = sum(1004..5577)
15058974 = sum(1087..5594)
15999999 = sum(1999..5999)
39035479 = sum(3057..9349)
In other words, the digits of n1 occupy digit-positions 1,3,5… and the digits of n2 occupy dig-pos 2,4,6…
But I can’t find woven sums where the digits of n2 are interwoven with the digits of n1, i.e. the digits of n2 occupy dig-pos 1,3,5… and the digits of n1 occupy dig-pos 2,4,6… Except when n1 has fewer digits than n2, e.g. 210 = sum(1..20).
Elsewhere Other-Accessible…
• Nuts for Numbers — a look at numbers like 2772 = sum(22..77) and 10470075 = sum(1075..4700).
Suppose you trace all possible routes followed by a point inside a triangle jumping halfway towards one or another of the three vertices of the triangle. If you mark each jump, you get a famous geometrical shape called the Sierpiński triangle (or Sierpiński sieve).
Sierpiński triangle found by tracing all possible routes for a point jumping halfway towards the vertices of a triangle
The Sierpiński triangle is a fractal, because it contains copies of itself at smaller and smaller scales. Now try the same thing with a square. If you trace all possible routes followed by a point inside a square jumping halfway towards one or another of the four vertices of the square, you don’t get an obvious fractal. Instead, the interior of the square fills steadily (and will eventually be completely solid):
Routes of a point jumping halfway towards vertices of a square
Try a variant. If the point is banned from jumping towards the same vertex twice or more in a row, the routes trace out a fractal that looks like this:
Ban on choosing same vertex twice or more in a row
If the point is banned from jumping towards the vertex one place anti-clockwise of the vertex it’s just jumped towards, you get a fractal like this:
Ban on jumping towards vertex one place anti-clockwise of previously chosen vertex
And if the point can’t jump towards two places clockwise or anti-clockwise of the currently chosen vertex, this fractal appears (called a T-square fractal):
Ban on jumping towards the vertex diagonally opposite of the previously chosen vertex
That ban is equivalent to banning the point from jumping from the vertex diagonally opposite to the vertex it’s just jumped towards. Finally, here’s the fractal created when you ban the point from jumping towards the vertex one place clockwise of the vertex it’s just jumped towards:
Ban on jumping towards vertex one place clockwise of previously chosen vertex
As you can see, the fractal is a mirror-image of the one-place-anti-clockwise-ban fractal.
I discovered the ban-construction of those fractals more than twenty years ago. Then I found that I was re-discovering the same fractals when I looked at what first seemed like completely different ways of constructing fractals. There are lots of different routes to the same result. I’ve recently discovered yet another route. Let’s try what seems like an entirely different way of constructing fractals. Take a square and erect four new half-sized squares, sq1, sq2, sq3, sq4, on each corner. Then erect three more quarter-sized squares on the outward facing corners of sq1, sq2, sq3 and sq4. Carry on doing that and see what happens at the end when you remove all the previous stages of construction:
Animation of the new construction
Animation in black-and-white
It’s the T-square fractal again. Now try rotating the squares you add at stage 3 and see what happens (the rotation means that two new squares are added on adjacent outward-facing corners and one new square on the inward-facing corner):
Animation of the construction
It’s the one-place-clockwise-ban fractal again. Now try rotating the squares two places, so that two new squares are added on diagonally opposite outward-facing corners and one new square on the inward-facing corner:
Animation of the construction
It’s the same-vertex-ban fractal again. Finally, rotate squares one place more:
Animation of the construction
It’s the one-place-clockwise-ban fractal again. And this method isn’t confined to squares. Here’s what happens when you add 5/8th-sized triangles to the corners of triangles:
Animation of the construction
And here’s what happens when you add 5/13th-sized pentagons to the corners of pentagons:
Animation of the construction
Finally, here’s a variant on that pentagonal fractal (adding two rather than four pentagons at stage 3 and higher):
Animation of the construction
Previously pre-posted (please peruse):
• Square Routes
• Square Routes Revisited
• Square Routes Re-Revisited
• Square Routes Re-Re-Revisited
• Square Routes Re-Re-Re-Revisited
• Square Routes Re-Re-Re-Re-Revisited
• Square Routes Re-Re-Re-Re-Re-Revisited
What’s the next number in this sequence?
1, 3, 0, 4, 9, 15, 8, 0, 9, 19, 30, 42, 29, 15, 0, 16, 33, 51, 70, 90, 69, 47, 24, 0, 25, ?
Even if you can’t work out the full rule generating the sequence, you may be able to deduce that the next number is… 51. There’s a pattern involving 0:
1, 3, 0, 4, 9, 15, 8, 0, 9, 19, 30, 42, 29, 15, 0, 16, 33, 51, 70, 90, 69, 47, 24, 0, 25... → 3, 0, 4, 9, [...] 8, 0, 9, 19, [...] 15, 0, 16, 33, [...] 24, 0, 25...
The first number after each 0 is 1 more than the first number before the 0. The second number after the 0 is equal to 2 * (first-number-after 0) + 1. So:
1, 3, 0, 4, 2*4+1 = 9, [...] 8, 0, 9, 2*9+1 = 19, [...] 15, 0, 16, 2*16+1 = 33, [...] 24, 0, 25, 2*25+1 = 51...
But what is the full rule for generating the sequence? It’s based on this pattern of sums I noticed:
1+2 = 3
4+5+6 = 7+8 = 15
9+10+11+12 = 13+14+15 = 42
16+17+18+19+20 = 21+22+23+24 = 90
25+26+27+28+29+30 = 31+32+33+34+35 = 165
36+37+38+39+40+41+42 = 43+44+45+46+47+48 = 273
49+50+51+52+53+54+55+56 = 57+58+59+60+61+62+63 = 420
64+65+66+67+68+69+70+71+72 = 73+74+75+76+77+78+79+80 = 612 — See A059270 at the OEIS
The sum of the first two integers (1+2) equals the next integer (3). The sum of the next three integers (4+5+6) equals the sum of the next two integers (7+8). The sum of the next four integers (9+10+11+12) equals the sum of the next three integers (13+14+15). And so on. The sequence is based on an adaptation of that pattern:
1 + 2 - 3 = 0
4 + 5 + 6 - 7 - 8 = 0
9 + 10 + 11 + 12 - 13 - 14 - 15 = 0
16 + 17 + 18 + 19 + 20 - 21 - 22 - 23 - 24 = 0
25 + 26 + 27 + 28 + 29 + 30 - 31 - 32 - 33 - 34 - 35 = 0↓
1 + 2 - 3 + 4 + 5 + 6 - 7 - 8 + 9 + 10 + 11 + 12 - 13 - 14 - 15 + 16 + 17 + 18 + 19 + 20 - 21 - 22 - 23 - 24 + 25 + 26 + 27 + 28 + 29 + 30 - 31 - 32 - 33 - 34 - 35...
If you work out the partial sums of the additions and subtractions, you get the sequence I started with, which regularly rises to a new high, then falls back to 0:
1, 3, 0, 4, 9, 15, 8, 0, 9, 19, 30, 42, 29, 15, 0, 16, 33, 51, 70, 90, 69, 47, 24, 0, 25, 51, 78, 106, 135, 165, 134, 102, 69, 35, 0, 36, 73, 111, 150, 190, 231, 273, 230, 186, 141, 95, 48, 0, 49, 99, 150, 202, 255, 309, 364, 420, 363, 305, 246, 186, 125, 63, 0, 64, 129, 195, 262, 330, 399, 469, 540, 612, 539, 465, 390, 314, 237, 159, 80, 0, 8
1, 163, 246, 330, 415, 501, 588, 676, 765, 855, 764, 672, 579, 485, 390, 294, 197, 99, 0, 100...
When you represent the numbers of the sequence on an Ulam-like spiral, you get this pattern of lines (and zigzags) against a haze of less regular points:
Spiral for pos2neg1 = 1, 3, 0, 4, 9, 15, 8, 0, 9, 19, 30, 42, 29, 15, 0, 16, 33…
I’ll call the lines spiral artefacts. I don’t know what generates all of them, but the zigzag diagonal from top left to bottom right is partly created by the square numbers. Here’s the spiral at higher resolutions:
Spiral for pos2neg1 (x2)
Spiral for pos2neg1 (x4)
You’ll find more of the lines if you look at Ulam-like spirals for adaptations of the original sequence. Suppose you add the first three integers, then take away the next two, then add the next four integers, then take away the next three, and so on: 1 + 2 + 3 – 4 – 5 + 6 + 7 + 8 + 9 – 10 – 11 – 12 + 13 + 14… Here are the partials sums of these additions and subtractions:
1, 3, 6, 2, -3, 3, 10, 18, 27, 17, 6, -6, 7, 21, 36, 52, 69, 51, 32, 12, -9, 13, 36, 60, 85, 111, 138, 110, 81, 51, 20, -12, 21, 55, 90, 126, 163, 201, 240, 200, 159, 117, 74, 30, -15, 31, 78, 126, 175, 225, 276, 328, 381, 327, 272, 216, 159, 101, 42, -18, 43, 105, 168, 232, 297, 363, 430, 498, 567, 497, 426, 354, 281, 207, 132, 56, -21, 57, 136, 216, 297, 379, 462, 546, 631, 717, 804, 716, 627, 537, 446, 354, 261, 167, 72, -24, 73, 171, 270, 370...
If the original sequence is pos2neg1 (add first two integers, take away next one integer, etc), this adapted sequence is pos3neg2 (add first three integers, take away next two, etc). Here’s the spiral for pos3neg2 (with negative numbers represented as positive):
Spiral for pos3neg2 = 1, 3, 6, 2, -3, 3, 10, 18, 27, 17, 6, -6, 7, 21, 36, 52,
69, 51, 32, 12…
Note that the spiral is incomplete and some of the lines not fully extended, because the lines are easier to see when the sequence doesn’t carry on too long and clutter the screen. Here are more adapted sequences shown on Ulam-like spirals (again, some of the spirals are incomplete):
Spiral for pos4neg3 = 1, 3, 6, 10, 5, -1, -8, 0, 9, 19, 30, 42, 29, 15, 0, -16, 1, 19, 38, 58…
Spiral for pos5neg4 = 1, 3, 6, 10, 15, 9, 2, -6, -15, -5, 6, 18, 31, 45, 60, 44, 27, 9, -10, -30…
Spiral for pos6neg5 = 1, 3, 6, 10, 15, 21, 14, 6, -3, -13, -24, -12, 1, 15, 30, 46, 63, 81, 62, 42…
Spiral for pos7neg6 = 1, 3, 6, 10, 15, 21, 28, 20, 11, 1, -10, -22, -35, -21, -6, 10, 27, 45, 64, 84…
Spiral for pos8neg7 = 1, 3, 6, 10, 15, 21, 28, 36, 27, 17, 6, -6, -19, -33, -48, -32, -15, 3, 22, 42…
Spiral for pos9neg8 = 1, 3, 6, 10, 15, 21, 28, 36, 45, 35, 24, 12, -1, -15, -30, -46, -63, -45, -26, -6…
Spiral for pos10neg9 = 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 44, 32, 19, 5, -10, -26, -43, -61, -80, -60…
Spiral for pos11neg10 = 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 54, 41, 27, 12, -4, -21, -39, -58, -78…
Elsewhere Other-Engageable
• Spiral Artefact #1 — different patterns on an Ulam-like spiral
• Spiral Artefact #2 — more different patterns

Vision Crystal by the American artist Alex Grey (born November 29, 1953)
Why stop at primes? Those are the numbers the Ulam spiral is usually used for. You get a grid of square blocks, then move outward from the middle of the grid in a spiral, counting as you go. If the count matches a prime, you fill the block in. The first block is 1. Not filled. The second block is 2, which is prime. So the block is filled. The third block is 3, which is prime. Filled again. And so on. In the end, the Ulam spiral for primes looks like this:
The Ulam spiral of prime numbers
But why stop at primes? If you change the fill-test, you get different patterns. I’ve recently tried a test based on how many ways a number can be represented as the sum of consecutive integers. For example, 5, 208 and 536 can be represented in only one way:
5 = 2+3
208 = 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22
536 = sum(26..41) = 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41
Let’s use “runsum” to mean a sum of consecutive integers. If the function runsum(n) returns the count of runsums for n, then runsum(5) = runsum(208) = runsum(536) = 1. Here are spirals for runsum(n) = 1:
A spiral for runsum(n) = 1, i.e. numbers that are the sum of consecutive integers in only one way
runsum(n) = 1 (higher resolution)
runsum(n) = 1 (higher resolution still)
Now try runsum(n) = 2, i.e. numbers that are the sum of consecutive integers in exactly two ways:
A spiral for runsum(n) = 2
runsum(n) = 2 (hi-res #1)
runsum(n) = 2 (hi-res #2)
runsum(n) = 2 (hi-res #3)
Why do most of the numbers fall on a diagonal? I don’t know, but I know that the diagonal represents square numbers:
9 = sum(4..5) = sum(2..4)
25 = sum(12..13) = sum(3..7)
36 = sum(11..13) = sum(1..8)
49 = sum(24..25) = sum(4..10)
A spiral for runsum(n) = 3
runsum(n) = 3 (hi-res)
It’s a densely packed spiral, unlike the spiral for runsum(n) = 4:

A spiral for runsum(n) = 4
runsum(n) = 4 (hi-res)
Like the spiral for runsum(n) = 2, the numbers are disproportionately falling on the diagonal of square numbers:
81 = 9^2 = sum(40..41) = sum(26..28) = sum(11..16) = sum(5..13)
324 = 18^2 = sum(107..109) = sum(37..44) = sum(32..40) = sum(2..25)
2500 = 50^2 = sum(498..502) = sum(309..316) = sum(88..112) = sum(43..82)
Here are spirals for runsum(n) = 5:
A spiral for runsum(n) = 5 (note patterns in green)
runsum(n) = 5 (hi-res #1)
runsum(n) = 5 (hi-res #2)
There are two interesting patterns in the spiral, marked in green above and enlarged below:
Pattern #1 in spiral for runsum(n) = 5
Pattern #2 in spiral for runsum(n) = 5
Are the patterns merely artefacts or does one or both represent something mathematically significant? I don’t know.
More spirals:
A spiral for runsum(n) = 6
A spiral for runsum(n) = 7
runsum(n) = 7 (hi-res)
A spiral for runsum(n) = 8
runsum(n) = 8 (hi-res #1)
runsum(n) = 8 (hi-res #2)
Numbers in the spiral for runsum(n) = 8 are again falling disproportionately on the diagonal of square numbers. Here’s one of those squares:
441 = 21^2 = sum(220..221) = sum(146..148) = sum(71..76) = sum(60..66) = sum(45..53) = sum(25..38) = sum(16..33) = sum(11..31)
Previously Pre-Posted…
• Spiral Artefact #1 — a look at patterns in spirals with different tests

Some examples of impossible geometry (poster at Tarquin)
In “Diamonds to Dust”, I showed how the Mitsubishi logo could be turned into a fractal, like this:
The Mitsubishi diamonds (source)
↓
↓
Mitsubishi logo to fractal (animated)
Now I want to look at another famous symbol and its fractalization. Here’s the symbol, the hexagram:

Hexagram, a six-pointed star
The hexagram can be dissected into twelve equilateral triangles like this:

Hexagram dissected into 12 equilateral triangles
If each triangle in the dissection is replaced by a hexagram, then the hexagram is dissected again into twelve triangles, you get a famous fractal, the Koch snowflake:
The Koch snowflake
The Koch snowflake again
Hexagram to Koch snowflake (animated)
If you color the triangles, you get something like this:
Colored hexagram to fractal (animated)
Of course, this is a very inefficient way to create a Koch snowflake, because the interior hexagrams consume processing time while not contributing to the fractal boundary of the snowflake. But in a way you can fully fractalize the hexagram if you draw only the point at the center of each triangle and then color it according to how many times the pixel in question has been drawn on before. To see how this works, first look at what happens when the center-points are represented in white:
White center-points (animated)
And here’s the fully fractalized hexagram, with colored center-points:
Colored center-points (animated)
Previously Pre-Posted…
• The Hex Fractor #1 — hexagons and fractals
• The Hex Fractor #2 — hexagons and fractals again
• Diamonds to Dust — turning the Mitsubishi logo into a fractal
Here is an equilateral triangle divided into nine smaller equilateral triangles:

Rep-9 equilateral triangle
The triangle is a rep-tile — it’s tiled with repeating copies of itself. In this case, it’s a rep-9 triangle. Each of the nine smaller triangles can obviously be divided in their turn:

Rep-81 equilateral triangle
Rep-729 equilateral triangle
Rep-729 equilateral triangle again
Rep-6561 equilateral triangle
Rep-9 triangle repeatedly subdividing (animated)
How try trimming the original rep-9 triangle, picking one of the trimmings, and repeating in finer detail. If you choose six triangles in this pattern, you can create a symmetrical braided fractal:
Triangular fractal stage 1
Triangular fractal #2
Triangular fractal #3
Triangular fractal #3 (cleaning up)
Triangular fractal #3 (cleaning up more)
Triangular fractal #4
Triangular fractal #5
Triangular fractal #6
Triangular fractal (animated)
But this fractal using a three-triangle trim-picking isn’t symmetrical:
Trim-picking #1
Trim-picking #2
Trim-picking #3
Trim-picking #4
Trim-picking #5
To make it symmetric, you have to delay the trim, using the full rep-9 trim for the first stage:
Delayed trim-picking #1
Delayed trim-picking #2
Delayed trim-picking #3
Delayed trim-picking #4
Delayed trim-picking #5
Delayed trim-picking #6 (with first two stages as rep-9)
Delayed trim-picking (animated)
Here are some more delayed trim-pickings used to created symmetrical patterns: