← All tools

Chaos Interactive tool

The Divergence Engine

Drop a cluster of nearly identical leaves into the same turbulent air and watch a tiny release spread become a different history.

Getting started

This is a small machine for watching prediction lose its footing. Fifteen leaves fall through one shared, invisible wind field during each run. Their starting positions, orientations and small physical differences are close, but never perfectly identical. Pressing Drop again creates a different smooth wind field, giving the next run a new surrounding environment.

  1. Lower Release spread to make the beginning almost identical.
  2. Raise Air turbulence to make the wind contain sharper little swirls.
  3. Raise Leaf flutter to make each leaf more sensitive to its own angle, drag and spin.
  4. Turn Show wind vectors on when you want to see the local direction of the air; turn it off when you want to focus only on the trails.
  5. Use Drop again to reset the leaves and generate another wind field.

The interesting moment is not when one leaf happens to wander away. It is when the whole cluster looks close enough to be predictable, and then quietly becomes a little crowd of different futures.

What is happening

Each leaf is pulled downward, pushed sideways by a layered wind field, slowed by drag, lifted slightly by its angle to the air, and spun by small turbulent kicks. The simulation runs at a fixed fast pace so the change is visible without needing a speed control. The field stays fixed in its mathematical recipe during a run, then is regenerated when the leaves are dropped again.

The trails are the memory of the fall. When they fan out, the model is showing sensitive dependence on initial conditions: a tiny spread at the start can grow because every later moment depends on the exact path that came before it.

The translucent cone is the prediction envelope. It is not a physical boundary and it does not push the leaves. It is a visual estimate of the region of plausible futures: narrow when the leaves are released, wider as small uncertainties have more time to be amplified.

How to read the controls

Release spread controls the width of the starting cluster. At low values, the leaves are almost on top of each other.

Air turbulence changes the wind itself. Higher values create more short-scale eddies, gust pockets and sideways shear.

Leaf flutter changes how much each leaf wobbles, stalls, catches the air and converts wind into spin.

Chaos spread combines the cluster’s overall spread with the widest split between any two leaves. It is not a score. It is a reminder that a small uncertainty can become a large one.

The mathematics under the fall

Each leaf carries a small state vector:

si(t)=(xi,yi,vx,i,vy,i,θi,ωi)s_i(t) = (x_i, y_i, v_{x,i}, v_{y,i}, \theta_i, \omega_i)

That is position, velocity, orientation and angular velocity. Every animation step advances the state with a lightweight numerical update:

si(t+Δt)≈si(t)+Δt F(si(t),W(xi,yi,t))s_i(t+\Delta t) \approx s_i(t) + \Delta t\,F(s_i(t), W(x_i,y_i,t))

Here W(x,y,t)W(x,y,t) is the shared wind field. It is deterministic within a run: the same leaf in the same place at the same time receives the same gust. Each reset chooses new phase offsets and a new overall strength for the field, so a new run explores a different but still fully defined flow. The field is built from stacked sine and cosine waves at different spatial scales:

Wx,Wy=∑kaksin⁡(kxx+kyy+ωkt+ϕk)W_x, W_y = \sum_k a_k \sin(k_x x + k_y y + \omega_k t + \phi_k)

This is why the motion feels natural without using a full fluid simulation. Large waves create broad drift; smaller waves create eddies, shear and sudden little pockets of sideways motion.

For each leaf, the useful airflow is relative airflow:

urel=v−λWu_{\mathrm{rel}} = v - \lambda W

The model compares that relative flow with the leaf’s angle:

β=wrap⁡ ⁣(θ−atan2⁡(uy,ux)+π2)\beta = \operatorname{wrap}\!\left(\theta - \operatorname{atan2}(u_y,u_x) + \frac{\pi}{2}\right)

Then it applies simple drag, lift and spin terms:

D∝A(β)∥urel∥urel,L∝sin⁡(2β)∥urel∥D \propto A(\beta)\lVert u_{\mathrm{rel}}\rVert u_{\mathrm{rel}}, \qquad L \propto \sin(2\beta)\lVert u_{\mathrm{rel}}\rVert

The area term A(β)A(\beta) increases when the leaf is broadside to the air. That is the tiny everyday miracle: a leaf does not just fall; it argues with the air on the way down.

The prediction cone is drawn from a radius function, not from collisions:

r(y)=r0+(rL−r0)(y−y0yg−y0)1.16r(y) = r_0 + (r_L-r_0)\left(\frac{y-y_0}{y_g-y_0}\right)^{1.16}

The top radius r0r_0 grows with Release spread. The landing radius rLr_L grows with Air turbulence and Leaf flutter. In plain language: the wider the initial uncertainty, and the more the air can twist the leaves, the wider the set of plausible endings becomes.

The live Chaos spread combines two measurements. First, the cluster radius around its centroid:

R=1N∑i=1N∥pi−pˉ∥2R = \sqrt{\frac{1}{N}\sum_{i=1}^{N}\lVert p_i-\bar{p}\rVert^2}

Second, the widest split between any two leaves:

S=max⁡i,j∥pi−pj∥S = \max_{i,j}\lVert p_i-p_j\rVert

The display turns those into a readable label. It is less interested in the exact number than the story the number tells: a forecast can fail without anything supernatural happening. The rules can be shared, deterministic and ordinary, and the future can still spread into a shape.

What the model assumes

This is not a full computational-fluid-dynamics model. It is a visual sandbox: a freshly parameterised deterministic wind field, fifteen simplified falling leaves, and a lightweight approximation of drag, lift and torque.

The important rule is that every leaf shares the same equations and the same wind during a run. If their paths diverge, it is because the starting conditions were not perfectly identical, and the system is sensitive enough to amplify that difference. Between runs, the wind field itself changes, allowing you to compare how different invisible surroundings can shape the same experiment.

The cone is also part of the explanation rather than the physics. It does not constrain the leaves. It translates uncertainty into a visible boundary, which is exactly the idea behind the article’s line that the future can sometimes be mapped as a shape rather than predicted as a single line.

← Explore more tools