Tiny changes
Published: August 26, 2026 · 3 min read
I've been thinking about how tiny changes can completely change where you end up. I wanted to find a way to actually see that idea happening, rather than just think about it.
One of the key ideas in chaos theory is that changes in starting conditions can produce radically different trajectories. The Lorenz attractor gives us a beautiful way to see that happen.
The Lorenz attractor comes from three differential equations:
dx/dt = sigma(y - x)
dy/dt = x(rho - z) - y
dz/dt = xy - beta z
These equations describe how a point moves through three-dimensional space. x, y, and z describe its position, while sigma, rho, and beta control how the system behaves.
Give the system a starting position and let the equations run. The point traces a path through space, eventually producing the familiar butterfly-shaped Lorenz attractor.
Now start another point almost exactly where the first one started.
At first, there is barely any difference. Both points follow the same rules and their trajectories look almost identical. As the system evolves, that tiny difference gets amplified. Eventually, the two points are following completely different paths.
There is no randomness causing this. The system is deterministic. If you give it the exact same starting conditions, you will get the exact same trajectory every time.
Something can follow predictable rules and still become extremely difficult to predict over time.
That idea has stuck with me outside of mathematics too. We make small decisions without knowing which ones will compound. A tiny difference in where you start can change what happens next, and then what happens after that. You usually do not know which differences will matter until much later.
I wanted to make that idea visible.
I used Three.js to simulate the Lorenz equations and created thousands of particles with slightly different starting conditions. You can watch them begin almost together and gradually diverge as the simulation runs.
You can also change the parameters and see how the system responds.
This is one of my favorite things about creative coding. I can take an abstract idea, build the mathematics behind it, and turn it into something you can actually interact with.
In this case, the math is generating the artwork.
Interactive simulationPlay with the Lorenz attractor ↗
The Lorenz attractor is only one of many ideas that becomes clearer when you can watch it unfold.