Explore chaotic dynamical systems in real time, directly in your browser. This is a WebAssembly (Go / TinyGo) and WebGL visualizer that renders strange attractors as rotatable, zoomable 3D trajectories. Drag to rotate, scroll to zoom, and adjust each system's parameters with tactile control knobs.
Continuous flows: Lorenz, Rossler, Chua's double-scroll circuit, Aizawa, Thomas cyclically-symmetric, Halvorsen, Chen, Lu, Newton-Leipnik, Dadras, Rabinovich-Fabrikant, Burke-Shaw, the 4D hyperchaotic Rossler system, and J. C. Sprott's 1994 catalogue of simple chaotic flows, cases A through S.
Discrete maps, which have no dt and no path between iterates: Henon, Ikeda, Clifford, Peter de Jong, Gumowski-Mira, Tinkerbell, and Chirikov's area-preserving standard map. Parametric figures including Lissajous curves, polyhedra and geometric solids exportable as printable STL, and a sequence walk with a rigid-body floor to drop it on.
Audio from the microphone or from the built-in function generators, read three ways. As a spectrogram (STFT). On an XY oscilloscope. And as a Takens delay embedding — attractor reconstruction from a single signal, after F. Takens, "Detecting strange attractors in turbulence" (1981) — where each point is the delay vector of the live sound and a pure tone draws a closed loop while speech and music trace the geometry of whatever produced them. The embedding delay tau is measured from the first minimum of the average mutual information (Fraser and Swinney 1986) and the embedding dimension m by false nearest neighbours (Kennel et al. 1992), rather than guessed. A polar variant draws the same delay vector bounded by a sphere instead of a cube.
A stereo embedding plots the two channels against each other instead of one channel's past: seen head-on it is the goniometer, or vectorscope, of a mastering desk, with a correlation meter, and the third axis is what a two-plate scope cannot give you. Phase space reconstruction, state space reconstruction and recurrence plots are the same family of tools, and they run here on live input rather than on a recorded file.
A Custom mode lets you enter arbitrary differential equations (dx/dt, dy/dt, dz/dt, and an optional 4th dimension) or a discrete map; any parameter you name is automatically given a control knob, and the resulting attractor is shareable as a link. Measure whether what you are looking at is actually chaotic by its largest Lyapunov exponent, route audio into any parameter, paint with persistence, or hear the system itself as sound.
Also included: a ripple tank stepped by the wave equation that refracts whatever the rack is drawing, a real Bash shell running in the page that you can rotate while it runs, and a rotatable desktop. An homage to the analog attractor computers at glensstuff.com.
Every model, one page each — the equations, the figure and what the knobs do, for all of them. This link is also the only path a crawler has to those pages: nothing else on this page is a link, because everything else on it is drawn.
Source code: github.com/0magnet/chaosrack. More Go and WebAssembly projects: magnetosphere.net/software.