[HN Gopher] That fractal that's been up on my wall for years
       ___________________________________________________________________
        
       That fractal that's been up on my wall for years
        
       Author : chriskw
       Score  : 534 points
       Date   : 2025-05-22 15:50 UTC (1 days ago)
        
 (HTM) web link (chriskw.xyz)
 (TXT) w3m dump (chriskw.xyz)
        
       | taeric wrote:
       | 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!
        
       | CBLT wrote:
       | 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 wrote:
         | 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.
        
       | leni536 wrote:
       | 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.
        
         | leni536 wrote:
         | Found a space-filling curve for the wallflower:
         | 
         | https://onlinetools.com/math/l-system-generator?draw=ABCD&sk...
         | 
         | The previous one fills out the Koch island.
        
           | chriskw wrote:
           | That's really cool! I tried to get something to work last
           | week on pen and paper but couldn't get anything to stick. Is
           | there a strategy you used or did you just go by feel?
           | 
           | Edit: just noticed how you encoded a flip (AB <--> CD)
           | between iterations like how the matrix flips the orientation
           | of space. Super neat!
        
             | leni536 wrote:
             | > noticed how you encoded a flip (AB <--> CD)
             | 
             | Exactly! There is also a less obvious relationship between
             | A and B too: B is a A "backwards" (A rotated 180deg,
             | starting the curve from the opposite end).
             | 
             | The strategy was to put 5 lines on the plus sign on the
             | sides of the 5 cells, with the idea that each line
             | eventually fills out a neighboring cell in subsequent
             | iterations. I found one such path that had a chance of
             | working. Not sure if this makes sense.
        
       | entropicdrifter wrote:
       | Kinda looks like a propeller
        
         | shermantanktop wrote:
         | Things with four arms that all curve the same way unfortunately
         | tend to look swastika-ish.
        
           | leni536 wrote:
           | 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.
        
           | winnit wrote:
           | The unfortunate thing here is that the swastika was
           | appropriated by a genocidal regime. The symbol still has a
           | totally different life in India and Japan.
        
       | bdamm wrote:
       | That was fun.
        
       | nico wrote:
       | 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 wrote:
         | Curious if it would work in 3D
        
           | nico wrote:
           | 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 :)
        
       | Scene_Cast2 wrote:
       | I wonder if something similar can be applied to get a dither
       | pattern with built-in level of detail adjustment.
        
       | cess11 wrote:
       | Nice writeup. The Heighway dragon of Jurassic Park fame is pretty
       | neat too.
       | 
       | https://en.m.wikipedia.org/wiki/Dragon_curve
        
       | CliffStoll wrote:
       | Outstanding work and a delightful read.
        
         | chriskw wrote:
         | 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 :)
        
           | speeder wrote:
           | Please you two, make an awesome YouTube video out of this. It
           | is fascinating and beatiful and deserves a chance to viralize
           | a little :)
        
         | sakesun wrote:
         | Wow
        
       | tcshit wrote:
       | 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 wrote:
         | Isn't that it on the left in the last image?
        
           | tcshit wrote:
           | 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.
        
             | chriskw wrote:
             | Yeah, it's in the last image and in the thumbnail at very
             | top (which I realize now is really hard to spot on mobile),
             | intentionally not in the spotlight to leave space for the
             | twist at the end.
             | 
             | https://chriskw.xyz/images/fractal/thumbnail.jpg
             | 
             | I think it would work perfectly as a mosaic eventually, but
             | for the time being I'm perfectly content with the "rustic"
             | 8x11 graph paper sized one taped to the wall. Currently
             | planning to put up a slice of the orthotopeflower as a
             | companion piece once I find matches for the colored pencils
             | I used back then.
        
       | matt3210 wrote:
       | Now make a tiling game engine that uses these!
        
       | Cogito wrote:
       | 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
        
       | cies wrote:
       | 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. :)
        
       | baq wrote:
       | 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?
        
         | chriskw wrote:
         | I'm by no means a parenting expert, but my answer would be
         | anything related to something they feel passion or wonder for
         | in the moment. I snuck in a paragraph near the end about
         | burnout. At the root of the problem for me was that I lost the
         | feeling of fascination and curiosity I had for math and
         | programming, and doing this write-up helped me tap into that
         | feeling of childlike wonder that used to come easily.
        
       | Tade0 wrote:
       | > Deciding to delegate to a future version of me that knows more
       | math
       | 
       | Relatable. Huge part of my decision on what degree to pursue was
       | a list of problems (mostly linear algebra) I needed to solve, but
       | didn't have the guidance (and internet connection) to.
        
       | 867-5309 wrote:
       | well, that escalated beautifully
        
       | kragen wrote:
       | This is beautiful. Thank you.
        
       | mathfailure wrote:
       | Too much math.
        
       | wistlo wrote:
       | This is so much better than reading the news.
       | 
       | Favorited--I'll be coming back to absorb more, as my aging semi-
       | fluency in engineering physics and SQL doesn't help much with the
       | notation I last saw in the 1980s.
        
       | mckeed wrote:
       | Fun post! I drew the first 5 iterations by hand myself and I'm
       | finding it easiest to think of as a self-similar coloring of a
       | square tesselation.
       | 
       | If you start with the shape of iteration 3, it tessellates as a
       | 5x5 square tile. Make an infinite grid of those tile shapes with
       | one iteration 3 version in the center. Treat that center tile as
       | the center square in the iteration 3 pattern and color the tiles
       | around it according to how the 2nd and 3rd iterations were built
       | of squares. This gives you the 4th and 5th iteration and you can
       | continue to iterate on the coloring outwards to color the grid of
       | tiles in the wallflower pattern.
        
       ___________________________________________________________________
       (page generated 2025-05-23 23:01 UTC)