[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)