Lorenz Attractor LA Variant 1 LA Variant 2 LA Variant 3 Lorenz 84 Chen Attractor Dadras Attractor Thomas Attractor Aizawa Attractor Rossler Attractor Halvorsen Attractor Rabinovich Fabrikant TSUCS Sprott Attractor Four Wing Attractor

After a bunch of heavy projects like Tron Cycle, Intelligence Question, TSP, Electronic Life, I wanted to do a few quick and easy pages. Holi Special, Mandelbrot Set, were the results. Next I found a video by Daniel on Lorenz Attractor. Just what I was looking for, another quick, easy code and awesome to look at animation.

Then I came across a page by Juan Carlos Ponce Campuzano which had additional interesting attractors. Suddenly the easy page became a small project of its own. No regrets though. From Juan's page it was evident that a lot of research has been put in to showcase so many attractors. I was lucky to have that as a reference, because the systems are very sensitive to the constants and the initial starting point. Small differences here and there and it would result in a very different curve with little to no resemblance to any attractors here.

The Attractors

  • dxdt = σ(−x + y)
  • dydt = −xz + ρx − y
  • dzdt = xy − βz

where σ = 10, ρ = 28, β = 83

Preview

In the same equations, change in constants results in very different curves.

σ = 10, ρ = 14, β = 83

Preview

σ = 10, ρ = 13, β = 83

Preview

σ = 10, ρ = 15, β = 83

Preview

  • dxdt = −ax − y2 − z2 + af
  • dydt = −y + xy − bxz + g
  • dzdt = −z + bxy + xz

where a = 0.95, b = 7.91, f = 4.83, g = 4.66

Preview

Note that two curves are drawn here with different initial points.

  • dxdt = αx − yz
  • dydt = βy + xz
  • dzdt = δz + xy3

where α = 5, β = −10, δ = −0.38

Preview

  • dxdt = y − ax + byz
  • dydt = cy − xz + z
  • dzdt = dxy − ez

where a = 3, b = 2.7, c = 1.7, d = 2, e = 9

Preview

  • dxdt = sin y − bx
  • dydt = sin z − by
  • dzdt = sin x − bz

where b = 0.208186

Preview

  • dxdt = (z − b)x − Dy
  • dydt = Dx + (z − b)y
  • dzdt = c + az − z33 − (x2 + y2)(1 + ez) + fzx3

where a = 0.95, b = 0.7, c = 0.6, D = 3.5, e = 0.25, f = 0.1

Preview

  • dxdt = −(y + z)
  • dydt = x + ay
  • dzdt = b + z(x − c)

where a = 0.2, b = 0.2, c = 5.7

Preview

  • dxdt = −ax − 4y − 4z − y2
  • dydt = −ay − 4z − 4x − z2
  • dzdt = −az − 4x − 4y − x2

where a = 1.89

Preview

  • dxdt = y(z − 1 + x2) + γx
  • dydt = x(3z + 1 − x2) + γy
  • dzdt = −2z(α + xy)

where α = 0.14, γ = 0.1

Preview

Three-Scroll Unified Chaotic System

  • dxdt = a(y − x) + dxz
  • dydt = bx − xz + fy
  • dzdt = cz + xy − ex2

where a = 32.48, b = 45.84, c = 1.18, d = 0.13, e = 0.57, f = 14.7

Preview

  • dxdt = y + axy + xz
  • dydt = 1 − bx2 + yz
  • dzdt = x − x2 − y2

where a = 2.07, b = 1.79

Preview

  • dxdt = ax + yz
  • dydt = bx + cy − xz
  • dzdt = −z − xy

where a = 0.2, b = 0.01, c = −0.4

Preview

Controls

Select a system.

Animation speed controls how fast (or slow) the Sysytem will get generated.

Using mouse on the Viewport allows to control the camera. I have used p5.EasyCam for the 3D camera here.

Camera controls - straight from EasyCam site

  • To rotate around the look-at point, left-click and drag.
  • To pan the scene, middle-click and drag
  • To zoom out/in, right-click drag
  • To reset to the starting state, double-click

Lorenz attractor by Daniel Shiffman.

Strange attractors by Juan Carlos Ponce Campuzano.

Wikipedia.