Thrice is Slice as Twice

What happens when you divide the space between 0 and 1 into finer and finer slices using the fractions 1/2, 1/3, 2/3, 1/4, 3/4, 1/5, 2/5, 3/5…? Some interesting things. In the images below, the white line on the left with a white dot below it represents 0 and the white line on the right with a white dot below it represents 1. The single line in the middle of the first image represents 1/2 between 0 and 1, then the lines in the second image represent 1/4, 1/3, 1/2, 2/3, 3/4 between 0 and 1. And so on:

1/2 between 0 and 1 (click for larger)


1/4, 1/3, 1/2, 2/3, 3/4 between 0 and 1


a/b <= 7/8 between 0 and 1


a/b <= 15/16 between 0 and 1


a/b <= 31/32 between 0 and 1


a/b <= 63/64 between 0 and 1


a/b <= 127/128 between 0 and 1


a/b <= 255/256 between 0 and 1


Animation of a/b <= 255/256 between 0 and 1 (created at ezGif)


The lines are dividing space into finer and finer slices, but the lines aren’t distributed evenly. Some gaps close quickly, some slowly. Here’s some color for the slicing (when the colored circles below the lines are solid, they mark a/b <= 7/8; when they're hollow, they represent 1/9 <= a/b <= 11/12). The lines are now adjusted in height to the fraction a/b they represent, so they create a wedge rising from left to right:

1/2 between 0 and 1


a/b <= 1/3 between 0 and 1


a/b <= 2/3 between 0 and 1


a/b <= 1/4 between 0 and 1


a/b <= 3/4 between 0 and 1


a/b <= 4/5 between 0 and 1


a/b <= 5/6 between 0 and 1


a/b <= 6/7 between 0 and 1

[…]

↓

[…]

a/b <= 11/12 between 0 and 1


a/b <= 19/20 between 0 and 1


a/b <= 29/30 between 0 and 1


a/b <= 39/40 between 0 and 1


a/b <= 49/50 between 0 and 1


a/b <= 99/100 between 0 and 1


Animation of a/b <= 99/100 between 0 and 1 (created at ezGif)


Here’s how the colored lines representing a/b <= 11/12 get swamped as b gets larger and larger:

a/b <= 11/12 between 0 and 1


a/b <= 15/16 between 0 and 1


a/b <= 31/32 between 0 and 1


a/b <= 63/64 between 0 and 1


a/b <= 127/128 between 0 and 1


a/b <= 199/200 between 0 and 1


a/b <= 255/256 between 0 and 1


Animation of a/b <= 255/256 between 0 and 1 (created at ezGif)


Post-Performative Post-Scriptum

In fact, thrice isn’t slice as twice, because the line marking the slice of 1/2 gets swamped after the lines marking 1/3 and 2/3, which get swamped after 1/4 and 3/4, and so on.

I Hike Gryke

Here are the simplified fractions in order of increasing denominator and numerator:

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, 1/11, 2/11, 3/11, 4/11, 5/11, 6/11, 7/11, 8/11, 9/11, 10/11, 1/12, 5/12, 7/12, 11/12, 1/13, 2/13, 3/13, 4/13, 5/13, 6/13, 7/13, 8/13, 9/13, 10/13, 11/13, 12/13, …

You get 1/4 and 5/12, but no 2/4 or 3/12 and so on, because the fractions are simplified and 2/4 = 1/2 and 3/12 = 1/4. Now suppose you map those simplified fractions on a graph of x = y = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5, … The graph is obviously just a straight line at 45°:

Graph of x = y = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5, …


But suppose you adjust some of the simplified fractions for y, so that the list looks like this (adjusted fractions appear in red):

1/2, 1/3, 2/3 → 1/3, 1/4, 3/4 → 1/4, 1/5, 2/5, 3/5 → 2/5, 4/5 → 1/5, 1/6, 5/6 → 1/6, 1/7, 2/7 → 3/7, 3/7 → 2/7, 4/7 → 2/7, 5/7 → 3/7, 6/7 → 1/7, 1/8, 3/8, 5/8 → 3/8, 7/8 → 1/8, 1/9, 2/9 → 4/9, 4/9 → 2/9, 5/9 → 2/9, 7/9 → 4/9, 8/9 → 1/9, 1/10, 3/10, 7/10 → 3/10, 9/10 → 1/10, 1/11, 2/11 → 5/11, 3/11 → 4/11, 4/11 → 3/11, 5/11 → 2/11, 6/11 → 2/11, 7/11 → 3/11, 8/11 → 4/11, 9/11 → 5/11, 10/11 → 1/11, 1/12, 5/12, 7/12 → 5/12, 11/12 → 1/12, 1/13, 2/13 → 6/13, 3/13 → 4/13, 4/13 → 3/13, …

What does the graph for straight x and adjusted y look like? Much more interesting:

Graph of x = 1/2, 1/3, 2/3, …, y = contfrac_rev(1/2), contfrac_rev(1/3), contfrac_rev(2/3), …


That graph is what you could call a fractional fractal, because it uses fraction to create a fractal where parts resemble the whole and parts of the parts resemble the whole, down and down for ever (as I’ll show). I call it a limestone fractal or gryke fractal, because it looks like the fissured limestone pavements in the Yorkshire Dales, where the fissures are called grykes:

Fissured limestone pavement, Yorkshire Dales (Wikipedia)


A closer look at a limestone pavement (Dales Rocks)


As you plot the fractions for x and adjust the fractions for y, the gryke graph grows like this:

The gryke graph grows (animated at ezGif)


But how were the fractions for y adjusted to create the gryke fractal? With a very simple function called contfrac_rev(a/b). The function takes what’s called the continued fraction of a/b, then reverses it to derive a new fraction (sometimes it’s new, at least). For example, here’s the continued fraction of 13/17 and how you use the continued fraction to reconstruct 13/17:

continued_fraction(13/17) = [1,3,4] = cf(13/17)

fr = 0
1/4 = 1/(fr + 4) = 1/(0 + 4)
4/13 = 1/(fr + 3) = 1/(1/4 + 3)
13/17 = 1/(fr + 1) = 1/(4/13 + 1)

13/17 = 0.764705882352941176470588…

The continued fraction, [1,3,4], is read from right to left when the original fraction is being reconstructed. So reversing the continued fraction means reading it from left to right, like this:

fr = 0
1 = 1/(fr + 1) = 1/(0 + 1)
1/4 = 1/(fr + 3) = 1/(1 + 3)
4/17 = 1/(fr + 4) = 1/(1/4 + 4)

4/17 = 0.235294117647058823529411…

(Technical note: The reversed fraction of cf_rev(a/b) is always < 1/2, except for cf_rev(1/2) = 1/2. That's why the gryke graph above actually represents 0 to 1 on the x-axis and 0 to 0.5 on the y-axis.)

Now let's look at how the fractal in the graph can be magnified for ever and always yield new versions of the original graph. You can call it hiking the gryke, because you hike or increase the resolution of the graph to reveal the finer details. The first step is to mark the gryke site to be hiked. Here's the full graph, with a green square showing the section to be hiked or magnified or zoomed:

Gryke to hike

↓

Gryke hiked


You can combine the zoom-to-be and the zoomed section in a single image, where the full fractal is on the left and the zoomed section on the right:

Gryke-to-hike and Gryke-hiked (click for larger)


Here are more hikes of the gryke, or zooms of the full fractal:

Zoom #2


Zoom #3


Zoom #4


Zoom #5


Zoom #5+1


Zoom #5+2


Zoom #6


And here’s an animated gryke-hike or zoom into a single section of the fractal:

Hiking the Gryke (animated at ezGif)


Previously Pre-Posted…

• I Like Gryke — a first look at the gryke fractal
• Worms in Terms of Perms — permutating the gryke fractal

When Pyramids Decay

What’s the point of writing 2/10? It’s equal to 1/5, just as 4/10 = 2/5, 6/10 = 3/5 and 8/10 = 4/5. But there are times when the full-fat form can be mathematically — and æsthetically — appropriate. For example, you get a nice series of triangular waves — and an optical illusion — when you use all the rational fractions to create a graph representing the size of the fraction, a/b, as 0 < a/b < 1. If the even denominators are in white and the odd denominators in red, the graph looks like this:

Graph of 1/2, 1/3, 2/3, 1/4, 2/4, 3/4, 1/5, 2/5, …
(click for larger)


The optical illusion is that the lines of waves appear to sink from left to right. Otherwise the graph has no complexity. But suppose you take the continued fraction of a/b, reverse it, and calculate a new fraction from the reversal. If you use the fractions in simplest form, you get this graph:

Graph of a2/b2 = reversed(contfrac(a1/b1)) for 1/2, 1/3, 2/3, 1/4, 3/4, …


But if you use all the rational fractions, simplified and unsimplified, you get a graph with pyramids and ships, like this:

Graph of a2/b2 = reversed(contfrac(a1/b1)) for 1/2, 1/3, 2/3, 1/4, 2/4, 3/4, …


The full pyramids are few, alas. But the other ones decay in interesting ways.

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


Back in Frac

Here’s a graph representing the fractional parts of √n for n = 1 to 1832, with frac(√1) at the top left and frac(√1832) at the bottom right:

graph for frac(√n), n = 1..1832


There’s an odd optical illusion making it seem as though each set of triangular waves ends lower on the right than it starts on the left. Otherwise, it’s a dull graph, because the fractional part of √n simply rises towards 0.9999…, then falls to 0 like this:

0 = frac(1) = frac(√1)
0.414213562373… = frac(1.414213562373…) = frac(√2)
0.732050807568… = frac(1.732050807568…) = frac(√3)
0 = frac(2) = frac(√4)
0.236067977499… = frac(2.236067977499…) = frac(√5)
0.449489742783… = frac(2.449489742783…) = frac(√6)
0.645751311064… = frac(2.645751311064…) = frac(√7)
0.828427124746… = frac(2.828427124746…) = frac(√8)
0 = frac(3) = frac(√9)
0.162277660168… = frac(3.162277660168…) = frac(√10)
0.316624790355… = frac(3.316624790355…) = frac(√11)
0.464101615137… = frac(3.464101615137…) = frac(√12)
0.605551275463… = frac(3.605551275463…) = frac(√13)
0.741657386773… = frac(3.741657386773…) = frac(√14)
0.872983346207… = frac(3.872983346207…) = frac(√15)
0 = frac(4) = frac(√16)
0.123105625617… = frac(4.123105625617…) = frac(√17)
0.242640687119… = frac(4.242640687119…) = frac(√18)
0.358898943540… = frac(4.358898943540…) = frac(√19)
0.472135954999… = frac(4.472135954999…) = frac(√20)

But what about the fractional parts of the sum of √n? What does that graph look like? Much more interesting:

frac(sum(√n)), n = 1..1832


Here are the fractional parts for the sum of √n:

0 = frac(1) = frac(sum(√1))
0.414213562373… = frac(02.414213562373…) = frac(sum(√1..√2))
0.146264369941… = frac(04.146264369941…) = frac(sum(√1..√3))
0.146264369941… = frac(06.146264369941…) = frac(sum(√1..√4))
0.382332347441… = frac(08.382332347441…) = frac(sum(√1..√5))
0.831822090224… = frac(10.831822090224…) = frac(sum(√1..√6))
0.477573401289… = frac(13.477573401289…) = frac(sum(√1..√7))
0.306000526035… = frac(16.306000526035…) = frac(sum(√1..√8))
0.306000526035… = frac(19.306000526035…) = frac(sum(√1..√9))
0.468278186204… = frac(22.468278186204…) = frac(sum(√1..√10))
0.784902976559… = frac(25.784902976559…) = frac(sum(√1..√11))
0.249004591697… = frac(29.249004591697…) = frac(sum(√1..√12))
0.854555867161… = frac(32.854555867161…) = frac(sum(√1..√13))
0.596213253935… = frac(36.596213253935…) = frac(sum(√1..√14))
0.469196600142… = frac(40.469196600142…) = frac(sum(√1..√15))
0.469196600142… = frac(44.469196600142…) = frac(sum(√1..√16))
0.592302225760… = frac(48.592302225760…) = frac(sum(√1..√17))
0.834942912879… = frac(52.834942912879…) = frac(sum(√1..√18))
0.193841856420… = frac(57.193841856420…) = frac(sum(√1..√19))
0.665977811419… = frac(61.665977811419…) = frac(sum(√1..√20))

As with square roots, so with cube roots. The graph of frac(∛n) looks like this:

frac(∛n), n = 1..1832


It’s dull again, because the fractional part of ∛n is simply rising towards 0.9999…, then falling to 0. Just more slowly. But the graph of frac(sum(∛n)) looks like this:

frac(sum(∛n))


But roots don’t end with √n and ∛n, of course. Those roots represent n^(1/2) and n^(1/3), respectively, because when x = n^(a/b), n = x^(b/a). What about the graph of sum(n^(4/5)), where n = (n^4/5)^(5/4)? The graph looks like this:

frac(sum(n^(4/5)))


One of the curves in that graph reminds of the cephalopodic tentacles in Jean Delville’s marvellous painting Les Trésors de Sathan (sic) (Treasures of Satan) (1895), which was used on the cover of Morbid Angel’s Blessed Are the Sick (1991). The curve is longer in frac(sum(n^(84/97))):

frac(sum(n^(84/97))) (curve in red)


Les Trésors de Sathan (1895) by Jean Delville as the cover of Blessed Are the Sick (1991)


frac(sum(n^(4/5))) (curve in red)


Those Delvillean curves are examples of how, as the a/b of n^(a/b) climbs from 1/b to (b-1)/b, the graph of frac(sum(n^(a/b))) changes in interesting ways. Here are the graphs for n^(1..10/11):

frac(sum(n^(1/11)))


frac(sum(n^(2/11)))


frac(sum(n^(3/11)))


frac(sum(n^(4/11)))


frac(sum(n^(5/11)))


frac(sum(n^(6/11)))


frac(sum(n^(7/11)))


frac(sum(n^(8/11)))


frac(sum(n^(9/11)))


frac(sum(n^(10/11)))


Here’s an animation of those graphs:

animation of frac(sum(n^(1/11..10/11))) (created at ezGif)


And here are graphs for n^(72/83) and n^(82/83), with a Delvillean curve in the graph of 72/83 and domes in the graph of 82/83:

frac(sum(n^(72/83)))


frac(sum(n^(82/83)))


As the denominators get bigger, so do the domes:

frac(sum(n^(1000/1009)))


frac(sum(n^(1001/1009)))


frac(sum(n^(1002/1009)))


frac(sum(n^(1003/1009)))


frac(sum(n^(1004/1009)))


frac(sum(n^(1005/1009)))


frac(sum(n^(1006/1009)))


frac(sum(n^(1007/1009)))


frac(sum(n^(1008/1009)))


Here’s an animation of those graphs:

animation of frac(sum(n^(1000/1009..1008/1009))) (created at ezGif)


Previously Pre-Posted…

• Think Frinc — an earlier look at fraction-patterns
• Altars of Mathness — and similar patterns from integer-digits


Elsewhere Other-Accessible…

• Jean Delville at Wikipedia
• Blessed Are the Sick at BandCamp

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


Tie-Phi, Cy-Phi

More and more slowly. That’s how this function increases:

x = x + 1/x

x = 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.5530103704…
3.5530103704… + 1/3.5530103704… = 3.8344618428…
3.8344618428… + 1/3.8344618428… = 4.0952546322…
4.0952546322… + 1/4.0952546322… = 4.33943969272…
4.3394396927… + 1/4.3394396927… = 4.56988419035…
4.5698841903… + 1/4.5698841903… = 4.78870811637…
4.7887081163… + 1/4.7887081163… = 4.99753270449…
4.9975327044… + 1/4.9975327044… = 5.19763144503…
[…]

But you can tie the function down, as it were, by changing it to this:

x = 1 + 1/x

x = 1
1 + 1/1 = 2
1 + 1/2 = 1_1/2 = 1.5
1 + 1/1_1/2 = 1_2/3 = 1.66666…
1 + 1/1_2/3 = 1_3/5 = 1.6
1 + 1/1_3/5 = 1_5/8 = 1.625
1 + 1/1_5/8 = 1_8/13 = 1.615384615384615384…
1 + 1/1_8/13 = 1_13/21 = 1.619047619047619047619047619…
1 + 1/1_13/21 = 1_21/34 = 1.617647058823529411764705882…
1 + 1/1_21/34 = 1_34/55 = 1.6181818…
1 + 1/1_34/55 = 1_55/89 = 1.617977528089887640449438202…
1 + 1/1_55/89 = 1_89/144 = 1.6180555…
1 + 1/1_89/144 = 1_144/233 = 1.618025751072961373390557940…
1 + 1/1_144/233 = 1_233/377 = 1.618037135278514588859416446…
1 + 1/1_233/377 = 1_377/610 = 1.618032786885245901639344262…
1 + 1/1_377/610 = 1_610/987 = 1.618034447821681864235055724…
1 + 1/1_610/987 = 1_987/1597 = 1.618033813400125234815278648…
1 + 1/1_987/1597 = 1_1597/2584 = 1.618034055727554179566563468…
1 + 1/1_1597/2584 = 1_2584/4181 = 1.618033963166706529538387946…
1 + 1/1_2584/4181 = 1_4181/6765 = 1.618033998521803399852180340…
1 + 1/1_4181/6765 = 1_6765/10946 = 1.618033985017357938973140873…
[…]

You could call the function “x = 1 + 1/x” a tie-phi, because it generates the golden ratio, a fascinating mathematical constant also known as phi or φ = 1.6180339887498948482… Note how the denominator (the lower part) of each fraction above becomes the numerator (the upper part) of the next fraction. The function is reproducing the Fibonacci sequence, which starts with “1, 1” and proceeds by adding the two previous numbers:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597…

Dividing each number by the previous number yields a better and better approximation of φ (but never reaches the exact value of φ, which is an irrational number, that is, it cannot be expressed as a ratio of two whole numbers). And what about the function x = 1 – 1/x? If you remember that subtracting a negative number is the same as adding a positive number, you can work it out like this:

x = 1 – 1/x

x = 2

1 – 1/2 = 1/2 = 0.5
1 – 1/1/2 = -1
1 – 1/-1 = 2
1 – 1/2 = 1/2 = 0.5
1 – 1/1/2 = -1
1 – 1/-1 = 2
1 – 1/2 = 1/2 = 0.5
1 – 1/1/2 = -1
1 – 1/-1 = 2
[…]

x = 3

1 – 1/3 = 2/3 = 0.66666…
1 – 1/2/3 = -1/2 = -0.5
1 – 1/-1/2 = 3
1 – 1/3 = 2/3 = 0.66666…
1 – 1/2/3 = -1/2 = -0.5
1 – 1/-1/2 = 3
1 – 1/3 = 2/3 = 0.66666…
1 – 1/2/3 = -1/2 = -0.5
1 – 1/-1/2 = 3 = 3
1 – 1/3 = 2/3 = 0.66666…
[…]

x = 73

1 – 1/73 = 72/73 = 0.98630136986301369863013…
1 – 1/72/73 = -1/72 = -0.01388888…
1 – 1/-1/72 = 73
1 – 1/73 = 72/73 = 0.98630136986301369863013…
1 – 1/72/73 = -1/72 = -0.01388888…
1 – 1/-1/72 = 73
1 – 1/73 = 72/73 = 0.98630136986301369863013…
1 – 1/72/73 = -1/72 = -0.01388888…
1 – 1/-1/72 = 73
[…]

The function falls into an endless loop of period 3. But what about using the two functions together, first x = 1 + 1/x, then x = 1 – 1/x, then repeating?

loop(x = 1 + 1/x, x = 1 – 1/x)

x = 1
1 + 1/1 = 2
1 – 1/2 = 1/2 = 0.5
1 + 1/1/2 = 3
1 – 1/3 = 2/3 = 0.666666…
1 + 1/2/3 = 2_1/2 = 2.5
1 – 1/2_1/2 = 3/5 = 0.6
1 + 1/3/5 = 2_2/3 = 2.66666…
1 – 1/2_2/3 = 5/8 = 0.625
1 + 1/5/8 = 2_3/5 = 2.6
1 – 1/2_3/5 = 8/13 = 0.615384615384…
1 + 1/8/13 = 2_5/8 = 2.625
1 – 1/2_5/8 = 13/21 = 0.619047619047619…
1 + 1/13/21 = 2_8/13 = 2.615384615384615384…
1 – 1/2_8/13 = 21/34 = 0.6176470588235294117647058824…
1 + 1/21/34 = 2_13/21 = 2.619047619047619047619047619…
1 – 1/2_13/21 = 34/55 = 0.6181818181818181818181818182…
1 + 1/34/55 = 2_21/34 = 2.617647058823529411764705882…
1 – 1/2_21/34 = 55/89 = 0.6179775280898876404494382022…
1 + 1/55/89 = 2_34/55 = 2.6181818…
1 – 1/2_34/55 = 89/144 = 0.618055555…
1 + 1/89/144 = 2_55/89 = 2.617977528089887640449438202…
1 – 1/2_55/89 = 144/233 = 0.6180257510729613733905579399…
1 + 1/144/233 = 2_89/144 = 2.618055555…
1 – 1/2_89/144 = 233/377 = 0.6180371352785145888594164456…
1 + 1/233/377 = 2_144/233 = 2.618025751072961373390557940…
1 – 1/2_144/233 = 377/610 = 0.6180327868852459016393442623…
1 + 1/377/610 = 2_233/377 = 2.618037135278514588859416446…
1 – 1/2_233/377 = 610/987 = 0.6180344478216818642350557244…
1 + 1/610/987 = 2_377/610 = 2.618032786885245901639344262…
1 – 1/2_377/610 = 987/1597 = 0.6180338134001252348152786475…

Phi and the Fibonacci sequence are back, but in a zig-zagging or two-steps-forward, one-step-back kind of way. Now adapt the two previous functions slightly. Here’s the plus function adapted:

x = 2 + 1/x

x = 1

2 + 1/1 = 3…
2 + 1/3 = 2_1/3 = 2.33333…
2 + 1/2_1/3 = 2_3/7 = 2.428571428571428571…
2 + 1/2_3/7 = 2_7/17 = 2.411764705882352941176470588…
2 + 1/2_7/17 = 2_17/41 = 2.414634146341463…
2 + 1/2_17/41 = 2_41/99 = 2.41414141…
2 + 1/2_41/99 = 2_99/239 = 2.414225941422594142259414226…
2 + 1/2_99/239 = 2_239/577 = 2.414211438474870017331022530…
2 + 1/2_239/577 = 2_577/1393 = 2.414213926776740847092605887…
2 + 1/2_577/1393 = 2_1393/3363 = 2.414213499851323223312518585…
[…]

This function is generating Pell numbers and approximating the value 1 + √2, where √2 = 1.414213562373095048801688724… Now try adapting the minus function:

x = 2 – 1/x

x = 2

2 – 1/2 = 1_1/2 = 1.5
2 – 1/1_1/2 = 1_1/3 = 1.33333…
2 – 1/1_1/3 = 1_1/4 = 1.25
2 – 1/1_1/4 = 1_1/5 = 1.2
2 – 1/1_1/5 = 1_1/6 = 1.166666…
2 – 1/1_1/6 = 1_1/7 = 1.142857142857142857…
2 – 1/1_1/7 = 1_1/8 = 1.125
2 – 1/1_1/8 = 1_1/9 = 1.11111…
2 – 1/1_1/9 = 1_1/10 = 1.1
2 – 1/1_1/10 = 1_1/11 = 1.09090909…
2 – 1/1_1/11 = 1_1/12 = 1.0833333…
2 – 1/1_1/12 = 1_1/13 = 1.0769230769230769230…
2 – 1/1_1/13 = 1_1/14 = 1.0714285714285714285…
2 – 1/1_1/14 = 1_1/15 = 1.0666666…
2 – 1/1_1/15 = 1_1/16 = 1.0625
[…]

Where x = 1 – 1/x falls into an endless loop, x = 2 – 1/x endlessly falls towards 1. Now try combining x = 2 + 1/x and x = 2 – 1/x. The result might be surprising:

loop(x = 2 + 1/x, x = 2 – 1/x)

x = 1

2 + 1/1 = 3
2 – 1/3 = 1_2/3 = 1.66666…
2 + 1/1_2/3 = 2_3/5 = 2.6
2 – 1/2_3/5 = 1_8/13 = 1.615384615384615384…
2 + 1/1_8/13 = 2_13/21 = 2.619047619047619047619047619…
2 – 1/2_13/21 = 1_34/55 = 1.618181818181818181818181818…
2 + 1/1_34/55 = 2_55/89 = 2.617977528089887640449438202…
2 – 1/2_55/89 = 1_144/233 = 1.618025751072961373390557940…
2 + 1/1_144/233 = 2_233/377 = 2.618037135278514588859416446…
2 – 1/2_233/377 = 1_610/987 = 1.618034447821681864235055724…
2 + 1/1_610/987 = 2_987/1597 = 2.618033813400125234815278648…
2 – 1/2_987/1597 = 1_2584/4181 = 1.618033963166706529538387946…
2 + 1/1_2584/4181 = 2_4181/6765 = 2.618033998521803399852180340…
2 – 1/2_4181/6765 = 1_10946/17711 = 1.618033990175597086556377393…
2 + 1/1_10946/17711 = 2_17711/28657 = 2.618033988205325051470844820…
2 – 1/2_17711/28657 = 1_46368/75025 = 1.618033988670443185604798401…
2 + 1/1_46368/75025 = 2_75025/121393 = 2.618033988780242682856507377…
2 – 1/2_75025/121393 = 1_196418/317811 = 1.618033988754322537608830406…
2 + 1/1_196418/317811 = 2_317811/514229 = 2.618033988748203621343798191…
2 – 1/2_317811/514229 = 1_832040/1346269 = 1.618033988749648101530971893…
2 + 1/1_832040/1346269 = 2_1346269/2178309 = 2.618033988749989097047296779…
2 – 1/2_1346269/2178309 = 1_3524578/5702887 = 1.618033988749908598925421458…
[…]

It’s a tie-phi again, with better and better aproximations to φ and φ + 1 = φ^2. Now another function that may be another surprise:

x = 5 – 5/x

x = 2

5 – 5/2 = 2_1/2 = 2.5
5 – 5/2_1/2 = 3 = 3
5 – 5/3 = 3_1/3 = 3.333333…
5 – 5/3_1/3 = 3_1/2 = 3.5
5 – 5/3_1/2 = 3_4/7 = 3.571428571428571428…
5 – 5/3_4/7 = 3_3/5 = 3.6
5 – 5/3_3/5 = 3_11/18 = 3.611111…
5 – 5/3_11/18 = 3_8/13 = 3.615384615384615384615384615…
5 – 5/3_8/13 = 3_29/47 = 3.61702127659574468085106383…
5 – 5/3_29/47 = 3_21/34 = 3.617647058823529411764705882…
5 – 5/3_21/34 = 3_76/123 = 3.617886178861788617886178862…
5 – 5/3_76/123 = 3_55/89 = 3.617977528089887640449438202…
5 – 5/3_55/89 = 3_199/322 = 3.618012422360248447204968944…
5 – 5/3_199/322 = 3_144/233 = 3.61802575107296137339055794…
5 – 5/3_144/233 = 3_521/843 = 3.618030842230130486358244365…
5 – 5/3_521/843 = 3_377/610 = 3.618032786885245901639344262…
5 – 5/3_377/610 = 3_1364/2207 = 3.618033529678296329859537834…
[…]

It’s a tie-phi with the Fibonacci sequence again. But only the Fibonacci sequence. The Lucas sequence too:

2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322, 521, 843, 1364, 2207, 3571, 5778…

The Lucas sequence is generated by the same rule as the Fibonacci sequence — add the two previous numbers — but it’s seeded with “2, 1” rather than “1, 1”.

Finally, if you’re wondering where cy-phi is, it’s here:

x = 1 – 1/x

x = φ

φ – 1/φ = 2 – φ = 0.3819660112501052…
2-φ – 1/(2-φ) = -φ = -1.6180339887498948…
-φ – 1/-φ = φ = 1.6180339887498948…
2-φ = 0.3819660112501052…
-φ = -1.6180339887498948…
φ 1.6180339887498948…
2-φ = 0.3819660112501052…
-φ = -1.6180339887498948…
[…]

That’s a cycling phi or cy-phi.