Release Stats
New Simulations
Derivative Visualizer
The limit definition of the derivative made visible. Drag the point, set h with a slider or press "Shrink h → 0" to animate the secant converging to the tangent. Eight functions: sin, cos, x², x³, eˣ, ln, √x, |x|.
Open simulation →Holography
Record mode: object point source + tilted plane reference wave interfere as an animated pixel-by-pixel pattern. Reconstruct mode: the hologram diffracts the reference beam, reproducing the virtual image. Adjustable λ, angle, and object position.
Open simulation →Superconductivity
Three views in one: BCS Cooper pairs gliding through a crystal lattice, Meissner effect expelling field lines, and Abrikosov vortices in the Type II mixed state. Five material presets from Hg (4.2 K) to YBCO (93 K).
Open simulation →Technical Highlights
📐 Derivative Visualizer: h → 0 Animation
The simulation maintains two animated curve segments on a Canvas
740×440 frame: the dashed cyan secant line
(x₀, f(x₀)) → (x₀+h, f(x₀+h)) with opacity scaled by
h/0.5, and the solid yellow tangent line
slope = f′(x₀). The "Shrink h → 0" animation multiplies h
by 0.97 per requestAnimationFrame tick — a smooth
exponential decay that visually demonstrates convergence. View bounds
auto-adjust per function (e.g., exp uses x ∈ [−1.5, 2.5], ln uses x ∈
[−0.5, 5]).
The |x| function at x=0 intentionally shows a non-differentiable
point: the analytic derivative is undefined (x/|x|) and
the secant slope oscillates between +1 and −1 regardless of h — a
striking visual illustration of why the cusp fails the limit test.
🔮 Holography: ImageData Wave Optics
Each animation frame calls
ctxS.createImageData(360, 320) and fills all
115,200 pixels in two nested loops. The reference wave
phase at pixel (px, py) is:
φ_ref = k·(sin θ·px + cos θ·py), where
k = 2π/(λ/40) maps nanometres to on-screen pixels (1 unit
= 40 px). The object wave uses
φ_obj = k·dist(px,py → ox,oy) with spherical decay
÷√(dist+1).
The hologram panel uses a static (non-animated)
createImageData: it computes the interference intensity
I = (1 + cos(φ_ref − φ_obj))/2 along the recording plane
y position and spreads it vertically with a linear fade mask. The
result accurately reproduces the fringe spacing expected from
d = λ/(2 sin(θ/2)).
🧲 Superconductivity: Three-View Architecture
The superconductivity simulation renders two canvases simultaneously.
The left canvas (380×320) alternates between three mode functions:
drawBCS(), drawMeissner(), and
drawVortex(). The right canvas (340×320) always shows the
R(T) curve with the live temperature marker — a design decision that
keeps the phase transition context always visible during exploration.
BCS mode uses 28 agent-electrons. Pairs have a fixed partner index and
drift rightward at 0.6 px/frame, wrapping at canvas edge — simulating
the ordered collective flow of the condensate. Normal electrons
undergo Euler integration with random thermal kicks clamped to a speed
that decreases as
T → Tc. Vortex mode generates Abrikosov vortex objects
only when Hc1(T) ≤ H ≤ Hc2(T) — correctly implementing
the Type I/II thermodynamic distinction.
2Δ = 3.52 k_B Tc (weak-coupling limit). Real materials
like YBCO involve d-wave pairing and strong correlations beyond BCS —
the simulation labels this clearly in the info panel.
What's Coming in Wave 45
The TODO backlog includes several fascinating candidates across underrepresented categories: Quantum Chromodynamics (colour confinement visualizer), Protein Folding (Ramachandran plot + energy landscape), Reaction Networks (Petri nets + stoichiometric matrices), and Topological Insulators (bulk-edge correspondence). We're also considering a deep-dive Fourier Series builder and an Enzyme Kinetics (Michaelis-Menten) simulation for biology students.