Log In  

Cart #lorenz3d-1 | 2019-03-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

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.


2019-03-06 Fixed button mixup (thanks kittenm4ster)

P#62575 2019-03-05 12:43 ( Edited 2019-03-06 10:28)

So, to draw this, you're drawing a huge number of tiny lines? It performs very well. Super cool!

P#62586 2019-03-05 20:19

Yes, exactly - about 700 lines when (or 20 eventually after pressing O) Runs smooth even on my pocketchip! :-)

P#62587 2019-03-05 21:37

I am seriously confused yet utterly amazed.

P#62589 2019-03-05 21:40

whoa...quite hypnotic to watch

by the way, it appears the 🅾️/❎ button prompts are swapped?

P#62591 2019-03-06 00:11

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

P#62597 2019-03-06 06:13

I just love differential equations and strange attractors <3

maybe even a little too much... Nah!!!

P#62598 2019-03-06 06:17

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!

P#62610 2019-03-06 09:06

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.

P#62678 2019-03-08 06:55

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.

P#62683 2019-03-08 10:51

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!

P#62893 2019-03-19 20:06

[Please log in to post a comment]