Skip to content
Andrew Voirol
Wednesday, July 29, 2026buckybounce-physics-lab

From Hoberman sphere breathing to C60 spring-mass physics

ReactAnimationVisualization

What started as an impulse to explore mechanical physics through expanding Hoberman breathing spheres quickly evolved into building a real-time C60C_{60}C60​ fullerene spring-mass simulator in Three.js. Generating the 60-vertex truncated icosahedron required deriving 12 golden-ratio (ϕ=(1+5)/2\phi = (1 + \sqrt{5})/2ϕ=(1+5​)/2) vertices of an icosahedron dual, normalizing them to a sphere, dividing each connecting edge into thirds, and wiring the nearest triples to produce 90 covalent spring links. Each bond acts as a damped Hooke's law spring (F=−kΔx−cvF = -k \Delta x - c vF=−kΔx−cv), solved with sub-stepped Euler integration to prevent explosive instability under high restitution. Added an interactive impulse punch system that deforms the molecular cage on click and bounces elastically off canvas boundaries, paired with Web Audio API frequency-modulation (FM) synthesis that produces a crisp metallic clack on every collision.

← Previous

Sixty projects to go and the patterns are already showing

Next →

Five-sound concurrency caps and the 125-second screencast war


Andrew Voirol

Builder, hacker, shipper. Currently leaving localhost.

Navigate

WorkThreadsBuilder's LogAboutContactRSS Feed

Connect

X / TwitterGitHubLinkedIn

© 2026 Andrew Voirol·Back to top ↑
✦Just one prompt away from figuring it all out.