Visualizer of the Lorenz Attractor.
Rotate x and y axises with arrows.
Toggle boundingbox and axises with X. Toggle long (700) or short (20) tail with O.
3D projection tries to scale and fit complete attractor in screen dynamically.
Enjoy! It's MATHEMATICAL!
2019-03-06 Fixed button mixup (thanks kittenm4ster)
So, to draw this, you're drawing a huge number of tiny lines? It performs very well. Super cool!
Yes, exactly - about 700 lines when (or 20 eventually after pressing O) Runs smooth even on my pocketchip! :-)
whoa...quite hypnotic to watch
by the way, it appears the 🅾️/❎ button prompts are swapped?
Dang, you beat me to it! I just finished making a Lorenz attractor in java/openGL and was thinking about porting to pico-8. Good job though, I'm always glad to find people who enjoy math(and chaos) as much as I do :D
I just love differential equations and strange attractors <3
maybe even a little too much... Nah!!!
Yes, chaos/math is really interesting - i can bore people for hours talking about it :-D
For instance: this attractor led a guy named Lorenz to conclude that good long term weather forecasts are impossible unless we literally fill the atmosphere with sensors.
Good catch kitt4nmaster - thanks!
I hope you don't mind, I used your engine to make a Rössler attractor in pico-8 I hope you like it! Maybe we should collaborate together and make an interactive strange attractor library cart in pico-8. Then people can view multiple attractors(each with a unique color scheme) in the same cart.
Do you know of any good resources for learning how to do the 2D to 3D projections? I would love to do more with 3D and I would like to write my own 3D plotting engine like you have done here.
That's awesome - didn't know about the Rössler attractor.
Maybe this coding trains video https://www.youtube.com/watch?v=p4Iz0XJY-Qk can be helpful. In this cartridge i do things in a "hacky" way :-)
3d -> 2d is simply done with x' = x/z and y'=y/z. I add 300 to z before dividing to move it back a bit. Divison by zero equals to having a point in the eye.
I also do a translation of 20 on z-axis before i rotate. Then i translate back. This is to rotate the attractor in the "visual centre" instead of actual (0,0,0) point. Looks better in my opinion.
I love Dan's videos and I've used processing for a long time. I'm very surprised I had never seen that video before. I knew it had something to do with matrices and projections though :-) Thanks!
[Please log in to post a comment]