: If you move your browser window rapidly, the balls react to the movement. Double-Click : Reset the screen or change the gravity direction. Where to play : It is hosted on Mr.doob's Ball Pool page Experiments with Google physics-based experiments or perhaps the "Space" version where everything instead of falling? Ball Pool - Mr.doob
Type a word into the fallen search bar and hit enter to watch new result blocks rain down [1, 2]. 🎨 The Legacy of Mr.Doob's Experiments
The experiment utilizes a 2D rigid-body physics engine. This handles mass, friction, restitution (bounciness), and collision detection for each HTML element. 2. Document Object Model (DOM) Manipulation
See a list of other like "Do a Barrel Roll" or "Google Sphere."
Looking for more? You can explore the full list of Mr.doob’s experiments on the official Google Chrome Experiments site . If you'd like to try other similar experiments, Share public link
But the magic doesn't stop there. Once the elements fall, you can interact with them like physical objects. You can click on them, drag them, toss them around, and watch them bounce and collide with each other. You can also drag specific elements — such as the Google logo — lift them to the top of the browser, and then let them drop, watching them ricochet off other objects as they fall back down. This turns the normally static Google page into an interactive physics sandbox where you are free to experiment at will.
At the time of its release, it served as a powerful demonstration of . It showed how developers could move away from static layouts toward dynamic, hardware-accelerated animations without needing external plugins like Flash.
Despite the chaos, the experiment remains semi-functional. If you manage to find the search bar amidst the pile of digital debris, typing a query and hitting enter brings more search results cascading down from the top of the screen, adding more weight to the pile. Who is Mr.Doob?
loop(timestamp): dt = time since last frame for each body: body.vy += gravity * dt body.x += body.vx * dt body.y += body.vy * dt if body hits bottom: body.y = floor; body.vy *= -restitution element.style.transform = `translate3d($body.xpx, $body.ypx, 0) rotate($angledeg)` requestAnimationFrame(loop)
This experiment presents a functional version of the Google homepage that instantly collapses as if hit by gravity. The Experience: When you visit the Google Gravity page
, all UI elements (the logo, search bar, and buttons) fall to the bottom of the screen. Interactivity: