Spirals of Stillness: Number Patterns in the Rossler System


🌀 Tame Chaos in a Spiral Shell

Compared to the Lorentz system, the Rossler attractor feels gentler—its spirals stretch wider, with smoother transitions. It still harbors the hallmark unpredictability of chaos. In this post, we take a closer look at the Rossler system.


🔢 The Equations

The Rossler system is defined by:

dx/dt = -y - z
dy/dt = x + a*y
dz/dt = b + z*(x - c)

We’ll use: a = 0.2, b = 0.2, c = 5.7.


🔁 Step by Step

let x = 0.1, y = 0, z = 0;
const a = 0.2, b = 0.2, c = 5.7;

function step() {
  const dx = -y - z;
  const dy = x + a * y;
  const dz = b + z * (x - c);

  x += dx * 0.01;
  y += dy * 0.01;
  z += dz * 0.01;

  return { x, y, z };
}

The Rossler attractor creates long, stretching spirals. The numbers pulse gently—less erratic than Lorentz, but still dancing unpredictably.


I like this system as it provides a nice source of randomness which cycles through some kind-of predictable patterns. The vertical axis especially rises periodically chaotically while going around in loops. The parameters also give fair control over the nature of this moving pattern. The following parameters are of particular interest as they lend control in a very tractable way:

  • The a parameter in the range [0.1 - 0.29]. Gives control over how many times it will loop also the intensity of the vertical raise.
  • The b parameter in the full range [0.01 - 0.97]. The rise of the vertical loop attentuates as t progresses through the range without it being a linear reduction of size (It kind of pulses reducing its intensity with every pulse).
  • The step-size also helps control how many loops are completed.