
Boy's Surface
3D object3DSeamless loop16 seconds
A translucent shimmering band with three half-twists whose single glowing edge is a trefoil knot, pulses of light running round it. Loops perfectly.
In Science & maths, Light, glass & shine
Next: Boy's SurfaceSurprise me
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
The preview runs the same code your AI receives. These settings travel with the hand-off.
A knot you can hold a film across. The trefoil, the simplest knot, is the single edge of a band given three half-twists, so a soap film spanning it is a ribbon that twists three times as it goes round, with one side, one edge, and that edge tied in a knot. Here the band is a translucent, shimmering surface with a glowing knotted edge along which pulses of light run while the whole thing turns. Choose the finish (shimmer, rose, gold or ink), the width of the band, the number of pulses, the laps they make per loop, the turns of the knot per loop, the seed, the backdrop colour and whether the camera sways.
src/seifert-surface.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses chrome-material only for the demo.
src/seifert-surface.jscreateSeifertSurface({ finish?, width?, pulses?, laps?, turns?, seed? }) => { group, setProgress(progress), dispose() }FINISHES: { shimmer, rose, gold, ink }three@0.185.1 (source) — Renderer, geometry and shader materials.chrome-material@1.1.0 (demo) — Studio environment light, backdrop and contact shadow.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: The band's core circle has radius 2.4 and it is hung 3.3 above the floor; the band's half-width is 1.05 × the width setting; its three half-twists give a trefoil edge.
Lighting: A warm key light with a shadow map and the studio environment on the translucent band; the edge and pulses are self-lit.
Timing: setProgress(progress) places each pulse along the edge curve and turns the group; frames render in any order.
npm install
npm run render -- seifert-surface/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:6f26abd6c80c95e2…
3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop9.6 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds