The flow underneath is still the classic Rössler system, chaotic at c₀ = 5.7:
dx/dt = -y - z
dy/dt = x + 0.2y
dz/dt = 0.2 + z(x - c)
OGY control never acts on the continuous 3D trajectory directly — it acts on the Poincaré return map, the genuinely 2D discrete-time system obtained by recording only where the flow punctures the plane y = 0. That map, P: (xₙ, zₙ) → (xₙ₊₁, zₙ₊₁), is exactly what this page plots: every dot is one crossing, not a projection of the 3D curve. The main panel is the actual state space the controller operates in.
On load the sim integrates in the background (RK4, never rendered) to hunt for a close return among thousands of crossings — a point that lands almost back on itself one crossing later. That is a genuine unstable period-1 orbit of the map (gold marker), found numerically. The sim then linearizes P near it by nudging (xₙ, zₙ, c) and re-integrating to get the 2×2 Jacobian A and control vector g = ∂P/∂c, diagonalizes A for the unstable eigenvalue λᵤ and its left eigenvector fu, and — whenever a crossing lands within the capture window ε (violet ring) — applies
δc_n = − λᵤ · [f_u · (x_n − x*)] / [f_u · g]
clamped to the max-nudge slider. The bottom strip is the distance-to-target time series, one bar per crossing, colored the same way as the dots: it makes the "wait for chaos to bring the point back inside ε, then snap and hold" behaviour visible as a chart, not just a lock-on in space.
- Control: ON/OFF — toggle the feedback law; off, the parameter is frozen at c₀ and the map runs fully chaotic.
- Capture window ε — radius of the violet circle; a crossing must land inside it before the linear control law is trusted.
- Max nudge |δc| — the hard clamp on any single correction to c.
- Kick — injects a real (non-infinitesimal) 3D displacement into the live trajectory to test recapture speed.