
Newton's Cradle
3D object3DSeamless loop9.6 seconds
A brass kinetic sculpture: a wheel lifts chrome balls that roll down a spiral and back across a walnut base. Loops perfectly.
In Machines & clockwork, Light, glass & shine, Toys, games & parties, Craft & heritage
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
Changes the wood grain.
The preview runs the same code your AI receives. These settings travel with the hand-off.
A desk-sized kinetic sculpture in polished metal: a wheel with eight cradles lifts chrome balls one by one and tips each onto a pair of rails at the top; the balls roll down a spiral round a column and back across the front of the base into the wheel again, speeding up where the track is steep and easing off on the gentle stretches, while the rails cast thin shadows on the wood. Choose the metal (brass, copper, steel or black), the base (walnut, oak or black), the number of balls and the backdrop.
src/rolling-ball-sculpture.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/rolling-ball-sculpture.jscreateBallSculpture({ metal?, base?, balls?, loopSeconds?, seed? }) => { group, loopSeconds, wheelTime, trackLength, bounds, ballAt(tau), update(time), dispose() }METALS: { brass, copper, steel, black }BASES: { walnut, black, oak }three@0.185.1 (source) — Renderer, geometry and physical materials.chrome-material@1.1.0 (demo) — Studio environment light, backdrop, floor and contact shadow.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: 1 unit = 10 cm. The base is 5.6 wide and 2.5 deep; the sculpture is 4.05 tall. The wheel turns about the z axis at x = 1.2, y = 2.25.
Lighting: Physical metal: needs scene.environment to look like metal; a shadow-casting key light draws the rails' shadows on the base.
Timing: update(time) is a pure function of time; frames render in any order. ballAt(tau) gives a ball's position tau seconds into its circuit.
npm install
npm run render -- rolling-ball-sculpture/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:60c80bf96fe5d884…
3D object3DSeamless loop9.6 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

Background3DSeamless loop12 seconds