This Charming Dis-Arming

One of the charms of living in an old town or city is finding new routes to familiar places. It’s also one of the charms of maths. Suppose a three-armed star sprouts three half-sized arms from the end of each of its three arms. And then sprouts three quarter-sized arms from the end of each of its nine new arms. And so on. This is what happens:

Three-armed star


3-Star sprouts more arms


Sprouting 3-Star #3


Sprouting 3-Star #4


Sprouting 3-Star #5


Sprouting 3-Star #6


Sprouting 3-Star #7


Sprouting 3-Star #8


Sprouting 3-Star #9


Sprouting 3-Star #10


Sprouting 3-Star #11 — the Sierpiński triangle


Sprouting 3-star (animated)


The final stage is a famous fractal called the Sierpiński triangle — the sprouting 3-star is a new route to a familiar place. But what happens when you trying sprouting a four-armed star in the same way? This does:

Four-armed star #1


Sprouting 4-Star #2


Sprouting 4-Star #3


Sprouting 4-Star #4


Sprouting 4-Star #5


Sprouting 4-Star #6


Sprouting 4-Star #7


Sprouting 4-Star #8


Sprouting 4-Star #9


Sprouting 4-Star #10


Sprouting 4-star (animated)


There’s no obvious fractal with a sprouting 4-star. Not unless you dis-arm the 4-star in some way. For example, you can ban any new arm sprouting in the same direction as the previous arm:

Dis-armed 4-star (+0) #1


Dis-armed 4-Star (+0) #2


Dis-armed 4-Star (+0) #3


Dis-armed 4-Star (+0) #4


Dis-armed 4-Star (+0) #5


Dis-armed 4-Star (+0) #6


Dis-armed 4-Star (+0) #7


Dis-armed 4-Star (+0) #8


Dis-armed 4-Star (+0) #9


Dis-armed 4-Star (+0) #10


Dis-armed 4-star (+0) (animated)


Once again, it’s a new route to a familiar place (for keyly committed core components of the Overlord-of-the-Über-Feral community, anyway). Now try banning an arm sprouting one place clockwise of the previous arm:

Dis-armed 4-Star (+1) #1


Dis-armed 4-Star (+1) #2


Dis-armed 4-Star (+1) #3


Dis-armed 4-Star (+1) #4


Dis-armed 4-Star (+1) #5


Dis-armed 4-Star (+1) #6


Dis-armed 4-Star (+1) #7


Dis-armed 4-Star (+1) #8


Dis-armed 4-Star (+1) #9


Dis-armed 4-Star (+1) #10


Dis-armed 4-Star (+1) (animated)


Again it’s a new route to a familiar place. Now trying banning an arm sprouting two places clockwise (or anti-clockwise) of the previous arm:

Dis-armed 4-Star (+2) #1


Dis-armed 4-Star (+2) #2


Dis-armed 4-Star (+2) #3


Dis-armed 4-Star (+2) #4


Dis-armed 4-Star (+2) #5


Dis-armed 4-Star (+2) #6


Dis-armed 4-Star (+2) #7


Dis-armed 4-Star (+2) #8


Dis-armed 4-Star (+2) #9


Dis-armed 4-Star (+2) #10


Dis-armed 4-Star (+2) (animated)


Once again it’s a new route to a familiar place. And what happens if you ban an arm sprouting three places clockwise (or one place anti-clockwise) of the previous arm? You get a mirror image of the Dis-armed 4-Star (+1):

Dis-armed 4-Star (+3)


Here’s the Dis-armed 4-Star (+1) for comparison:

Dis-armed 4-Star (+1)


Elsewhere other-accessible

Boole(b)an #2 — other routes to the fractals seen above

Boole(b)an #2

In “Boole(b)an”, I looked at some of the things that happen when you impose bans of different kinds on a point jumping half-way towards a randomly chosen vertex of a square. If the point can’t jump towards the same vertex twice (or more) in a row, you get the fractal below (or rather, you get a messier version of the fractal below, because I’ve used an algorithm that finds all possible routes to create the fractals in this post):

ban = v(i) + 0


If the point can’t jump towards the vertex one place clockwise of the point it has just jumped towards, you get this fractal:

ban = v(i) + 1


If the point can’t jump towards the vertex two places clockwise (or anti-clockwise) of the point it has just jumped towards, you get this fractal:

ban = v(i) + 2


Finally, you get a mirror-image of the one-place-clockwise fractal when the ban is on jumping towards the vertex three places clockwise (or one place anti-clockwise) of the previous vertex:

ban = v(i) + 3


Now let’s introduce the concept of “vertex-history”. The four fractals above use a vertex-history of 1, vh = 1, because they look one step into the past, at the previously chosen vertex. Because there are four vertices, there are four possible previous vertices. But when vh = 2, you’re taking account of both the previous vertex, v(i), and what you might call the pre-previous vertex, v(i-1). There are sixteen possible combinations of previous vertex and pre-previous vertex (16 = 4 x 4).

Now, suppose the jump-ban is imposed when one of two conditions is met: the vertex is 1) one place clockwise of the previous vertex and the same as the pre-previous vertex; 2) three places clockwise of the previous chosen vertex and the same as the pre-previous vertex. So the boolean test is (condition(1) AND condition(2)) OR (condition(3) AND condition(4)). When you apply the test, you get this fractal:

ban = v(i,i-1) + [0,1] or v(i,i-1) + [0,3]


The fractal looks more complex, but I think it’s a blend of some combination of the four classic fractals shown at the beginning of this post. Here are more multiple-ban fractals using vh = 2 and bani = 2:

ban = [0,1] or [1,1]


ban = [0,2] or [2,0]


ban = [0,2] or [2,2]


ban = [1,0] or [3,0]


ban = [1,1] or [3,3]


ban = [1,2] or [2,2]


ban = [1,2] or [3,2]


ban = [1,3] or [2,0]


ban = [1,3] or [3,1]


ban = [2,0] or [2,2]


ban = [2,1] or [2,3]


For the fractals below, vh = 2 and bani = 3 (i.e., bans are imposed when one of three possible conditions is met). Again, I think the fractals are blends of some combination of the four classic ban-fractals shown at the beginning of this post:

ban = [0,0] or [1,2] or [3,2]


ban = [0,0] or [1,3] or [3,1]


ban = [0,0] or [2,1] or [2,3]


ban = [0,1] or [0,2] or [0,3]


ban = [0,1] or [0,3] or [1,1]


ban = [0,1] or [0,3] or [2,0]


ban = [0,1] or [0,3] or [2,2]


ban = [0,1] or [1,1] or [1,2]


ban = [0,1] or [1,1] or [3,0]


ban = [0,1] or [1,2] or [3,2]


ban = [0,2] or [1,0] or [3,0]


ban = [0,2] or [1,1] or [3,3]


ban = [0,2] or [1,2] or [2,2]


ban = [0,2] or [1,2] or [3,1]


ban = [0,2] or [1,2] or [3,2]


ban = [0,2] or [1,3] or [2,0]


ban = [0,2] or [1,3] or [3,1]


ban = [0,2] or [2,0] or [2,2]


ban = [0,2] or [2,1] or [2,3]


ban = [0,2] or [2,2] or [3,2]


ban = [0,3] or [1,0] or [2,0]


ban = [1,0] or [1,2] or [3,0]


ban = [1,0] or [2,2] or [3,0]


ban = [1,1] or [2,0] or [3,3]


ban = [1,1] or [2,1] or [3,1]


ban = [1,1] or [2,2] or [3,3]


ban = [1,1] or [2,3] or [3,3]


ban = [1,2] or [2,0] or [3,1]


ban = [1,2] or [2,0] or [3,2]


ban = [1,2] or [2,1] or [2,3]


ban = [1,2] or [2,3] or [3,2]


ban = [1,2] or [3,2] or [3,3]


ban = [1,3] or [2,0] or [2,2]


ban = [1,3] or [2,0] or [3,0]


ban = [1,3] or [2,0] or [3,1]


ban = [1,3] or [2,2] or [3,1]


ban = [2,0] or [3,1] or [3,2]


ban = [2,1] or [2,3] or [3,2]


Previously pre-posted

Boole(b)an — an early look at ban-fractals

Boole(b)an

Suppose you allow a point to jump at random half-way towards one of the four vertices of a square. But not entirely at random — you ban the point from jumping towards the same vertex twice (or more) in a row. You get this pattern:

ban on v(i) + 0


It’s a fractal, that is, a shape that contains smaller and smaller copies of itself. Next you ban the point from jumping towards the vertex one place clockwise of the vertex it last jumped towards (i.e., it can jump towards, say, vertex 2 as many times as it likes, but it can’t jump towards vertex 2+1 = 3, and so on). You get this fractal:

ban on v(i) + 1


Now ban it from jumping towards the vertex two places clockwise of the vertex it last jumped towards (i.e., it can’t jump towards the diagonally opposite vertex). You get this fractal:

ban on v(i) + 2


And if you ban the point from jumping towards the vertex three places clockwise of the last vertex, you get a mirror-image of the v(i)+1 fractal (see above):

ban on v(i) + 3


The fractals above have a memory one vertex into the past: the previous vertex. Let’s try some fractals with a memory two vertices into the past: the previous vertex and the pre-previous vertex (and even the pre-pre-previous vertex).

But this time, let’s suppose that sometimes the point can’t jump if the previous or pre-previous isn’t equal to v(i) + n. So sometimes the jump is banned when the test is true, sometimes when the test is false — you might call it a boolean ban or boole(b)an. Using boole(b)ans, you can get this set of fractals:
















With these fractals, the boolean test sends the point back to the center of the square:











Posteriously post-posted

Boole(b)an #2 — a later look at ban-fractals

Controlled Chaos

The chaos game is a simple mathematical technique for creating fractals. Suppose a point jumps over and over again 1/2 of the distance towards a randomly chosen vertex of a triangle. This shape appears, the so-called Sierpiński triangle:

Sierpiński triangle created by the chaos game


But the jumps don’t have to be random: you can use an array to find every possible combination of jumps and so create a more even image. I call this controlled chaos. However, if you try the chaos game (controlled or otherwise) with a square, no fractal appears unless you restrict the vertex chosen in some way. For example, if the point can’t jump towards the same vertex twice or more in a row, this fractal appears:

Ban on jumping towards previously chosen vertex, i.e. v + 0


And if the point can’t jump towards the vertex one place clockwise of the previously chosen vertex, this fractal appears:

Ban on v + 1


If the point can’t jump towards the vertex two places clockwise of the previously chosen vertex, this fractal appears:

Ban on v + 2


If the point can’t jump towards the vertex three places clockwise, or one place anticlockwise, of the previously chosen vertex, this fractal appears (compare v + 1 above):

Ban on v + 3


You can also ban vertices based on how close the point is to them at any given moment. Suppose that the point can’t jump towards the nearest vertex, which means that it must choose to jump towards either the 2nd-nearest, 3rd-nearest or 4th-nearest vertex. A fractal we’ve already seen appears:

Must jump towards vertex at distance 2, 3 or 4


In effect, not jumping towards the nearest vertex means not jumping towards a vertex twice or more in a row. Another familiar fractal appears if the point can’t jump towards the most distant vertex:

d = 1,2,3


But new fractals also appear when the jumps are determined by distance:

d = 1,2,4


d = 1,3,4


And you can add more targets for the jumping point midway between the vertices of the square:

d = 1,2,8


d = 1,4,6


d = 1,6,8


d = 1,7,8


d = 2,3,6


d = 2,3,8


d = 2,4,8


d = 2,5,6


And what if you choose the next vertex by incrementing the previously chosen vertex? Suppose the initial vertex is 1 and the possible increments are 1, 2 and 2. This new fractal appears:

increment = 1,2,2 (for example, 1 + 1 = 2, 2 + 2 = 4, 4 + 2 = 6, and 6 is adjusted thus: 6 – 4 = 2)


And with this set of increments, it’s déjà vu all over again:

i = 2,2,3


And again:

i = 2,3,2


With more possible increments, familiar fractals appear in unfamiliar ways:

i = 1,3,2,3


i = 1,3,3,2


i = 1,4,3,3


i = 2,1,2,2


i = 2,1,3,4


i = 2,2,3,4


i = 3,1,1,2


Now try increments with midpoints on the sides:

v = 4 + midpoints, i = 1,2,4


As we saw above, this incremental fractal can also be created from a square with four vertices and no midpoints:

i = 1,3,3; initial vertex = 1


But the fractal changes when the initial vertex is set to 2, i.e. to one of the midpoints:

i = 1,3,3; initial vertex = 2


And here are more inc-fractals with midpoints:

i = 1,4,2 (cf. inc-fractal 1,2,4 above)


i = 1,4,8


i = 2,6,3


i = 3,2,6


i = 4,7,8


i = 1,2,3,5


i = 1,4,5,4


i = 6,2,4,1


i = 7,6,2,2


i = 7,8,2,4


i = 7,8,4,2


Square Routes Re-Re-Re-Re-Re-Revisited

For a good example of how more can be less, try the chaos game. You trace a point jumping repeatedly 1/n of the way towards a randomly chosen vertex of a regular polygon. When the polygon is a triangle and 1/n = 1/2, this is what happens:

Chaos triangle #1


Chaos triangle #2


Chaos triangle #3


Chaos triangle #4


Chaos triangle #5


Chaos triangle #6


Chaos triangle #7


As you can see, this simple chaos game creates a fractal known as the Sierpiński triangle (or Sierpiński sieve). Now try more and discover that it’s less. When you play the chaos game with a square, this is what happens:

Chaos square #1


Chaos square #2


Chaos square #3


Chaos square #4


Chaos square #5


Chaos square #6


Chaos square #7


As you can see, more is less: the interior of the square simply fills with points and no attractive fractal appears. And because that was more is less, let’s see how less is more. What happens if you restrict the way in which the point inside the square can jump? Suppose it can’t jump twice towards the same vertex (i.e., the vertex v+0 is banned). This fractal appears:

Ban on choosing vertex [v+0]


And if the point can’t jump towards the vertex one place anti-clockwise of the currently chosen vertex, this fractal appears:

Ban on vertex [v+1] (or [v-1], depending on how you number the vertices)


And if the point can’t jump towards two places clockwise or anti-clockwise of the currently chosen vertex, this fractal appears:

Ban on vertex [v+2], i.e. the diagonally opposite vertex


At least, that is one possible route to those three particular fractals. You see another route, start with this simple fractal, where dividing and discarding parts of a square creates a Sierpiński triangle:

Square to Sierpiński triangle #1


Square to Sierpiński triangle #2


Square to Sierpiński triangle #3


Square to Sierpiński triangle #4


[…]


Square to Sierpiński triangle #10


Square to Sierpiński triangle (animated)


By taking four of these square-to-Sierpiński-triangle fractals and rotating them in the right way, you can re-create the three chaos-game fractals shown above. Here’s the [v+0]-ban fractal:

[v+0]-ban fractal #1


[v+0]-ban #2


[v+0]-ban #3


[v+0]-ban #4


[v+0]-ban #5


[v+0]-ban #6


[v+0]-ban #7


[v+0]-ban #8


[v+0]-ban #9


[v+0]-ban (animated)


And here’s the [v+1]-ban fractal:

[v+1]-ban fractal #1


[v+1]-ban #2


[v+1]-ban #3


[v+1]-ban #4


[v+1]-ban #5


[v+1]-ban #6


[v+1]-ban #7


[v+1]-ban #8


[v+1]-ban #9


[v+1]-ban (animated)


And here’s the [v+2]-ban fractal:

[v+2]-ban fractal #1


[v+2]-ban #2


[v+2]-ban #3


[v+2]-ban #4


[v+2]-ban #5


[v+2]-ban #6


[v+2]-ban #7


[v+2]-ban #8


[v+2]-ban #9


[v+2]-ban (animated)

And taking a different route means that you can find more fractals — as I will demonstrate.


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

Dilating the Delta

A circle with a radius of one unit has an area of exactly π units = 3.141592… units. An equilateral triangle inscribed in the unit circle has an area of 1.2990381… units, or 41.34% of the area of the unit circle.

In other words, triangles are cramped! And so it’s often difficult to see what’s going on in a triangle. Here’s one example, a fractal that starts by finding the centre of the equilateral triangle:

Triangular fractal stage #1


Next, use that central point to create three more triangles:

Triangular fractal stage #2


And then use the centres of each new triangle to create three more triangles (for a total of nine triangles):

Triangular fractal stage #3


And so on, trebling the number of triangles at each stage:

Triangular fractal stage #4


Triangular fractal stage #5


As you can see, the triangles quickly become very crowded. So do the central points when you stop drawing the triangles:

Triangular fractal stage #6


Triangular fractal stage #7


Triangular fractal stage #8


Triangular fractal stage #9


Triangular fractal stage #10


Triangular fractal stage #11


Triangular fractal stage #12


Triangular fractal stage #13


Triangular fractal (animated)


The cramping inside a triangle is why I decided to dilate the delta like this:

Triangular fractal

Circular fractal from triangular fractal


Triangular fractal to circular fractal (animated)


Formation of the circular fractal (animated)


And how do you dilate the delta, or convert an equilateral triangle into a circle? You use elementary trigonometry to expand the perimeter of the triangle so that it lies on the perimeter of the unit circle. The vertices of the triangle don’t move, because they already lie on the perimeter of the circle, but every other point, p, on the perimeter of the triangles moves outward by a fixed amount, m, depending on the angle it makes with the center of the triangle.

Once you have m, you can move outward every point, p(1..i), that lies between p on the perimeter and the centre of the triangle. At least, that’s the theory between the dilation of the delta. In practice, all you need is a point, (x,y), inside the triangle. From that, you can find the angle, θ, and distance, d, from the centre, calculate m, and move (x,y) to d * m from the centre.

You can apply this technique to any fractal created in an equilateral triangle. For example, here’s the famous Sierpiński triangle in its standard form as a delta, then as a dilated delta or circle:

Sierpiński triangle

Sierpiński triangle to circular Sierpiński fractal


Sierpiński triangle to circle (animated)


But why stop at triangles? You can use the same elementary trigonometry to convert any regular polygon into a circle. A square inscribed in a unit circle has an area of 2 units, or 63.66% of the area of the unit circle, so it too is cramped by comparison with the circle. Here’s a square fractal that I’ve often posted before:

Square fractal, jump = 1/2, ban on jumping towards any vertex twice in a row


It’s created by banning a randomly jumping point from moving twice in a row 1/2 of the distance towards the same vertex of the square. When you dilate the fractal, it looks like this:

square_fractal_circ_i0

Circular fractal from square fractal, j = 1/2, ban on jumping towards vertex v(i) twice in a row


Circular fractal from square (animated)


And here’s a related fractal where the randomly jumping point can’t jump towards the vertex directly clockwise from the vertex it’s previously jumped towards (so it can jump towards the same vertex twice or more):

Square fractal, j = 1/2, ban on vertex v(i+1)


When the fractal is dilated, it looks like this:

Circular fractal from square, i = 1


Circular fractal from square (animated)


In this square fractal, the randomly jumping point can’t jump towards the vertex directly opposite the vertex it’s previously jumped towards:

Square fractal, ban on vertex v(i+2)


And here is the dilated version:

Circular fractal from square, i = 2

Circular fractal from square (animated)


And there are a lot more fractals where those came from. Infinitely many, in fact.

Square Routes Re-Re-Re-Re-Revisited

Pre-previously in my post-passionate portrayal of polygonic performativity, I’ve usually looked at what happens when a moving point is banned from jumping twice-in-a-row (and so on) towards the same vertex of a square or other polygon. But what happens when the point isn’t banned but compelled to do something different? For example, if the point usually jumps 1/2 of the distance towards the vertex for the second (third, fourth…) time, you could make it jump 2/3 of the way, like this:

usual jump = 1/2, forced jump = 2/3


And here are the fractals created when the vertex currently chosen is one or two places clockwise from the vertex chosen before:

usual jump = 1/2, forced jump = 2/3, vertex-inc = +1


j1 = 1/2, j2 = 2/3, vi = +2


Or you can make the point jump towards a different vertex to the one chosen, without recording the different vertex in the history of jumps:

v1 = +0, v2 = +1, j = 1/2


v1 = +0, v2 = +1, vi = +2


v1 = 0, v2 = +2


v1 = 0, v2 = +2, vi = +1


Or you can make the point jump towards the center of the square:

v1 = 0, v2 = center, j = 1/2


v1 = 0, v2 = center, vertex-inc = +1


v1 = 0, v2 = center, vertex-inc = +2


And so on:

v1 = +1, v2 = +1, vi = +1


v1 = +1, v2 = +1, vi = +2


v1 = +0, v2 = +1, reverse test


v1 = +0, v2 = +1, vi = +1, reverse test


v1 = +0, v2 = +1, vi = +2, reverse test


v1 = +0, v2 = +2, reverse test


v1 = +0, v2 = +2, vi = +1, reverse test


v1 = +2, v2 = +2, vi = +1, reverse test


j1 = 1/2, j2 = 2/3, vi = +0,+0 (record previous two jumps in history)


j1 = 1/2, j2 = 2/3, vi = +0,+2


j1 = 1/2, j2 = 2/3, vi = +2,+2


j1 = 1/2, j2 = 2/3, vi = +0,+0,+0 (previous three jumps)


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

Get Your Prox Off #3

I’ve looked at lot at the fractals created when you randomly (or quasi-randomly) choose a vertex of a square, then jump half of the distance towards it. You can ban jumps towards the same vertex twice in a row, or jumps towards the vertex clockwise or anticlockwise from the vertex you’ve just chosen, and so on.

But you don’t have to choose vertices directly: you can also choose them by distance or proximity (see “Get Your Prox Off” for an earlier look at fractals-by-distance). For example, this fractal appears when you can jump half-way towards the nearest vertex, the second-nearest vertex, and the third-nearest vertex (i.e., you can’t jump towards the fourth-nearest or most distant vertex):

vertices = 4, distance = (1,2,3), jump = 1/2


It’s actually the same fractal as you get when you choose vertices directly and ban jumps towards the vertex diagonally opposite from the one you’ve just chosen. But this fractal-by-distance isn’t easy to match with a fractal-by-vertex:

v = 4, d = (1,2,4), j = 1/2


Nor is this one:

v = 4, d = (1,3,4)


This one, however, is the same as the fractal-by-vertex created by banning a jump towards the same vertex twice in a row:

v = 4, d = (2,3,4)


The point can jump towards second-nearest, third-nearest and fourth-nearest vertices, but not towards the nearest. And the nearest vertex will be the one chosen previously.

Now let’s try squares with an additional point-for-jumping-towards on each side (the points are numbered 1 to 8, with points 1, 3, 5, 7 being the true vertices):

v = 4 + s1 point on each side, d = (1,2,3)


v = 4 + s1, d = (1,2,5)


v = 4 + s1, d = (1,2,7)


v = 4 + s1, d = (1,3,8)


v = 4 + s1, d = (1,4,6)


v = 4 + s1, d = (1,7,8)


v = 4 + s1, d = (2,3,8)


v = 4 + s1, d = (2,4,8)


And here are squares where the jump is 2/3, not 1/2, and you can choose only the nearest or third-nearest jump-point:

v = 4, d = (1,3), j = 2/3


v = 4 + s1, d = (1,3), j = 2/3


Now here are some pentagonal fractals-by-distance:

v = 5, d = (1,2,5), j = 1/2


v = 5 + s1, d = (1,2,7)


v = 5 + s1, d = (1,2,8)


v = 5 + s1, d = (1,2,9)


v = 5 + s1, d = (1,9,10)


v = 5 + s1, d = (1,10), j = 2/3


v = 5 + s1, d = (various), j = 2/3 (animated)


And now some hexagonal fractals-by-distance:

v = 6, d = (1,2,4), j = 1/2


v = 6, d = (1,3,5)


v = 6, d = (1,3,6)


v = 6, d = (1,2,3,4)


v = 6 + central point, d = (1,2,3,4)


v = 6, d = (1,2,3,6)


v = 6, d = (1,2,4,6)


v = 6, d = (1,3,4,5)


v = 6, d = (1,3,4,6)


v = 6, d = (1,4,5,6)


Elsewhere other-accessible:

Get Your Prox Off — an earlier look at fractals-by-distance
Get Your Prox Off # 2 — and another

Fractal + Star = Fractar

Here’s a three-armed star made with three lines radiating at intervals of 120°:

Triangular fractal stage #1


At the end of each of the three lines, add three more lines at half the length:

Triangular fractal #2


And continue like this:

Triangular fractal #3


Triangular fractal #4


Triangular fractal #5


Triangular fractal #6


Triangular fractal #7


Triangular fractal #8


Triangular fractal #9


Triangular fractal #10


Triangular fractal (animated)


Because this fractal is created from a series of stars, you could call it a fractar. Here’s a black-and-white version:

Triangular fractar (black-and-white)


Triangular fractar (black-and-white) (animated)
(Open in a new window for larger version if the image seems distorted)


A four-armed star doesn’t yield an easily recognizable fractal in a similar way, so let’s try a five-armed star:

Pentagonal fractar stage #1


Pentagonal fractar #2


Pentagonal fractar #3


Pentagonal fractar #4


Pentagonal fractar #5


Pentagonal fractar #6


Pentagonal fractar #7


Pentagonal fractar (animated)


Pentagonal fractar (black-and-white)


Pentagonal fractar (bw) (animated)


And here’s a six-armed star:

Hexagonal fractar stage #1


Hexagonal fractar #2


Hexagonal fractar #3


Hexagonal fractar #4


Hexagonal fractar #5


Hexagonal fractar #6


Hexagonal fractar (animated)


Hexagonal fractar (black-and-white)


Hexagonal fractar (bw) (animated)


And here’s what happens to the triangular fractar when the new lines are rotated by 60°:

Triangular fractar (60° rotation) #1


Triangular fractar (60°) #2


Triangular fractar (60°) #3


Triangular fractar (60°) #4


Triangular fractar (60°) #5


Triangular fractar (60°) #6


Triangular fractar (60°) #7


Triangular fractar (60°) #8


Triangular fractar (60°) #9


Triangular fractar (60°) (animated)


Triangular fractar (60°) (black-and-white)


Triangular fractar (60°) (bw) (animated)


Triangular fractar (60°) (no lines) (black-and-white)


A four-armed star yields a recognizable fractal when the rotation is 45°:

Square fractar (45°) #1


Square fractar (45°) #2


Square fractar (45°) #3


Square fractar (45°) #4


Square fractar (45°) #5


Square fractar (45°) #6


Square fractar (45°) #7


Square fractar (45°) #8


Square fractar (45°) (animated)


Square fractar (45°) (black-and-white)


Square fractar (45°) (bw) (animated)


Without the lines, the final fractar looks like the plan of a castle:

Square fractar (45°) (bw) (no lines)


And here’s a five-armed star with new lines rotated at 36°:

Pentagonal fractar (36°) #1


Pentagonal fractar (36°) #2


Pentagonal fractar (36°) #3


Pentagonal fractar (36°) #4


Pentagonal fractar (36°) #5


Pentagonal fractar (36°) #6


Pentagonal fractar (36°) #7


Pentagonal fractar (36°) (animated)


Again, the final fractar without lines looks like the plan of a castle:

Pentagonal fractar (36°) (no lines) (black-and-white)


Finally, here’s a six-armed star with new lines rotated at 30°:

Hexagonal fractar (30°) #1


Hexagonal fractar (30°) #2


Hexagonal fractar (30°) #3


Hexagonal fractar (30°) #4


Hexagonal fractar (30°) #5


Hexagonal fractar (30°) #6


Hexagonal fractar (30°) (animated)


And the hexagonal castle plan:

Hexagonal fractar (30°) (black-and-white) (no lines)


Performativizing the Polygonic #2

Suppose a café offers you free drinks for three days. You can have tea or coffee in any order and any number of times. If you want tea every day of the three, you can have it. So here’s a question: how many ways can you choose from two kinds of drink in three days? One simple way is to number each drink, tea = 1, coffee = 2, then count off the choices like this:


1: 111
2: 112
3: 121
4: 122
5: 211
6: 212
7: 221
8: 222

Choice #1 is 111, which means tea every day. Choice #6 is 212, which means coffee on day 1, tea on day 2 and coffee on day 3. Now look at the counting again and the way the numbers change: 111, 112, 121, 122, 211… It’s really base 2 using 1 and 2 rather than 0 and 1. That’s why there are 8 ways to choose two drinks over three days: 8 = 2^3. Next, note that you use the same number of 1s to count the choices as the number of 2s. There are twelve 1s and twelve 2s, because each number has a mirror: 111 has 222, 112 has 221, 121 has 212, and so on.

Now try the number of ways to choose from three kinds of drink (tea, coffee, orange juice) over two days:


11, 12, 13, 21, 22, 23, 31, 32, 33 (c=9)

There are 9 ways to choose, because 9 = 3^2. And each digit, 1, 2, 3, is used exactly six times when you write the choices. Now try the number of ways to choose from three kinds of drink over three days:


111, 112, 113, 121, 122, 123, 131, 132, 133, 211, 212, 213, 221, 222, 223, 231, 232, 233, 311, 312, 313, 321, 322, 323, 331, 332, 333 (c=27)

There are 27 ways and (by coincidence) each digit is used 27 times to write the choices. Now try three drinks over four days:


1111, 1112, 1113, 1121, 1122, 1123, 1131, 1132, 1133, 1211, 1212, 1213, 1221, 1222, 1223, 1231, 1232, 1233, 1311, 1312, 1313, 1321, 1322, 1323, 1331, 1332, 1333, 2111, 2112, 2113, 2121, 2122, 2123, 2131, 2132, 2133, 2211, 2212, 2213, 2221, 2222, 2223, 2231, 2232, 2233, 2311, 2312, 2313, 2321, 2322, 2323, 2331, 2332, 2333, 3111, 3112, 3113, 3121, 3122, 3123, 3131, 3132, 3133, 3211, 3212, 3213, 3221, 3222, 3223, 3231, 3232, 3233, 3311, 3312, 3313, 3321, 3322, 3323, 3331, 3332, 3333 (c=81)

There are 81 ways to choose and each digit is used 108 times. But the numbers don’t have represent choices of drink in a café. How many ways can a point inside an equilateral triangle jump four times half-way towards the vertices of the triangle? It’s the same as the way to choose from three drinks over four days. And because the point jumps toward each vertex in a symmetrical way the same number of times, you get a nice even pattern, like this:

vertices = 3, jump = 1/2


Every time the point jumps half-way towards a particular vertex, its position is marked in a unique colour. The fractal, also known as a Sierpiński triangle, actually represents all possible choices for an indefinite number of jumps. Here’s the same rule applied to a square. There are four vertices, so the point is tracing all possible ways to choose four vertices for an indefinite number of jumps:

v = 4, jump = 1/2


As you can see, it’s not an obvious fractal. But what if the point jumps two-thirds of the way to its target vertex and an extra target is added at the centre of the square? This attractive fractal appears:

v = 4 + central target, jump = 2/3


If the central target is removed and an extra target is added on each side, this fractal appears:

v = 4 + 4 midpoints, jump = 2/3


That fractal is known as a Sierpiński carpet. Now up to the pentagon. This fractal of endlessly nested contingent pentagons is created by a point jumping 1/φ = 0·6180339887… of the distance towards the five vertices:

v = 5, jump = 1/φ


With a central target in the pentagon, this fractal appears:

v = 5 + central, jump = 1/φ


The central red pattern fits exactly inside the five that surround it:

v = 5 + central, jump = 1/φ (closeup)


v = 5 + c, jump = 1/φ (animated)


For a fractal of endlessly nested contingent hexagons, the jump is 2/3:

v = 6, jump = 2/3


With a central target, you get a filled variation of the hexagonal fractal:

v = 6 + c, jump = 2/3


And for a fractal of endlessly nested contingent octagons, the jump is 1/√2 = 0·7071067811… = √½:

v = 8, jump = 1/√2


Previously pre-posted:

Performativizing the Polygonic