Takes on Flakes

The Koch Snowflake is a fractal named after the Swedish mathematician Helge von Koch (1870-1924). It’s simple to make, attractive to see:

A Koch snowflake


And here’s how you making it, starting with an equilateral triangle:

Make the Flake #0


Make the Flake #1: Erect a 1/9-sized equilateral triangle on middle of each side


Make the Flake #2: Then a 1/81-sized equilateral triangle on the middle of each straight line created by #1


Make the Flake #3: And so on.


Make the Flake #4


Make the Flake #5


Make the Flake #6


Make the Flake #0-6 (animated at ezGif)


In the end, the Koch snowflake has an infinitely long perimeter around a finite area (see discussion at Wikipedia). The Koch anti-snowflake or un-flake also combines an infinitely long perimeter and finite area:

Koch un-Flake


You make the un-flake like this:

Make the Un-Flake #0


Make the Un-Flake #1


Make the Un-Flake #2


Make the Un-Flake #3


Make the Un-Flake #4


Make the Un-Flake #5


Make the Un-Flake #6


Make the Un-Flake #0-6 (animated at ezGif)


And you can combine the Koch snowflake and the Koch anti-snowflake like this:

Make the Flake+Un-Flake #0


Make the Flake+Un-Flake #1


Make the Flake+Un-Flake #2


Make the Flake+Un-Flake #3


Make the Flake+Un-Flake #4


Make the Flake+Un-Flake #5


Make the Flake+Un-Flake #6


Make the Flake+Un-Flake #0-6 (animated at ezGif)


Here’s another variation, what you might call the Koch-Cross flake:

Koch-Cross Flake #0


Koch-Cross Flake #1


Koch-Cross Flake #2


Koch-Cross Flake #3


Koch-Cross Flake #4


Koch-Cross Flake #5


Koch-Cross Flake #6


Koch-Cross Flake #0-6 (animated at ezGif)


And the Koch-Cross un-flake:

Koch-Cross un-Flake


And combined Koch-Cross Flake+un-Flake:

Combined Koch-Cross Flake+un-Flake


Here’s an animation of the combined Koch-Cross Flake+un-Flake:

Combined Koch-Cross Flake+un-Flake (animated at ezGif)


And the combined Koch-Cross Flake+un-Flake created on the sides of a square:

Combined Koch-Cross Flake+un-Flake on square


And a final variant of the infinitely many on offer:

Variant Koch snowflake stage #1


Variant Koch snowflake stage #6


Un-Flake of variant Koch snowflake


Combined variant Koch Flake+un-Flake


Fungible Fractals

Thinking it over, I’ve decided that trircle is a much better name than ciangle:

A Sierpiński triangle

↓

A Sierpiński trircle, or triangle converted into a circle


A trircle is a triangle converted into a circle; a ciangle is a circle converted into a triangle. Or another regular polygon. The trircle reminded me that circularized fractals are fungible, because the Sierpiński triangle can be converted into another regular polygon like a square or pentagon or hexagon. You can go viâ the trircle, but you don’t have to. The point is that the Sierpiński triangle has a center and points lying at some distance and some angle 0° through 360°, so you can easily adjust the points to fit inside any other regular polygon:

A Sierpiński triangle again

↓

A Sierpiński trare, or triangle converted into square

↓

A Sierpiński trentagon

↓

A Sierpiński trexagon

↓

A Sierpiński treptagon

↓

A Sierpiński troctogon


Here’s an animation of the conversions:

Sierpiński triangle → square, pentagon, hexagon, heptagon, octagon (animated at ezGif)


A Sierpiński carpet, with points lying at 0° through 360° inside a square, is similarly fungible:

A Sierpiński carpet

↓

A Sierpiński carpet converted into a circle

↓

A Sierpiński carpet converted into a triangle

↓

A Sierpiński carpet again

↓

A Sierpiński carpet converted into a pentagon

↓

↓

↓


And an animation of the carpet conversions:

Sierpiński carpet → triangle, pentagon, hexagon, heptagon, octagon (animated at ezGif)


Finally, and fungibly, the fractal that I call the centered Sierpiński triangle:

A centered Sierpiński triangle

↓

A centered Sierpiński trircle, or triangle converted into a circle

↓

↓

↓

↓

↓


And the final animation:

Centered Sierpiński triangle → square, pentagon, hexagon, heptagon, octagon (animated at ezGif)


Flowly We Rote

As the old mathematical joke goes: A topologist is someone who can’t tell the difference between a coffee-cup and a donut. That’s because topology is, crudely speaking, the branch of geometry that studies shapes when the distance and angle between one part and another doesn’t matter. For example, how can (or can’t) shapes flow smoothly into each other, without being cut or torn or pierced? The shape of a perfectly plastic substance can flow smoothly from that of a coffee-cup into that of a donut. And vice versa:

Topologically speaking, a coffee-cup is the same as a donut (Wikipedia)


That’s topology in three dimensions. I came across some unexpected topology in two dimensions when I was looking at transformations of a triangle — the Sierpiński triangle, a fractal named after the Polish mathematician Wacław Sierpiński (1882-1969):

Sierpiński triangle


I wondered what happened when you rotate the points inside a Sierpiński triangle while the triangular boundary remains fixed. That is, each point stays at the same position in the width between the center and the boundary as the whole interior flows around the center of the triangle:

Points inside a Sierpiński triangle rotated by 1°


Points inside a Sierpiński triangle rotated by 2°


Points inside a Sierpiński triangle rotated by 3°


Points rotated by 4°


Points rotated by 5°


Points rotated by 10°


Points rotated by 20°


Points rotated by 30°


Points rotated by 40°


Points rotated by 50°


Points rotated by 60°


Points rotated by 70°


Points rotated by 80°


Points rotated by 90°


WARNING! If you’re sensitive to flickering images, please note that there are flickering animated gifs below


Here’s the flowing rotation from 0° to 90° animated in a gif:

Interior points of Sierpiński triangle flowing 0° → 90° around center (animated at ezGif)


And here’s the whole rotating flow from 0° to 120° (which maps the points back onto themselves):

Interior points of Sierpiński triangle flowing continuously around center (slow animation)


Interior points flowing continuously around the center (faster animation)


As you can see, the appearance of the Sierpiński triangle changes notably as the points rotate: the rotations aren’t rotationally symmetrical (in the standard sense). Sometimes a rotation looks like a stumpy triskelion, a three-legged shape like the flag of the Isle of Man:

Triskelion on the Manx flag (Wikipedia)


Interior points of a Sierpiński triangle rotated by 30°


But topologically speaking, each rotated triangle is the same (just as, topologically speaking, a coffee-cup is the same as a donut). You can see how they’re topologically the same by imagining that the triangle is stretched into a circle, like this:

Sierpiński triangle

↓

Sierpiński triangle stretched into circle


When you circularize the rotated triangles, all the circularized triangles are rotationally symmetrical:

Points rotated by 30°

↓

Circle from triangle rotated by 30°


Points rotated by 60°

↓

Circle from triangle rotated by 60°


Points rotated by 90°

↓

Circle from triangle rotated by 90°


Here are two animated gifs of the circularized triangles rotating:

Circularized Sierpiński triangle flowing around center (slow animation at ezGif)


Circularized Sierpiński triangle flowing around center (faster animation)


Here’s what I call the centered Sierpiński triangle turned into a circle:

Centered Sierpiński triangle


↓

Circle from centered Sierpiński triangle


And finally, the circularized centered Sierpiński triangle flowly rotating at two speeds:

Circularized centered Sierpiński triangle flowing around center (slow animation at ezGif)


Circularized centered Sierpiński triangle flowing around center (faster animation)


Perverting the Pircle

Here again is the famous Sierpiński triangle, a fractal named after the Polish mathematician Wacław Sierpiński (1882-1969):

A Sierpiński triangle


And here’s a Sierpiński ciangle — my name for a Sierpiński triangle stretched into a circle:

A Sierpiński ciangle or Sierpiński pircle


More generally, you could call that shape a pircle, a polygon turned into a circle. But you can also squeeze the Sierpiński triangle and turn it into this shape:

A Sierpiński squircle


You could call that a squircle, a squeezed circle. You use the same trigonometry to create both the Sierpiński ciangle and the squeezed Sierpiński triangle. Here’s an animated gif showing the Sierpiński triangle cycling between polygon, pircle and squircle:

Sierpiński triangle, pircle and squircle (animated at EZgif)


Now for the Sierpiński carpet, the square analogue of the Sierpiński triangle (you can create it with a point jumping 2/3rds of the way towards the vertices and midpoints of a square, as marked with green dots):

A Sierpiński carpet


And here’s the carpet as a pircle:

Pircle from Sierpiński carpet


Like the Sierpiński triangle, you can both pircularize and squeeze the Sierpiński carpet. Here’s the cycle as an animated gif:

Sierpiński carpet ⇔ pircle and squircle (animated at EZgif)


But you can also pervert the pircle, as it were (in Latin, pervertere means “to thoroughly alter”). For example, what if you flip the radius used in pircularizing the Sierpiński carpet, so that points on the perimeter of the pircle move to the center, and points at the center move to the perimeter? One variant of that perverted pircle looks like this:

Perverted pircle from Sierpiński carpet


Here are some more polygonal fractals turned into pircular fractals:

Fractal from point jumping 1/2 way to vertices of square (but not same vertex twice in a row)

↓

Pircle from square fractal


If you double each point’s distance from the centre, then fold any resulting distance beyond the circle’s radius back inside by halving it, you get this perverted pircle:

Perverted pircle from square fractal


Here’s another polygonal fractal, the T-square fractal:

T-square fractal from point jumping 1/2 way to vertices of square (but not towards vertex directly opposite vertex just jumped towards)

↓

Pircle from T-square fractal


Again, you can pervert the pircle:

Perverted pircle #1 from T-square fractal


Perverted pircle #2 from T-square fractal


Perverted pircle #3 from T-square fractal


Perverted pircles from T-square fractal (animated at EZgif)


Finally, another polygonal fractal turned into a pircle and perverted pircle:

Another square fractal


Pircle from square fractal


Perverted pircle from square fractal


Hopping in Boundland

Shopping in Poundland. That’s what Brits do when they want cheap fills. Hopping in Boundland. That’s what rec-mathers do when they want deep thrills. As I’ve described previously, a point can create interesting geometry by jumping towards fixed vertices inside a polygon. But it can also create interesting geometry by jumping at fixed angles inside a polygon. Suppose a point jumps at 0°, 120° or 240° halfway towards the perimeter of a triangle. It’s bounded in its jumps, so you could say it’s hopping in Boundland. Or bounding in Hopland. Either way, it creates this pattern inside the polygon:

Jumping halfway towards perimeter of triangle at 0°, 120° or 240°


If you stretch the triangle-and-pattern into a circle, you get this (the graphics aren’t as good as they could be, but I’m working on it):

Triangle → circle, 1/2 at 0°, 120° or 240°


You can also introduce restrictions, like banning the point from jumping at the same angle twice in a row:

Ban on same angle twice in a row, 1/2 jump at 0°, 120° or 240°


Triangle → circle, ban j+0, 1/2 jump at 0°, 120° or 240°


If the jump is 2/3rds of the distance to the perimeter and the ban is on the same angle twice, the point generates this pattern by hopping in Boundland:

Triangle, 2/3 jump, ban j+0, 0°, 120° or 240°


Triangle → circle, 2/3 jump, ban j+0, 0°, 120° or 240°


Now try adjusting the angles. Swinging the angles 60° with the same 2/3rd jump and same ban, the point generates this:

Triangle, 2/3 jump, ban j+0, 60°, 180° or 300°


Triangle → circle, 2/3 jump, ban j+0, 60°, 180° or 300°


A point jumping 2/3rds at four angles inside a square generates this pattern:

Square, 2/3 jump, ban j+0, 45°, 135°, 225, 315°


Square → circle, 2/3 jump, ban j+0, 45°, 135°, 225, 315°


And what if the point jumps 5/7ths towards the center of the polygon, not just towards the perimeter? Then it generates this pattern inside a hexagon with a ban on jumping towards the angle adjacent clockwise to the angle it’s just jumped at:

Hexagon, 5/7 jump, ban j+1, 6 angles + center


The point can also jump inside a circle rather than a polygon. Here’s the pattern generating by a point jumping 2/3rds at three angles with a ban on the same jump twice in a row:

Circle, 2/3 jump, ban j+0, 3 angles


And if the point can jump towards the center of the circle too, it generates this pattern:

Circle, 2/3 jump, ban j+0, 3 angles + center


Elsewhere Other-Accessible

• Controlled Chaos — a look at points jumping towards vertices, not perimeters

Angular Trerkel

Here’s the famous Sierpiński triangle, a fractal named after the Polish mathematician Wacław Sierpiński (1882-1969):

A Sierpiński triangle


You can create it by following all the possible paths of a point jumping half-way towards the vertices of the triangle. But what if the point can jump towards the center of the triangle too? Then you get another fractal, one that looks like this:

Sierpiński triangle when point can jump towards center of triangle too


Now, as a keyly committed core component of the trans-entitial community, I wondered whether triangles and triangular fractals might identify as other geometrical shapes…

I mean, what’s to stop a triangle identifying as a circle? Nothing. And obvs, if one of the Sierpiński triangles above identifies as a circle, it is a circle — trans-circles are circles (get over it). That is, there’s no need for Sierpiński surgery.

But what if a trans-circular Sierpiński triangle wanted to affirm its circularity with surgery? What would it look like then? Well, you can use elementary trig based on the angles of points within the triangle to stretch it into what might be called a trircle, i.e. a trans-circular triangle that has affirmed its inner circular identity:

A pre-op trans-circular Sierpiński triangle

🡇

A post-op trans-circular Sierpiński triangle or Sierpiński trircle


Sierpiński triangle → Sierpiński trircle (animated at EZgif)


On the other hand, the trircle might be a pre-op trans-triangular circle that has NOT affirmed its inner triangular identity with surgery. It’s complicated. But if we suppose it’s a post-op trans-circle rather than a pre-op trans-triangle, we could nickname it an Angular Trerkel, punning on the name of the great German Bundeskanzlerin Angela Merkel. Here’s the same Sierpiński surgery on the centered Sierpiński triangle (the second fractal looked at above):

A pre-op trans-circular centered Sierpiński triangle

🡇

A post-op trans-circular centered Sierpiński triangle or centered Sierpiński trircle


Centered Sierpiński triangle → centered Sierpiński trircle (animated at EZgif)


Again, the post-op trans-circular centered Sierpiński triangle might in fact be a pre-op trans-triangular centered Sierpiński circle. When it comes to the trans-entitial community, always remember: In dubio, interrogāte entitatem! — “In case of doubt, ask the entity!”

A Little Hextra


• 1, 2, 4, 8, 16, 31, 57, 99, 163, 256, 386, 562, 794, 1093, 1471, 1941, 2517, 3214, 4048, 5036, 6196, 7547, 9109, 10903, 12951, 15276, 17902, 20854, 24158, 27841, 31931, 36457, 41449, 46938, 52956, 59536, 66712, 74519, 82993, 92171, 102091, 112792, 124314, 136698 — A000127, “Maximal number of regions obtained by joining n points around a circle by straight lines”, at The Online Encyclopedia of Integer Sequences

Think Frink

Inky Bloaters (1987) is the name of an album by psycho-songstress Danielle Dax. Frinky growthers are those who are interested in frincremental growth. That’s growth by fractions, as in the equation x = x + 1/x. If the initial x = 1, its frincremental growth looks like this:

1
1 + 1/1 = 1 + 1 = 2
2 + 1/2 = 2_1/2
2_1/2 + 1/2_1/2 = 2_9/10
2_9/10 + 1/2_9/10 = 3_71/290
3_71/290 + 1/3_71/290 = 3_150911/272890
3_150911/272890 → 3_220789390391/264588959090 → 4_25570190327910692085061/268440386798659418988490 → 4_100170363026578204006507990129853967021051645381/295105036840595214385430531020664149472669868290

As you can see, the numerators and denominators of the fractional part of x get very large very quickly. So you can’t track the frincremental growth of x with perfect accuracy. Even the most compendious computer will run out of space. But representing x as a decimal is usually enough for us frinky growthers:

1 + 1 = 2
2 + 1/2 = 2 + 0.5 = 2.5
2.5 + 1/2.5 = 2.9
3.244827586206896551724137931…
3.553010370478947561288431236…
3.834461842815967366750790750…
4.095254632258778985771918456…
4.339439692724345181049239663…
4.569884190357676650018985962…
4.788708116379690742064597208…
4.997532704493448986664559639…
5.197631445038131469095668466…
5.390026771750770995914851381…
5.575554607204394029915651664…
5.754908962142979073283550015…
5.928673657045750549124213874…
6.097345447373015508408978797…
6.261351244425377152997703626…
6.421061179383957004641284553…
6.576798676981813718180627345…

The larger x gets, the slower it grows. But it never stops growing and will pass any finite integer in finite time. I was interested in the fractional part of x += 1/x (a shorthand for x = x + 1/x). Plainly, it’s almost unique for every integer seed (the fractional part is identical, just displaced by one step, for initial x = 1 = 2). I graphed the fractional part of x += 1/x for 1, 2, 3, 4, 5… and discovered some interesting patterns:

frac(x) of x += 1/x for x = 1, 2, 3, 4, 5…


Later frac(x) of x += 1/x





In time, the rounded patterns disappear for lower initial x. But you also get symmetrical patterns for x += sqrt(x), that is, x = x + square_root(x). And they last longer:

frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #1


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #2


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #3


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #4


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #5


Here’s an animation of the first fifty steps of x += sqrt(x):

animated frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… (animated at EZgif) (click for larger image)


And what about x += ln(x), or x = x + natural_logarithm(x)? The patterns are both more dynamic and longer-lasting for lower initial x:

frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #1


frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #2


frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #3


frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #4


And two animations of x += ln(x), one slower, one faster:

animated frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… (EZgif) (click for larger)


faster animated frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… (click for larger)


Size Scatters

While I play New Order, let’s view order. Below are some rational fractions ordered by increasing size of denominator (the lower part of the fraction, e.g. the 7 in 3/7) and numerator (the upper part of the fraction, e.g. the 5 in 5/9). Note the positions of 1/2 and 1/7:

1/2, 1/3, 2/3, 1/4, 3/4, 1/5, 2/5, 3/5, 4/5, 1/6, 5/6, 1/7, 2/7, 3/7, 4/7, 5/7, 6/7, 1/8, 3/8, 5/8, 7/8, 1/9, 2/9, 4/9, 5/9, 7/9, 8/9, 1/10, 3/10, 7/10, 9/10

Now let’s plot fractions ordered like that on a fract-L, a graph whose axes represent numbers < 1. If both x and y = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5…, you get a line at 45°:

fract-L for x = 1/2, 1/3, 2/3…, y = 1/2, 1/3, 2/3…


If the fractions went to infinity, you’d get a solid line. As it is, you get some interesting splits in the 45° line. And when you plot the fractions like that, it’s easy to see that each point, (x,y), has a unique x and a unique y. But there are other ways to order the rational fractions. Try the same set ordered by the size of the decimal, not the denominator and numerator. In the previous set, 1/2 came before 1/7. Now 1/2 comes after 1/7, because 0.5 = 1/2 > 0.142857… = 1/7:

1/10, 1/9, 1/8, 1/7, 1/6, 1/5, 2/9, 1/4, 2/7, 3/10, 1/3, 3/8, 2/5, 3/7, 4/9, 1/2, 5/9, 4/7, 3/5, 5/8, 2/3, 7/10, 5/7, 3/4, 7/9, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10

Now let’s plot x as the first set of fractions, ordered by size of denominator-and-numerator, and y as the second set of fractions, ordered by the size of the decimal. You’ll see that this kind of size scatters:

fract-L for x = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5…, y = 1/10, 1/9, 1/8, 1/7, 1/6, 1/5, 2/9…


Now the points aren’t compressed into a 1-d line, but beginning to spread in 2-d space. The more fractions you use, the more the points spread. They remind me of papillae on a fractal tongue:

x = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5… < 1/26, y = sizesort(1/2..1/26)


Papillae on a human tongue (image courtesy chatGPT)


x = denumsort(1/2..1/51), y = sizesort(1/2..1/51)


x = denumsort(1/2..101/), y = sizesort(1/2..1/101)


And the points seem to be occurring at the same x or y value. But that’s an artefact of a screen with limited pixels. On an impossible screen with infinite pixels, each (x,y) still has a unique x and unique y. Here are more fract-Ls with more fractions:

x = denumsort(1/2..1/151), y = sizesort(1/2..1/151)


x = denumsort(1/2..1/201), y = sizesort(1/2..1/201)


x = denumsort(1/2..1/251), y = sizesort(1/2..1/251)


finer detail for x = denumsort(1/2..1/251), y = sizesort(1/2..1/251)


x = denumsort(1/2..37/406), y = sizesort(1/2..37/406)


x = denumsort(1/2..1/501), y = sizesort(1/2..1/501)


Finally, to the closing bars of New Order, let’s view order in an animated gif:

x = denumsort(a/b), y = sizesort(a/b) (animated at EZgif)


Post-Performative Post-Scriptum…

In fact, I wasn’t listening to New Order to view order. I’m not a fan of New Order, just a fan of assonance.

Middlemoth

I’ve never read Middlemarch (1871). But I have seen a middlemoth. It was when I was looking at a new way of creating fractLs. A fractL is what I call a graph shaped like a capital L, with the x- and y-axes representing values between 0 and 1, like 1/2 and 1/3 and 8/55. You can also use numbers > 1 to create numbers < 1: 73 → 0.73; 128719 → 0.128719; and so on. But I decided to reverse the integer before converting it: 73 → 0.37; 128719 → 0.917821; and so on. And use different bases for the x- and y-axes. So that’s what I did on a fractL: I mapped fractions converted from integers in one base against fractions converted from integers in another base. The results, as you can see, were spectacularly dull:

fractL for int→frac in base 2 and base 6


fractL for int→frac in base 3 and base 6


fractL b04, b06


fractL b06, b08


So I decided to try some perspectivision, mapping the integer-fractions not on a fractL but on a fractO instead. A fractO is a circle where you find a point inside the circle by using two fractions, fr1 and fr2, to create two radian values: θ1 = fr1 * 2 * π and θ2 = fr2 * 2 * π. Then you use θ1 and θ2 to find two points on the perimeter of the circle, (x1, y1) and (x2, y2), and then find their midpoint, (x3, y3) = ((x1, y1) + (x2, y2)) / 2. The results this time are much more pleasing on the eye:

fractO for integers in base 2 and base 6

↑

fractL b02, b06, for fractO b02, b06


Here’s an animated gif showing the conversion from visually dull fractL to visually interesting fractO:

fractL b02b06 to fractO b02b06 (animated at EZgif)


When I was looking at more fractOs, I found one that was lepidopterally interesting too:

fractO b09, b12 with middlemoth


fractO b09, b12 (middlemoth in green)


You can try spotting more pareidolia in more fractOs from reversed fractintegers:

fractO b03, b15

↑

fractL b03, b15 for fractO above


fractL b03b15 to fractO b03b15 (animated at EZgif)


fractO b02, b10


fractO b02, b12


fractO b02, b14


fractO b03, b06


fractO b03, b12


fractO b03, b21


fractO b04, b06


fractO b04, b20


fractO b06, b08


fractO b09, b15


fractO b10, b24


fractO b12, b16


fractO b15, b20


fractO b24, b28


fractO b42, b78


fractO b02, b18 (fr2 x 3)


fractO b02, b06 (fr2 x 3)