BuckyBounce: Molecular Physics & Euler Topology Lab
An interactive Three.js structural mechanics playground exploring nanoscale allotropes, spring-mass lattice dynamics, harmonic resonance sweeps, and Euler face extraction.
What started as an impulse to explore mechanical physics through expanding Hoberman breathing spheres quickly evolved into building a real-time molecular physics laboratory in Three.js. A spring-mass network based on the 60-vertex truncated icosahedron provided the ideal playground: 90 covalent bonds modeled as damped Hooke's law springs () and solved with sub-stepped numerical integration, paired with Web Audio FM synthesis for tactile collision clacks.
To turn the simulation into an interactive structural mechanics testbed, the engine needed topological awareness. A chordless minimal cycle traversal algorithm parses raw node-link graphs to extract 2-manifold faces dynamically, locating the exact 12 pentagons and 20 hexagons predicted by Euler's polyhedral formula (). Those 12 pentagonal topological defects became holographic arcade target rings for high-speed probe ricochets with pentatonic chime sweeps and combo scoring.
The project expanded across six distinct allotropes and structural architectures—from armchair carbon nanotubes and graphene sheets to floating tensegrity icosahedrons with isolated compression struts suspended in continuous tension networks. A harmonic driving oscillator sweeps excitation frequencies to reveal natural eigenmode resonances in real time, accompanied by thermal strain heatmaps, yield-stress covalent bond snapping, and laser-weld lattice repair.
Timeline
What started as an impulse to explore mechanical physics through expanding Hoberman breathing spheres quickly evolved into building a real-time fullerene spring-mass simulator in Three.js. Generating the 60-vertex truncated icosahedron required deriving 12 golden-ratio () 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 (), 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.
To turn an elastic bouncing buckyball into an arcade physics challenge, the engine needed to recognize molecular faces rather than just raw vertices and edges. Implemented a chordless minimal cycle traversal algorithm that parses the raw node-link graph to automatically detect 2-manifold faces, extracting exactly the 12 pentagons and 20 hexagons governed by Euler's polyhedral formula (). Transformed the 12 pentagonal topological defects into glowing holographic target rings oriented along their outward surface normals. Built a high-speed projectile slingshot mechanic that lets you fire particle probes through the molecular cage, rewarding precision ring threading with procedural pentatonic chime sweeps and exponential combo multipliers when ricocheting off interior nodes.
Upgraded BuckyBounce into a structural mechanics laboratory featuring 6 allotropes, harmonic resonance sweeps, and catastrophic bond fracture. Expanded the geometry engine beyond to generate fullerenes, armchair carbon nanotubes, graphene honeycomb sheets, geodesic domes, and 6-strut tensegrity icosahedrons with isolated compression bars suspended in continuous tension networks. Implemented a harmonic driving oscillator to sweep excitation frequencies () and reveal natural eigenmode vibrations in real time. Dynamic vertex shaders map Hooke's strain tensors into thermal heatmaps (cyan yellow red), triggering covalent bond snapping when local strain exceeds yield strength—complete with a laser-weld synthesis tool to reconstruct shattered lattices atom by atom.