The idea in plain English: You know that desk toy with 5 metal balls hanging from strings? You pull one ball back, let it go, it swings, hits the next ball, and the ball on the far end swings out. This puzzle is that toy, but with different-sized balls, different materials, and different gravity levels. Each time a pendulum swings and hits another one, that's a collision. The total number of collisions that happen in a certain time tells you one letter. Different cradles with different setups give you different letters. Read the letters in order → answer word.
Why this really exists: Pendulum physics and collision simulation are used everywhere: golf simulators compute how a club head transfers energy to a ball, car crash tests simulate collisions to design safer vehicles, and pool/billiards games compute ball trajectories and collisions in real-time. The conservation of momentum and energy equations this puzzle uses are the same ones NASA uses to plan spacecraft docking maneuvers.
Each cradle has a different combination of weights and lengths, so each produces a different collision count. The time window is fixed (e.g. 10 seconds of simulation).
When two balls collide, three things happen:
🎯 Mental model:
Imagine pool balls on a table. Stripe hits solid: stripe stops, solid rolls away (same weight). Now imagine a bowling ball hitting a pool ball: bowling ball barely slows down, pool ball rockets away. Now imagine a pool ball hitting a bowling ball: pool ball bounces back weakly. Different weights → different collision outcomes → different number of total collisions.
1. For each pendulum cradle, you get: ball masses, string lengths, starting angles, restitution
2. Set up a time simulation with small time steps (e.g. 0.001 seconds per step)
3. At each step:
— Update each pendulum's angle using gravity and string length
— Check if any two balls are touching (center-to-center distance)
— If touching: resolve the collision using momentum + energy equations
— Count the collision
4. After the time window expires (e.g. 10 simulation seconds), total collisions = this cradle's number
5. Map number to letter (0=A, 1=B, ..., 25=Z)
6. Do this for each cradle, collect letters in order → answer!
💡 Use a physics simulation technique called "semi-implicit Euler" — don't overthink it, it's just: update velocity first, then position. This keeps the simulation stable even with large time steps.
| Difficulty | Pendulums per cradle | Cradles | Time window |
|---|---|---|---|
| 1 | 2 | 3-4 | 5s |
| 3 | 2-3 | 4-5 | 10s |
| 5 | 3-5 | 5-6 | 15s |
| 7 | 4-6 | 5-7 | 20s |