This simulation iterates the logistic map xn+1 = r·xn·(1−xn), one of the simplest equations that produces genuine chaos. For each column of the bifurcation diagram it sweeps the growth rate r across [0, 4], discards a number of transient iterations, then plots the long-run values x settles into as a density image. A cobweb view traces the same iteration geometrically against the parabola y = r·x·(1−x) and the diagonal y = x, while a time-series view plots xn step by step. A background loop also estimates the orbit's period and its Lyapunov exponent to classify the current regime.
As r rises past 1 the fixed point becomes stable, past 3 it splits into a 2-cycle, and further period-doublings (4, 8, 16…) accumulate at r ≈ 3.5699 — the onset of chaos. Beyond that the bifurcation diagram fills with dense, chaotic bands interrupted by narrow periodic windows, the clearest being the period-3 window around r ≈ 3.828–3.857 that the "Jump to period-3 window" button zooms into.
Switch between Bifurcation, Cobweb, Time series or All views. Drag r (0–4) to move through the cascade, set the initial x₀ (0.001–0.999), and adjust iterations-per-column and skipped transients to trade detail for render speed. On the bifurcation diagram you can drag a rectangle to zoom into a region and see the self-similar Feigenbaum structure repeat; Reset zoom returns to the full [0, 4] range, and Pause freezes the cobweb animation.
The period-doubling cascade in the logistic map converges at a universal rate described by the Feigenbaum constant δ ≈ 4.6692, which shows up in the same way in countless other chaotic systems — a rare case of a genuinely universal number in nonlinear dynamics.
It is the iteration xn+1 = r·xn·(1−xn), where x is a value between 0 and 1 (often modelling a population fraction) and r is a growth-rate parameter between 0 and 4. Despite its simplicity, repeatedly applying this one formula produces everything from stable equilibria to periodic cycles to full chaos, depending only on the value of r.
For each r value along the horizontal axis, the simulation iterates the map many times, skips an initial run of transient iterations so the orbit settles down, and then plots the surviving x values as points stacked vertically. Where the map settles to one value you see a single point; where it settles into a cycle you see a small number of branches; where it is chaotic you see a dense smear, colour-coded by how often each pixel is visited.
As r increases past 3, the single stable equilibrium splits into a 2-cycle, then a 4-cycle, then an 8-cycle, and so on — a period-doubling cascade. The r values where these splits happen get closer together geometrically, and the whole cascade accumulates at r ≈ 3.56995, known as the Feigenbaum point. Beyond it the orbit no longer settles into any finite cycle and the dynamics become chaotic, though narrow periodic windows (like period-3 near r ≈ 3.83) still appear.
The cobweb view draws the parabola y = r·x·(1−x) together with the diagonal y = x, then traces the iteration step by step: a vertical line from xn up to the parabola gives xn+1, and a horizontal line to the diagonal carries that value back onto the x-axis for the next step. Watching this staircase-like path settle onto a point, bounce between a few points, or wander erratically shows visually whether the current r produces stability, periodicity or chaos.
The Lyapunov exponent λ measures how fast two nearby starting points diverge (or converge) under repeated iteration of the map. When λ is negative the orbit is stable or periodic, when λ is very close to zero the system sits at the edge of chaos (often right at a period-doubling point), and when λ is positive the dynamics are chaotic — tiny differences in x₀ grow exponentially, which is the hallmark of sensitive dependence on initial conditions.