Domino Chain Simulator Back
Rigid Body Simulator

Domino Chain Simulator

Simulate domino chain reactions with a 2D rigid body physics engine. Place dominoes by clicking, push the first one, and watch angular momentum propagate through the chain in real time.

Domino Chain Simulator

Click to place dominoes, push to trigger the chain

Controls

Click on the canvas to add individual dominoes

Domino spacing
Spacing
px
Domino height
Height
px
Gravity
g
m/s²
Results
0
Total
0
Fallen
0.0
Kinetic energy
0.0s
Elapsed time
50
Spacing (px)
60
Height (px)
10.0
Gravity (m/s²)
Color legend
At rest
Rotating
Fast
Fallen
$$I\ddot{\theta}= \tau_g - c\dot{\theta}$$

$I = \frac{mh^2}{3}$ (pivot at base), $\tau_g = mg\frac{h}{2}\sin\theta$

Impulse transfer: $\Delta L = F_{\mathrm{imp}} \cdot r_\perp \cdot \Delta t$

Dom

🁣 Place your dominoes

Click on the canvas to add dominoes
or use "Auto place" to fill a row automatically

Theory & Key Formulas

$$I\ddot{\theta} = \tau_g - \tau_d$$

慣性モーメント $I = \frac{mh^2}{3}$(底辺回転)、重力トルク $\tau_g = mg\frac{h}{2}\sin\theta$、減衰トルク $\tau_d = c\dot{\theta}$。$m$: 質量、$h$: 牌高さ、$\theta$: 傾斜角。

$$\Delta L = F_\text{imp} \cdot r_{\perp} \cdot \Delta t$$

衝突時の角運動量移動。$F_\text{imp}$: 衝撃力、$r_{\perp}$: 接触点の垂直距離、$\Delta t$: 衝突時間。

$$v_\text{tip} = h\dot{\theta}$$

牌先端速度。倒れる速度が大きいほど次の牌に伝わる運動量が増加し、連鎖が加速する。

What is a Domino Chain Reaction?

🙋
What exactly is happening physically when one domino knocks over the next? It seems simple, but there must be more to it.
🎓
Basically, it's a transfer of rotational energy and momentum. The falling domino gains kinetic energy from gravity. When it hits the next one, it applies an impulse—a sudden force over a short time—that gives the second domino a push, starting its own rotation. Try reducing the "Spacing" parameter in the simulator above; you'll see the transfer happens much faster.
🙋
Wait, really? So the speed of the chain reaction isn't just about how hard the first push is? What else controls it?
🎓
Exactly! The propagation speed depends heavily on the domino's geometry and spacing. A taller domino has a higher center of mass, so gravity can pull it down with a greater torque, making it fall faster. That's why the "Height" slider has such a big effect. In practice, the chain's speed is a balance between how fast each domino falls and how far it has to tip to hit the next one.
🙋
What about the "g" parameter? That's gravity, right? How does changing gravity affect the simulation on Earth?
🎓
Right, "g" is the gravitational acceleration. On Earth, it's 9.8 m/s², but tweaking it in the simulator shows a core principle: a higher "g" increases the driving torque from gravity, making dominoes fall much more violently. For instance, on a planet with higher gravity, your domino chain would collapse in a blur. This direct control lets you isolate and see gravity's specific role in the dynamics.

Physical Model & Key Equations

The motion of a single domino rotating about its base is governed by the rotational version of Newton's second law. The angular acceleration depends on the net torque applied.

$$I\ddot{\theta}= \tau_g - c\dot{\theta}$$

Here, $I = \frac{mh^2}{3}$ is the moment of inertia for a thin rod rotating about its end (a good model for a domino), $\tau_g = mg\frac{h}{2}\sin\theta$ is the torque due to gravity pulling on the center of mass, and $- c\dot{\theta}$ is a small damping torque that slows motion, representing air resistance and friction.

The chain reaction is powered by the transfer of angular momentum during the brief collision. When a falling domino strikes its neighbor, it delivers an impulse that provides the initial "kick" to start the next domino's rotation.

$$\Delta L = \int \tau_{impact} \, dt$$

$\Delta L$ is the change in angular momentum of the struck domino. This impulse depends on the impact speed and the geometry—specifically, where on the domino the hit occurs. This is why the spacing between dominoes is a critical parameter you can experiment with.

Frequently Asked Questions

Currently they are fixed, but changing the height or thickness of the tiles will affect the falling speed and how the chain reaction propagates. We plan to add parameter adjustment functionality in a future update.
It is determined by the tile's height (center of gravity), moment of inertia, gravitational acceleration, and the amount of angular momentum transferred during collision. Taller tiles fall more slowly and deliver a greater impact to the adjacent tile.
The spacing between tiles may be too wide, or the falling speed may be insufficient. Placing the tiles closer together or pushing the first tile harder (by long-clicking) can help sustain the chain reaction.
Air resistance and friction are simplified, so the chain reaction tends to proceed more smoothly than in reality. However, the basic mechanisms of angular momentum conservation and energy loss are accurately reproduced.

Real-World Applications

Rube Goldberg Machines & Educational Demonstrations: Domino chains are classic examples of energy transfer and chain reactions. They are used in physics classrooms to visually demonstrate concepts of potential/kinetic energy, momentum transfer, and wave propagation in a tangible way.

Modeling Cascading Failures: The domino effect is a powerful metaphor and mathematical model for cascading failures in networks, such as electrical grid blackouts, financial market collapses, or the spread of information (and misinformation) in social networks.

Entertainment & Art: Large-scale domino topples are staged for world records and artistic performances. Planning these requires understanding the physics to ensure reliable propagation, choose correct spacing, and create visual patterns like waves and spirals.

Conceptual Engineering Design: While not a direct CAE tool, the simulator's underlying physics—rigid body dynamics, collision detection, and impulse resolution—are foundational for professional engineering software used in crash testing, robotics, and mechanism design.

Common Misconceptions and Points to Note

First, you might think that "the narrower the spacing, the faster the chain reaction," but in fact, there is an optimal spacing. For example, if the spacing is extremely narrow relative to the tile's height (e.g., less than 10% of the height), a falling tile will hit the top of the adjacent tile, resulting more in a "pushing in" motion rather than a clean push-over. This fails to transmit effective torque (as $r_{\perp}$ becomes smaller) and can actually slow down or even stop the chain. As a guideline, a spacing of about 20-30% of the tile's height often allows for the most efficient transfer of angular momentum.

Next, even if you set the "coefficient of friction" to zero in the simulation, this is impossible in reality. If the friction with the table were completely zero, the tile's pivot point would slip as it falls, preventing a clean rotational motion. This tool assumes infinite friction with the table (no slipping), allowing you to observe pure rotational motion. The pitfall is that when reproducing this with physical objects, you need to use non-slip mats or similar to approximate this condition.

Finally, note that "increasing gravity g does not make the chain infinitely faster." While the angular acceleration of the fall is proportional to g, the collision moment cannot be ignored. If g is increased too much, the falling speed becomes so high that upon collision, tiles may bounce back or generate impact forces large enough to damage the next tile. Since the simulation does not model "destruction," you might observe unnatural bouncing. In practical chain design, it's crucial to identify the range of g that allows for stable propagation.

How to Use

  1. Set domino spacing (default 30 px) and height (default 80 px) using sliders or numeric inputs. Spacing determines propagation speed; tighter spacing ensures chain continuation.
  2. Adjust gravity (default 9.81 m/s²) to simulate different environments. Higher gravity accelerates fall rates and increases kinetic energy transfer.
  3. Click the start button to push the first domino. Monitor Total/Fallen counters, Kinetic energy (J), and Elapsed time (s) as the chain reaction propagates across the grid.

Worked Example

Configure 20 dominoes with spacing 25 px, height 75 px, gravity 9.81 m/s². Initial push imparts 0.15 J to domino 1. At t=0.25s, domino 2 falls and transfers 0.18 J kinetic energy. By t=0.80s, all 20 dominoes have fallen with peak kinetic energy of 2.1 J recorded at domino 10. Increasing spacing to 35 px breaks the chain at domino 7 (fallen 6/20) due to insufficient angular momentum to reach the next piece.

Practical Notes

  1. Spacing-to-height ratio below 0.4 ensures reliable chain continuation; at 0.5+ ratio, gaps emerge and chains break mid-sequence.
  2. Gravity variations matter significantly: lunar gravity (1.62 m/s²) extends elapsed time 2.4× longer than Earth standard while reducing peak kinetic energy by 65%.
  3. Monitor kinetic energy plateau to detect chain failures—constant energy values indicate stalled propagation before all dominoes fall.
  4. Domino height affects rotational inertia; 100 px pieces require 1.4× more impulse than 60 px pieces to achieve similar fall velocities.