I went down the rabbit hole on a side project and ended up building this: Strange Attractors(https://blog.shashanktomar.com/posts/strange-attractors). It’s built with three.js.
Working on it reminded me of the little "maths for fun" exercises I used to do while learning programming in early days. Just trying things out, getting fascinated and geeky, and being surprised by the results. I spent way too much time on this, but it was extreme fun.
My favorite part: someone pointed me to the Simone Attractor on Threads. It is a 2D attractor and I asked GPT to extrapolate it to 3D, not sure if it’s mathematically correct, but it’s the coolest by far. I have left all the params configurable, so give it a try. I called it Simone (Maybe).
If you like math-art experiments, check it out. Would love feedback, especially from folks who know more about the math side.
I bought "Strange Attractors: Creating Patterns in Chaos" (1993) by J. C. Sprott recently, which is a fun book about these kinds of attractors. The whole book can be downloaded online [1] from the author's web site [2].
It's such a typical object of its time. Garishly colored cover, comes with a floppy disk (!) and there are even 3D glasses to view some of the stereoscopic color plates (unfortunately these were missing from the used copy I got). I was surprised to find that most of the programs are in BASIC (maybe easier to do graphics on Windows back then?), though a small number of them are in C.
It's a nice book, and the author seems to have a lot of publications about chaotic systems. Anyone know him? He seems to still be teaching at the University of Wisconsin - Madison.
[1] https://sprott.physics.wisc.edu/fractals/booktext/SABOOK.PDF
Neat :) When I was a teenager, some 25+ years ago, I wrote a chaotic attractor visualiser like this — but only in 2D — and it occurred to me, “What if instead of visualising it, I rendered it to audio?” I don’t remember the details: I think frequency was correlated with polar angle and amplitude to magnitude. It forced me to learn how to write WAV format — which was my first introduction to endianness — but the result wasn’t completely inaudible! A bit like the sound effects for computers in old sci-fi movies; random(ish) but not discordant beeps and boops!
This is so cool. Back in highschool during the Jurassic age I used ti play with attractors a lot. Unfortunately on a 486 it took 20-30 minutes to draw one even at low resolution. This renders in realtime and in 3D. Great work!
Still they've had a strong impact in how I see systems - orbits, instability, etc.
"not sure if it’s mathematically correct,"
There isn't always "a" correct extension into higher dimensions. There may be many, there may be none, and either way something "close enough" may well be interesting in its own right.
If you'd like something concrete to poke at you can try searching around for people's adventures in trying to make a 3D Mandelbrot. I've seen a couple of good write-ups on those adventures. I don't know if anyone has ever landed on a "correct" solution, it's been years since I last looked, but certainly some very interesting possibilities have been found.
> A small change in the parameter a can lead to vastly different particle trajectories and the overall shape of the attractor. Change this value in the control panel and observe the butterfly effect in action.
I think this is slightly inaccurate. The butterfly effect is about the evolution of two nearby states in phase space into well-separated states. But the parameter a is not a state. To see the butterfly effect by changing a we would need to let the system settle down, give the parameter a small change, and then change it back. The evolution during the changed time acts as a perturbation on states.
Instead, showing that the attractor changes qualitatively as a function of the parameter is more akin to a phase transition.
Thank you for sharing. This really inspired me to check out three.js. This website of yours might be one of the more beautiful things on the internet.
I don't care about the math, the computation, the physics. This is just by far the most beautiful thing(s) I have ever seen.
Really visually wonderful. I tried to self learn about nonlinear dynamics after reading about Takens's theorem last year but I have to admit, I have no idea what an attractor is actually showing like this.
This might be inspiration to try to grasp these ideas again.
Rotating the Lorenz makes me think otherwise though because given the amount of time I put into this, I should understand that much more than I do.
Chance and Chaos by David Ruelle is a wonderful little book.
Coincidentally enough, I dug out my 11th grade CS project on generating fractals from 2002 & modernized it using SFML graphics lib just this week.
https://github.com/gradientwolf/fractals_SFML
Your post gives me so much joy. These tiny little things take me back to teenage years, simpler times & when interests were different. (I put a little note as "why" in my GH repo readme)
Hobbyists hacking around and sharing their art, best part of the Internet!
I would suggest to keep initial particles' color -- it would be easier to understand the system's evolution.
very nice, if you want to know more of the history of chaos I recommend the following book: https://en.wikipedia.org/wiki/Chaos%3A_Making_a_New_Science?...
It would be so much fun to use these as a setting for some kind of gaming experience. Like, I wanna hide behind parts of these and pop around a corner and blast my friend with a laser. Or to race gocarts along the surface of one, or I dunno, something frogger-esque to get a feel for the directionality of the flows... I love how they look, but I need more interaction to get a feel for the thing.
Super cool and well done. They are much better in 3D! :)
I made a similar experiment a while ago and randomized the parameters. Given it's difficult to stumble on a stable arrangement, I turned it into a small game to find pretty ones: (big disclaimer: this involves NFT tech, please skip if you're against that sort of stuff) https://karimjedda.com/symmetry-in-chaos-my-first-generative...
The demo makes some nice spirals on the ends. They look like galaxies with the rendering.
It reminded me of one of my (cranky) musings from back in college about galaxy formation and whether they were more like tossed pizzas (i.e. spreading out) than like whirlpools getting sucked in.
Mesmerizing stuff.
Can you allow changing attractor control constants without resetting the sim? E.g. going from 0.19 to 0.21 in Thomas while it's already in a stable state.
It's be interesting to see what'll happen.
Lorenz Equations and Chua Circuits probed with an analog oscilloscope is mesmerizing! Great videos of a Chua Circuit being probed with an analog scope… Also, plugging the circuit to a speaker via AUX port gives white noise ;)
Beautiful. Reminds me of starling murmurations. https://www.youtube.com/watch?v=V4f_1_r80RY
I can confirm that Simone (Maybe) is my favorite :) I especially like looking through them with the color set to Angular instead of Solid, so you can see where the peak acceleration is happening. Makes the big curves prettier :) great project!
The way you explained the mathematical theory was very intuitive and refreshing. It would be every interesting to read if you could also write more on other topics of your interest.
I got really into fractals and attractors when I was also really into mushrooms, lsd, and dmt during my graduate studies.
It actually shaped my post doc work quite a bit and shifted my focus from individual classroom education to strategic systems analysis of entire university and k-12 institutions. Somewhere along the way, a switch flipped and allowed me to view complicated hierarchies like college systems as 2-d fractal geometry in my mind. I can't really explain it, but now that I consult, I can feel when a department is broken before I can prove it with data. It's like they don't fit or reflect the main structure of the institution.
I would not suggest taking this route though. Maybe just take some graduate courses or something.
Fun fact, though, defending your dissertation to a room of around 200 people while still feeling the effects of dmt is a really good way to induce a panic attack. Source: it's me. I'm source material.
I am shocked by how well this runs
"IMSAI guy" created a Lorenz attractor circuit [1]. He talks more about it later [2]. I remember seeing the Lorenz attractor on some TV show about chaos.
This is really pretty. A loong time ago when I wrote a Lorentz attractor on my 486 with turbo pascal and inline assembler, I could only dream of such smoothness back then...
Super cool visulitations.
Side note: Did anyone else know it was AI before reading the post? Mathematicians would be argent enough to assume the name was enough, displaying the algo when clicking the name was the give away.
this is so cool! would be awesome if you can add params to mess with a and b value so we can "find" our own strange attractor patterns. maybe a free mode?
Well that's my productivity blown for the day. Love it.
Learned more about attractors dragging this around than from wiki. This is how math should be taught.
I have no idea what is this, but it's beautiful.
Great visualization! It would be good to add some fog for a better perception of 3D.
This is absolutely stunning. Wonderful some function of the state of a point can give it colour.
I'd like one of these as my screen saver. Great work!
Love seeing projects like this, just pure curiosity, creativity, and fun
This gives me Johnny Quest theme song vibes.
too many of these vaguely look like what galaxies look like from earth
e.g. https://i.imgur.com/ZjiBF8f.png
just a coincidence?
How do I write my custom attractor equation ?
This is mesmerizing and very cool. Thank you!
Reminds me of the xscreensaver, “strange” :)
reminds me of phong. https://phong.com/
Absolutely great. Thank you for sharing.
Beautiful.
Thank you for sharing this on HN.
Very pleasant to watch!
Fabulous.
Now I just need to find a monochrome laser projector and my home office design is complete.
[dead]
Visualizations like this truly highlight how much there is to be gained from viewing the 3D phase space, but also how much richness we miss in >3D!
(I wonder if there are slick ways to visualise the >3D case. Like, we can view 3D cross sections surely.
Or maybe could we follow a Lagrangian particle and have it change colour according to the D (or combination of D) it is traversing? And do this for lots of particles? And plot their distributions to get a feeling for how much of phase space is being traversed?)
This visualization also reminds me of the early debates in the history of statistical mechanics: How Boltzmann, Gibbs, Ehrenfest, Loschmidt and that entire conference of Geniuses must have all grappled with phase space and how macroscopic systems reach equilibrium.
Great work Shashank!