That fractal that's been up on my wall for years

353 chriskw 25 5/22/2025, 3:50:16 PM chriskw.xyz ↗

Comments (25)

baq · 8m ago
This went much deeper and harder than expected. One has to admire the dedication.

Question to the author: what would you recommend to hang on my kid’s wall today?

CliffStoll · 8h ago
Outstanding work and a delightful read.
chriskw · 7h ago
Thanks Cliff, it means a ton coming from you! The videos from you and all the other folks on Numberphile always inspired me to see the beauty in math growing up :)
sakesun · 3h ago
Wow
Cogito · 1h ago
Thought I'd check the arithmetic for 2 two-digit numbers, and it works!

I expect 41+14 to be 12 (two right plus two up equals two right and two up).

Long addition in long form below uses:

'=' to show equivalent lines (reordering of terms (1+2=2+1), spliting numbers (41=40+1), adding single digits (1+4=22))

'->' for when the algorithm gives a digit

'<' for when we move over a column

    41+14
    = (40+1)+(10+4)
    = 40 + 10 + (1+4)
    = 40 + 10 + 22
    -> 1s digit = 2
    < 4 + 1 + 2
    = 22 + 2
    = 20 + 2 + 2
    = 20 + 41
    -> 10s digit = 1
    < 2 + 4
    = 0
    -> done
    == 12
[edit] Just noticed the article has two different numbering systems, one where 10, 20, 30, 40 are clockwise and one where they are anticlockwise. In both, 1, 2, 3, 4 are clockwise. My addition is on the second, where 10s are anticlockwise (this is what is used in the addition table).

It still works in the alternative system (14+21 should equal 12)

    14+21
    =10+20+42
    ->2
    <1+2+4
    =13+4
    =10+3+4
    =10+31
    ->1
    <1+3
    =0
    ==12
taeric · 13h ago
Holy cow, I was expecting a quick read. Wound up having to skim some, as I need to get some work today. Will be coming back to this to play with some. Really well done!
nico · 12h ago
Amazing insightful and thoughtful write up, thank you!

Loved the 3d visualizations

It reminds me of this thing I built some time ago while playing with recursive decimation to generate effects similar to fractals from any image

You can play with it here: https://jsfiddle.net/nicobrenner/a1t869qf/

Just press Blursort 2x2 a couple of times to generate a few frames and then click Animate

You can also copy/paste images into it

There’s no backend, it all just runs on the browser

Don’t recommend it on mobile

Iwan-Zotow · 9h ago
Curious if it would work in 3D
nico · 9h ago
Very interesting! I wonder what that would look like

Right now, roughly, the algorithm recursively divides the image by doing decimation (ie. picking every other pixel), and keeps the decimated pixels as a second image

Not sure how that algorithm would apply to a 3d data structure

Do you know how 3d objects/images are usually represented?

It would be cool to recursively decompose a 3d object into smaller versions of itself :)

CBLT · 13h ago
Well written! Would you mind sharing how you came up with the "middle out" numbering system? I can never seem to come up with something this inspired when I'm doing math problems by myself.
chriskw · 12h ago
The post presents it a bit out of order, but it was mostly from realizing at some point that the way the fractal grows by a factor of 5, base 5 number systems, and the "spiral" mentioned in the post can all fit together. I also thought a lot about how to programmatically draw the fractal and a natural way would be to start from the middle and zoom out.

There's an apocryphal story about Richard Feynman about how he used to keep a dozen or so random problems in the back of his mind and made a little bit of progress on them every time he saw a connection, until finally he'd solve one and everyone would think he magically figured it out instantly. This was a bit similar except I'm not nearly at that level and I've only been able to do that for one problem instead of a dozen.

cies · 20m ago
I had this one up the wall (giant print) at a place I worked:

https://raw.githubusercontent.com/cies/haskell-fractal/refs/... [17MB, sorry Github]

It contains the Haskell code that produced it: https://github.com/cies/haskell-fractal

Especially the `sharpen` function was interesting to come up with (I used some now-offline tool to do curve fitting for me): https://github.com/cies/haskell-fractal/blob/master/fractal....

Fun little project. :)

leni536 · 13h ago
Got a bit nerd-sniped by this and came up with an L-system that fills out (I think) "the wallflower":

https://onlinetools.com/math/l-system-generator?draw=AB&skip...

edit: On second thought, this probably generates the other fractal, but I'm not sure.

tcshit · 7h ago
Nice writeup! I was hoping to see a photo of the fractal on your wall.. Nice link to Knuth video that I somehow have missed.
leephillips · 7h ago
Isn’t that it on the left in the last image?
tcshit · 40m ago
Yeah, maybe it is. It would be cool to make it much bigger, frame it and put it on the wall. Or create a mosaic tiled artwork, similar to Knuth’s dragon curve wall.
Scene_Cast2 · 10h ago
I wonder if something similar can be applied to get a dither pattern with built-in level of detail adjustment.
cess11 · 9h ago
Nice writeup. The Heighway dragon of Jurassic Park fame is pretty neat too.

https://en.m.wikipedia.org/wiki/Dragon_curve

matt3210 · 2h ago
Now make a tiling game engine that uses these!
entropicdrifter · 13h ago
Kinda looks like a propeller
shermantanktop · 12h ago
Things with four arms that all curve the same way unfortunately tend to look swastika-ish.
leni536 · 12h ago
The the arms of the author's "wallflower" fractal don't seem to curve, as opposed to the other, similar fractal (quadratic von Koch island). Which can be explained by each iteration adding a mirroring.
bdamm · 12h ago
That was fun.