Blancmange Butterfly

Blancmange butterfly. Is that a ’60s psychedelic band? No, it’s one of the shapes you can get by playing with blancmange curves. As I described in “White Rites”, a blancmange curve is a fractal created by summing the heights of successively smaller and more numerous zigzags, like this:

blanc_all

Zigzags 1 to 10


blancmange_all

Zigzags 1 to 10 (animated)


blanc_solid

Blancmange curve


In the blancmange curves below, the height (i.e., the y co-ordinate) has been normalized so that all the images are the same height:









Construction of a normalized blancmange curve (animated)


This is the solid version:









Solid normalized blancmange curve (animated)


I wondered what happens when you wrap a blancmange curve around a circle. Well, this happens:









Construction of a blancmange circle (animated)


You get what might be called a blancmange butterfly. The solid version looks like this (patterns in the circles are artefacts of the graphics program I used):









Solid blancmange circle (animated)


Next I tried using arcs rather zigzags to construct the blancmange curves and blancmange circles:









Arching blancmange curve (i.e., constructed with arcs) (animated)


And below is the circular version of a blancmange curve constructed with arcs. The arching circular blancmanges look even more like buttocks and then intestinal villi (the fingerlike projections lining our intestines):









Arching blancmange circle (animated)


The variations on blancmange curves don’t stop there — in fact, they’re infinite. Below is a negative arching blancmange curve, where the heights of the original arching blancmange curve are subtracted from the (normalized) maximum height:








Negative arching blancmange curve (animated)


And here’s an arching blancmange curve that’s alternately negative and positive:








Negative-positive arching blancmange curve (animated)


The circular version looks like this:










Negative-positive arching blancmange circle (animated)


Finally, here’s an arching blancmange curve that’s alternately positive and negative:









Positive-negative arching blancmange curve (animated)


And the circular version:











Positive-negative arching blancmange circle (animated)


Elsewhere Other-Accessible…

White Rites — more variations on blancmange curves

Bi-Bell Basics

Here’s what you might call a Sisyphean sequence. It struggles upward, then slips back, over and over again:

1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2...


The struggle goes on for ever. Every time it reaches a new maximum, it will fall back to 1 at the next step. And in fact 1, 2, 3 and all other integers occur infinitely often in the sequence, because it represents the digit-sums of binary numbers:

1 ← 1
1 = 1+0 ← 10 in binary = 2 in base ten
2 = 1+1 ← 11 = 3
1 = 1+0+0 ← 100 = 4
2 = 1+0+1 ← 101 = 5
2 = 1+1+0 ← 110 = 6
3 = 1+1+1 ← 111 = 7
1 = 1+0+0+0 ← 1000 = 8
2 = 1+0+0+1 ← 1001 = 9
2 = 1+0+1+0 ← 1010 = 10
3 = 1+0+1+1 ← 1011 = 11
2 = 1+1+0+0 ← 1100 = 12
3 = 1+1+0+1 ← 1101 = 13
3 = 1+1+1+0 ← 1110 = 14
4 = 1+1+1+1 ← 1111 = 15
1 = 1+0+0+0+0 ← 10000 = 16
2 = 1+0+0+0+1 ← 10001 = 17
2 = 1+0+0+1+0 ← 10010 = 18
3 = 1+0+0+1+1 ← 10011 = 19
2 = 1+0+1+0+0 ← 10100 = 20


Now here’s a related sequence in which all integers do not occur infinitely often:

1, 2, 3, 3, 4, 5, 6, 4, 5, 6, 7, 7, 8, 9, 10, 5, 6, 7, 8, 8, 9, 10, 11, 9, 10, 11, 12, 12, 13, 14, 15, 6, 7, 8, 9, 9, 10, 11, 12, 10, 11, 12, 13, 13, 14, 15, 16, 11, 12, 13, 14, 14, 15, 16, 17, 15, 16, 17, 18, 18, 19, 20, 21, 7, 8, 9, 10, 10, 11, 12, 13, 11, 12, 13, 14, 14, 15, 16, 17, 12, 13, 14, 15, 15, 16, 17, 18, 16, 17, 18, 19, 19, 20, 21, 22, 13, 14, 15, 16, 16, 17, 18, 19, 17, 18, 19, 20, 20, 21, 22, 23, 18, 19, 20, 21, 21, 22, 23, 24, 22, 23, 24, 25, 25, 26, 27, 28, 8, 9, 10, 11, 11, 12, 13, 14, 12, 13, 14, 15, 15...


The sequence represents the sum of the values of occupied columns in the binary numbers, reading from right to left:

10 in binary = 2 in base ten
21 (column values from right to left)
2*1 + 1*0 = 2


11 = 3
21
2*1 + 1*1 = 3


100 = 4
321 (column values from right to left)
3*1 + 2*0 + 1*0 = 3


101 = 5
321
3*1 + 2*0 + 1*1 = 4


110 = 6
321
3*1 + 2*1 + 1*0 = 5


111 = 7
321
3*1 + 2*1 + 1*1 = 6


1000 = 8
4321
4*1 + 3*0 + 2*0 + 1*0 = 4


1001 = 9
4321
4*1 + 3*0 + 2*0 + 1*1 = 5


1010 = 10
4321
4*1 + 3*0 + 2*1 + 1*0 = 6


1011 = 11
4321
4*1 + 3*0 + 2*1 + 1*1 = 7


1100 = 12
4321
4*1 + 3*1 + 2*0 + 1*0 = 7


1101 = 13
4321
4*1 + 3*1 + 2*0 + 1*1 = 8


1110 = 14
4321
4*1 + 3*1 + 2*1 + 1*0 = 9


1111 = 15
4321
4*1 + 3*1 + 2*1 + 1*1 = 10


10000 = 16
54321
5*1 + 4*0 + 3*0 + 2*0 + 1*0 = 5


In that sequence, although no number occurs infinitely often, some numbers occur more often than others. If you represent the count of sums up to a certain digit-length as a graph, you get a famous shape:

Bell curve formed by the count of column-sums in base 2


Bi-bell curves for 1 to 16 binary digits (animated)


In “Pi in the Bi”, I looked at that way of forming the bell curve and called it the bi-bell curve. Now I want to go further. Suppose that you assign varying values to the columns and try other bases. For example, what happens if you assign the values 2^p + 1 to the columns, reading from right to left, then use base 3 to generate the sums? These are the values of 2^p + 1:

2, 3, 5, 9, 17, 33, 65, 129, 257, 513, 1025...


And here’s an example of how you generate a column-sum in base 3:

2102 in base 3 = 65 in base ten
9532 (column values from right to left)
2*9 + 1*5 + 0*3 + 2*2 = 27


The graphs for these column-sums using base 3 look like this as the digit-length rises. They’re no longer bell-curves (and please note that widths and heights have been normalized so that all graphs fit the same space):

Graph for the count of column-sums in base 3 using 2^p + 1 (digit-length <= 7)

(width and height are normalized)


Graph for base 3 and 2^p + 1 (dl<=8)


Graph for base 3 and 2^p + 1 (dl<=9)


Graph for base 3 and 2^p + 1 (dl<=10)


Graph for base 3 and 2^p + 1 (dl<=11)


Graph for base 3 and 2^p + 1 (dl<=12)


Graph for base 3 and 2^p + 1 (animated)


Now try base 3 and column-values of 2^p + 2 = 3, 4, 6, 10, 18, 34, 66, 130, 258, 514, 1026…

Graph for base 3 and 2^p + 2 (dl<=7)


Graph for base 3 and 2^p + 2 (dl<=8)


Graph for base 3 and 2^p + 2 (dl<=9)


Graph for base 3 and 2^p + 2 (dl<=10)


Graph for base 3 and 2^p + 2 (animated)


Now try base 5 and 2^p + 1 for the columns. The original bell curve has become like a fractal called the blancmange curve:

Graph for base 5 and 2^p + 1 (dl<=7)


Graph for base 5 and 2^p + 1 (dl<=8)


Graph for base 5 and 2^p + 1 (dl<=9)


Graph for base 5 and 2^p + 1 (dl<=10)


Graph for base 5 and 2^p + 1 (animated)


And finally, return to base 2 and try the Fibonacci numbers for the columns:

Graph for base 2 and Fibonacci numbers = 1,1,2,3,5… (dl<=7)


Graph for base 2 and Fibonacci numbers (dl<=9)


Graph for base 2 and Fibonacci numbers (dl<=11)


Graph for base 2 and Fibonacci numbers (dl<=13)


Graph for base 2 and Fibonacci numbers (dl<=15)


Graph for base 2 and Fibonacci numbers (animated)


Previously Pre-Posted…

Pi in the Bi — bell curves generated by binary digits

Hour Power

How do you get an hourglass from this shape?

Rep-4 L-tromino


In fact, it’s easy. You simply divide the shape into four identical copies of itself, discard one copy, and repeat the process with each of the sub-copies:

l-triomino_124

Constructing an hourglass (animated)

l-triomino_124_upright_static1

Hourglass (static)


Here are some more posts about what I call the hourglass fractal:

The Hourglass Fractal at Overlord of the Über-feral

Tright Sights

Here’s a right triangle, where a^2 + b^2 = c^2. But what are the exact values of a, b, and c?


You might be able to guess by eye, but could you prove your guess? Now try the same right triangle tiled with three identical copies of itself:

1-√3-2 triangle as rep3 rep-tile


Now you can prove the exact values of a, b, and c. If the vertical side, a, is 1, then the hypotenuse, c, is 2, because the length that fits once into a fits twice into c. Therefore 2^2 = 1^2 + b^2 → 4 = 1 + b^2 → 4-1 = b^2 → 3 = b^2 → √3 = b. The horizontal side, b, has a length of √3 = 1.73205080757… So the right triangle is 1-√3-2. And if it’s rep3, that is, can be divided into three identical copies of itself, then it’s also rep9, rep27, and so on:

1-√3-2 triangle as rep9 rep-tile


1-√3-2 triangle as rep27 rep-tile


1-√3-2 triangle as rep81 rep-tile


1-√3-2 triangle as rep243 rep-tile


1-√3-2 triangle as rep729 rep-tile


Once you’ve got a rep-tile, you can create fractals. But the 1-√3-2 triangle is cramped. You need more space to work with. And it’s easy to find that space when you realize that a standard equilateral triangle can be divided into six 1-√3-2 triangles:

Equilateral triangle divided into six 1-√3-2 triangles


Equilateral triangle tiled with 1-√3-2 triangles (stage 1)

(please open in new window if image is distorted)


Equilateral triangle tiled with 1-√3-2 triangles (stage 2)


Equilateral triangle tiled with 1-√3-2 triangles (stage 3)


Here are variant colorings of the stage-3 tiled triangle:








But where are the fractals? In one way, you’ve already seen them. But they get more obvious like this:

Fractal stage 1


Fractal #2


Fractal #3


Fractal #4


Fractal #5


Fractal #6


Fractal #7


Fractal #8


Fractal (animated)


Another fractal stage 1

[…]

[…]

Another fractal #8


Another fractal (animated)


And when you have a fractal created using an equilateral triangle, it’s easy to expand the fractal into a circle, like this:

Original fractal

Fractal expanded into circle


Triangular fractal to circular fractal (animated)








Extra Tetra

Construction of a Sierpiński tetrahedron (from WikiMedia)


Post-Performative Post-Scriptum

The toxic title of this incendiary intervention radically references George Harrison’s album Extra Texture (1975).

We Can Circ It Out

It’s a pretty little problem to convert this triangular fractal…

Sierpiński triangle (Wikipedia)


…into its circular equivalent:

Sierpiński triangle as circle


Sierpiński triangle to circle (animated)


But once you’ve circ’d it out, as it were, you can easily adapt the technique to fractals based on other polygons:

T-square fractal (Wikipedia)

T-square fractal as circle


T-square fractal to circle (animated)


Elsewhere other-accessible…

Dilating the Delta — more on converting polygonic fractals to circles…

Fylfy Fractals

An equilateral triangle is a rep-tile, because it can be tiled completely with smaller copies of itself. Here it is as a rep-4 rep-tile, tiled with four smaller copies of itself:

Equilateral triangle as rep-4 rep-tile


If you divide and discard one of the sub-copies, then carry on dividing-and-discarding with the sub-copies and sub-sub-copies and sub-sub-sub-copies, you get the fractal seen below. Alas, it’s not a very attractive or interesting fractal:

Divide-and-discard fractal stage #1


Stage #2


Stage #3


Stage #4


Stage #5


Stage #6


Stage #7


Stage #8


Stage #9


Divide-and-discard fractal (animated)


You can create more attractive and interesting fractals by rotating the sub-triangles clockwise or anticlockwise. Here are some examples:









Now try dividing a square into four right triangles, then turning each of the four triangles into a divide-and-discard fractal. The resulting four-fractal shape is variously called a swastika, a gammadion, a cross cramponnée, a Hakenkreuz and a fylfot. I’m calling it a fylfy fractal:

Divide-and-discard fractals in the four triangles of a divided square stage #1


Fylfy fractal #2


Fylfy fractal #3


Fylfy fractal #4


Fylfy fractal #5


Fylfy fractal #6


Fylfy fractal #7


Fylfy fractal #8


Fylfy fractal (animated)


Finally, you can adjust the fylfy fractals so that each point in the square becomes the equivalent point in a circle:



















Absolutely Sabulous

The Hourglass Fractal (animated gif optimized at ezGIF)


Performativizing Paronomasticity

The title of this incendiary intervention is a paronomasia on the title of the dire Absolutely Fabulous. The adjective sabulous means “sandy; consisting of or abounding in sand; arenaceous” (OED).

Elsewhere Other-Accessible

Hour Re-Re-Re-Re-Powered — more on the hourglass fractal
Allus Pour, Horic — an earlier paronomasia for the fractal

Plow-Pair

Futoshiki is fun. It’s a number-puzzle where you use logic to re-create a 5×5 square in which every row and column contains the numbers 1 to 5. At first, most or all of the numbers are missing. You work out what those missing numbers are by using the inequality signs scattered over the futoshiki. Here’s an example:


There are no numbers at all in the futoshiki, so where do you start? Well, first let’s establish some vocabulary for discussing futoshiki. If we label squares by row and column, you can say that square (4,5), just above the lower righthand corner, dominates square (4,4), because (4,5) is on the dominant side of the inequality sign between the two squares (futōshiki, 不等式, means “inequality” in Japanese). Whatever individual number is in (4,5) must be greater than whatever individual number is in (4,4).

Conversely, you can say that (4,4) is dominated by (4,5). But that’s not the end of it: (4,4) is dominated by (4,5) but dominates (3,4), which in its turn dominates (2,4). In other words, there’s a chain of dominations. In this case, it’s a 4-chain, that is, it’s four squares long: (4,5) > (4,4) > (3,4) > (2,4), where (4,5) is the start-square and (2,4) is the end-square. Now, because 5 is the highest number in a 5×5 futoshiki, it can’t be in any square dominated by another square. And because 1 is always the lowest number in a futoshiki, it can’t be in any square that dominates another square. By extending that logic, you’ll see that 4 can’t be in the end-square of a 3-chain, (a,b) > (c,d) > (e,f), and 2 can’t be in the start-square of a 3-chain. Nor can 3 be in the start-square or end-square of a 4-chain.

Using all that logic, you can start excluding numbers from certain squares and working out sets of possible numbers in each square, like this:

[whoops: square contains errors that need to be corrected!]


Now look at column 1 and at row 4:


In column 1, the number 5 appears only once among the possibles, in (1,1); in row 4, the number 1 appears only once among the possibles, in (4,1). And if a number appears in only one square of a row or column, you know that it must be the number filling that particular square. So 5 must be the number filling (1,1) and 1 must be the number filling (4,1). And once a square is filled by a particular number, you can remove it from the sets of possibles filling the other squares of the row and column. I call this sweeping the row and column. Voilà:


Now that the 5 in (1,1) and the 1 in (4,1) have swept all other occurrences of 5 and 1 from the sets of possibles in column 1 and row 4, you can apply the only-once rule again. 2 appears only once in row 4 and 5 appears only once in column 4:


So you’ve got two more filled squares:


Now you can apply a more complex piece of logic. Look at the sets of possibles in row 3 and you’ll see that the set {2,3} occurs twice, in square (3,1) and square (3,4):


What does this double-occurrence of {2,3} mean? It means that if 2 is in fact the number filling (3,1), then 3 must be the number filling (3,4). And vice versa. Therefore 2 and 3 can occur only in those two squares and the two numbers can be excluded or swept from the sets of possibles filling the other squares in that row. You could call {2,3} a plow-pair or plow-pare, because it’s a pair that pares 2 and 3 from the other squares. So we have a pair-rule: if the same pair of possibles, {a,b}, appears in two squares in a row or column, then both a and b can be swept from the three other squares in that row or column. Using {2,3}, let’s apply the pair-rule to the futoshiki and run the plow-pare over row 3:


Now the pair-rule applies again, because {4,5} occurs twice in column 5:


And once the plow-pare has swept 4 and 5 from the other three squares in column 5, you’ll see that 3 is the only number left in square (1,5). Therefore 3 must fill (1,5):


Now 3 can be swept from the rest of row 1 and column 5:


And the pair-rule applies again, because {1,2} occurs twice in row 2:


Once 2 is swept from {2,3,4} in square (2,1) to leave {3,4}, 3 must be excluded from square (2,2), because (2,2) dominates (2,1) and 3 can’t be greater than itself. And once 3 is excluded from (2,2), it occurs only once in column 2:


Therefore 3 must fill (5,2), which dominates (5,1) and its set of possibles {2,3,4}. Because 3 can’t be greater than 4 or itself, 2 is the only possible filler for (5,1) and only 3 is left when 2 is swept from (3,1):


And here are the remaining steps in completing the futoshiki:

The complete futoshiki


Animation of the steps required to complete the futoshiki


Afterword

The pair-rule can be extended to a triplet-rule and quadruplet-rule:

• If three numbers {a,b,c} can occur in only three squares of a row or column, then a, b and c can be swept from the two remaining squares of the row or column.
• If four numbers {a,b,c,d} can occur in only four squares of a row or column, then a, b, c and d can be swept from the one remaining square of the row or column (therefore the number e must fill that remaining square).

But you won’t be able to apply the triplet-rule and quadruplet-rule as often as the pair-rule. Note also that the triplet-rule doesn’t work when {a,b,c} can occur in only two squares of a row or column. An n-rule applies only when the same n numbers of a set occur in n squares of a row or column. And n must be less than 5.


Post-Performative Post-Scriptum

Domination. Exclusion. Inequality. — an earlier look at futoshiki