loading...
running...
How to use
Pick a preset or move the sliders, press Reset to grow a new figure. Drag to orbit, wheel / pinch to zoom, camera buttons for fixed views. Lower the voltage until growth stalls (state stalled): only cells with V·φ/h above Eb can break down. Space pauses. Quality: High is a 48x48x32 lattice with glow, Low is 32x32x22.
Assets: a Blender-modelled bench (wood and brushed-steel parts baked to PBR textures, acrylic block, needle electrode, supply box) exported as a Draco GLB; the discharge itself is computed live in JavaScript.
The science
Dielectric Breakdown Model (Niemeyer, Pietronero & Wiesmann 1984) on a 3D lattice inside the acrylic block. The discharge channel is a conductor at potential 0; the grounded plate under the block is at potential V. In the insulator the potential obeys Laplace's equation, solved by successive over-relaxation (ω = 1.9):
∇²φ = 0, φ(channel) = 0, φ(plate) = 1, ∂φ/∂n = 0 on side walls and top
A cell touching the channel joins it with weight proportional to φη (the local field is E ≈ Vφ/h, h = 120 mm / lattice width), only if that field exceeds the breakdown field:
P(i) ∝ φiη if Vφi/h ≥ Eb, else 0
η = 1 is the physical field-driven choice; η = 0 is Eden (compact) growth, larger η gives sparser needles. Fractal dimension: D = -d ln N(s) / d ln s (box counting, graph 1); the radius of gyration scales as Rg ∝ N1/D (graph 2).
Honest simplifications: quasi-static field (no charge relaxation, no leader or streamer physics), a single effective Eb, a coarse lattice (2.5 mm cells), illustrative voltages. Real Lichtenberg figures in acrylic are made by injecting an electron beam (MeV class) that charges the block, then discharging it with a spark: dangerous, never a home experiment. Independent checks run in the page: the Laplace solver against the exact linear potential, and the box-counting estimator on a line, plane and cube (D = 1, 2, 3).