Skip to content

🦋 Strange attractors

JavaScriptThree.js

In dynamical systems, a ‘Strange Attractor’ is a type of attractor (a region or shape to which points are ‘pulled’ as the result of a certain process) that arises in certain non-linear systems and is characterized by its fractal structure. Unlike regular attractors, which maybe points, close loops, or more complex but still regular shapes, a strange attractor, is highly sensitive to small changes in the initial conditions, leading to chaotic behaivor within the system — Strange Attractors

Source

🧠 Inspired by Lorenz Attractor blog and code contained therein
🐍 A VPython demo is available as well, see lorenz_attractor.py

{dxdt=a(yx)dydt=x(bz)ydzdt=xycz\begin{cases} \dfrac{dx}{dt} = a (y - x) \\ \dfrac{dy}{dt} = x (b - z) - y \\ \dfrac{dz}{dt} = xy - c z \end{cases}

The lorenz attractor was first studied by Edward N. Lorenz, a meteorologist. It was derived from a simplified model of convection in the earth’s atmosphere.

In 1963, the meteorologist was running a weather model when he stumbled upon something unexpected. A tiny rounding error in his input led to wildly different outcomes — chaos emerging
from seemingly deterministic equations. This discovery became the foundation of chaos theory and is beautifully captured in the Lorenz equations, a set of three coupled non-linear differential equations:

{dxdt=a(yx), stream functiondydt=x(bz)y, temperature gradientdzdt=xycz, deviation in (linear) temperature\begin{cases} \dfrac{dx}{dt} = a (y - x),\ \text{stream function} \\ \dfrac{dy}{dt} = x (b - z) - y,\ \text{temperature gradient} \\ \dfrac{dz}{dt} = xy - c z,\ \text{deviation in (linear) temperature} \end{cases}

The constant aa is sometimes known as the Prandtl number and bb the Rayleigh number. One commonly used set of constants is a=10a = 10, b=28b = 28, c=8/3c = 8 / 3. Another is a=28a = 28, b=46.92b = 46.92, c=4c = 4.

At their core, the three simple-looking differential equations describe fluid convection, but their implications stretch far beyond meteorology. the iconic double-loop shape, known as the Lorenz attractor, reveals the sensitive dependence on initial conditions — better known as the butterfly effect. It’s why long-term weather forecasting remains so challenging and why deterministic systems can still behave unpredictably.

From climate models to neuroscience, from financial markets to turbulent flows, Lorenz’s work echoes through science, technology, and even philosophy. The universe, it turns out, is full of delicate interconnections.

For further reading: the website of Paul Bourke contains a comprehensive page on the Lorenz attractor.

Source

🧠 Inspired by RoesslerAttractor.ipynb
🐍 A VPython demo is available as well, see rossler_attractor.py

{dxdt=yzdydt=x+aydzdt=b+z(xc)\begin{cases} \dfrac{dx}{dt} = -y-z \\ \dfrac{dy}{dt} = x + ay \\ \dfrac{dz}{dt} = b+z(x-c) \end{cases}