
Faraday Wave
Background3DSeamless loop12 seconds
The Julia set of z² + c morphing as c circles the origin: dendrites, spirals, dust and lace in one loop. Loops perfectly.
In Science & maths, Patterns & illusions
Next: Faraday WaveSurprise me
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
The distance of c from the origin: about 0.79 gives the famous family of shapes.
Iterations per pixel: more shows finer filaments and costs more.
Where round its circle c starts, as a fraction of a turn.
The preview runs the same code your AI receives. These settings travel with the hand-off.
The Julia set of the iteration z → z² + c, with c travelling once round a circle in the complex plane. The set grows, pinches into dust, thickens into dendrites, curls into spirals and blooms into lace: a whole family of shapes in one smooth morph that returns exactly to where it began. Three looks share the same mathematics: stained glass (the inside coloured by how close the orbit came to a circle, leaded by the edge), neon filaments (the set drawn as glowing lines by its distance estimate) and smooth bands of escape time. Choose the look, the colours (gold, ice, ember or rainbow), the orbit of c, the zoom, how far the view sways, the brightness, the detail and where on its circle c starts.
src/julia-morph.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses the demo harness only for the demo.
src/julia-morph.jscreateJuliaMorph({ style?, palette?, radius?, zoom?, spin?, brightness?, detail?, start? }) => { scene, camera, material, setSize(width, height), update(time, loopSeconds), dispose() }createBloomPass(renderer, { width, height, glow?, exposure?, grain? }) => { render(scene, camera, output?), dispose() }PALETTES: { ice, ember, neon, gold }STYLES: ['neon', 'smooth', 'stained']three@0.185.1 (source) — Renderer, the full-screen shader and the bloom targets.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: The complex plane, about 2.2 units across at zoom 1.2, centred on the origin; c = r·(cos a, sin a) with a going once round per loop.
Lighting: Self-lit: the colours are the fractal's; the bloom adds the glow of the neon look.
Timing: update(time, loopSeconds) sets the loop phase; frames render in any order.
npm install
npm run render -- julia-morph/1.0.0 --out my-video.mp4Needs Node 18+, ffmpeg and Chrome/Chromium. Add --params my-settings.json (from Copy settings) for your own settings.sha256:53b51a409b593075…
Background3DSeamless loop12 seconds

Background3DSeamless loop15 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop14 seconds

Background3DSeamless loop10 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Effect2DSeamless loop8 seconds