Last time I wrote about the block collision puzzle: heavy block, light block, wall, no friction, perfectly elastic collisions, and the number of clacks turns out to be the digits of π.
Perfectly elastic. That assumption did a lot of work.
Real collisions lose energy. Steel on steel gives you maybe 0.95. So the obvious question is: what happens if we relax that? Does π degrade gracefully? Do you get 314 clacks, then 312, then 305, as the bounciness drops?
I assumed the answer would be boring. It is not boring. The count goes up, and then at a sharp threshold it goes to infinity.
Here’s how to get there. And this time I’m going to use matrices instead of geometry, for a reason I’ll explain in a second.
Setting it up
The standard way to model a lossy collision is the coefficient of restitution, $e$. The rule is:
$$\text{separation speed} = e \times \text{approach speed}$$
$e = 1$ is perfectly elastic (bounces back at full speed). $e = 0$ is perfectly inelastic (the blocks stick together). Real materials live in between.
So a block-on-block collision now obeys two rules: momentum is still conserved, and
$$v_1′ – v_2′ = -e\,(v_1 – v_2).$$
For the wall, I’ll keep it elastic ($v_2 \to -v_2$) to keep the algebra readable. Adding wall restitution changes one number and I’ll say where.
Everything else is the same as before: big block $M$ comes in from the right at $v_1 = -v_0$, small block $m$ sits still next to the wall, and we count clacks until $v_1 \ge v_2 \ge 0$.
Why matrices this time
The elastic solution was pure geometry. Rescale to $x = \sqrt M v_1$, $y = \sqrt m v_2$, and energy conservation puts the state on a circle. Every collision is a mirror reflection. Two mirrors make a rotation. Count the steps around the circle. Done.
That argument leans entirely on the circle staying put. Energy is conserved, so the radius never changes, so we’re doing plain rotations on a fixed circle.
Now energy leaks out. The state spirals inward. And it doesn’t spiral inward evenly, because the wall bounce is lossless while the block bounce isn’t. Trying to keep the picture straight gets fiddly fast.
Matrices don’t care. Both events are linear maps on $(x, y)$. Write down the two matrices, multiply them, and read off the eigenvalues. The eigenvalues will tell us everything, including things I wasn’t looking for.
The collision matrix
Solve momentum plus restitution for the outgoing velocities:
$$v_1′ = \frac{(M – em)v_1 + m(1+e)v_2}{M+m}, \qquad v_2′ = \frac{M(1+e)v_1 + (m – eM)v_2}{M+m}.$$
Now switch to the scaled coordinates $x = \sqrt M v_1$, $y = \sqrt m v_2$ (the same rescaling as before — I’ll get to why it’s still the right one). Substitute and clean up. It helps to define, exactly as in the elastic case,
$$\theta = \arctan\sqrt{\frac{m}{M}}, \qquad\text{so}\qquad \cos^2\theta = \frac{M}{M+m},\quad \sin^2\theta = \frac{m}{M+m}.$$
You get
$$C = \begin{pmatrix} \cos^2\theta – e\sin^2\theta & (1+e)\sin\theta\cos\theta \\[2pt] (1+e)\sin\theta\cos\theta & \sin^2\theta – e\cos^2\theta \end{pmatrix}.$$
Symmetric, which is already a hint that something nice is going on. Push the double-angle identities through and it becomes:
$$\boxed{\ C = \frac{1-e}{2}\,I \;+\; \frac{1+e}{2}\,F_\theta\ }$$
where $F_\theta$ is the reflection matrix across the line at angle $\theta$, which is exactly the mirror from the elastic story.
I think this is genuinely lovely. A lossy collision is a weighted average of doing nothing and doing the elastic collision. The weights add to 1. Dial $e$ from 1 down to 0 and you slide continuously from “pure mirror” to the halfway point $\frac{1}{2}(I + F_\theta)$, which is the orthogonal projection onto the mirror line.
That projection has a clean physical meaning. When $e = 0$ the blocks stick, all relative motion is destroyed, and the only thing that survives is the component along the momentum direction. Geometrically: the state gets flattened onto the mirror. A projection is a reflection that lost its nerve.
The eigenvalues fall right out, since $F_\theta$ has eigenvalues $+1$ and $-1$:
- along the mirror: $\frac{1-e}{2} + \frac{1+e}{2} = 1$
- perpendicular to it: $\frac{1-e}{2} – \frac{1+e}{2} = -e$
Which is just restating the physics: momentum (the along-mirror component) is untouched, relative velocity (the perpendicular component) flips and shrinks by $e$. So $\det C = -e$ and $\operatorname{tr} C = 1 – e$.
And the wall is still
$$W = \begin{pmatrix} 1 & 0 \\ 0 & -1\end{pmatrix}.$$
One full cycle
The events strictly alternate. After a block collision the two blocks are separating, so the next event is either the wall or nothing. After a wall bounce the small block is heading right, so the next event is either a block collision or nothing. So a “cycle” is one block hit followed by one wall hit:
$$T = W C.$$
We don’t need to write $T$ out. Trace and determinant are enough:
$$\det T = \det W \cdot \det C = (-1)(-e) = e,$$ $$\operatorname{tr} T = (1+e)\cos 2\theta.$$
(If the wall has its own restitution $\epsilon$, these become $\det T = e\epsilon$ and $\operatorname{tr} T = \frac{(1-e)(1-\epsilon)}{2} + \frac{(1+e)(1+\epsilon)}{2}\cos2\theta$. Everything below goes through unchanged.)
The characteristic polynomial is $\lambda^2 – (1+e)\cos2\theta\,\lambda + e = 0$, so
$$\lambda_\pm = \frac{(1+e)\cos2\theta \pm \sqrt{(1+e)^2\cos^2 2\theta – 4e}}{2}.$$
And now the discriminant splits the problem in two, which I did not see coming.
Two completely different worlds
If the discriminant is negative, the eigenvalues are complex conjugates with modulus $\sqrt{\det T} = \sqrt e$. Write them as $\sqrt{e}\,e^{\pm i\Phi}$ with
$$\cos\Phi = \frac{\operatorname{tr}T}{2\sqrt{\det T}} = \frac{(1+e)\cos 2\theta}{2\sqrt e}.$$
That’s a spiral: rotate by $\Phi$, shrink by $\sqrt e$, every cycle. The rotation is what eventually turns the big block around, so the process ends and the clacks are finite.
If the discriminant is positive, the eigenvalues are real. No rotation at all. The state just converges onto an eigendirection and sits there, decaying. The big block never gets turned around. It never escapes.
So which is it? The condition for the spiral is
$$|\cos 2\theta| < \frac{2\sqrt e}{1+e}.$$
Now, $\cos 2\theta = \frac{M-m}{M+m}$, and $\frac{2\sqrt e}{1+e}$ rearranges nicely. Grind through it and the condition becomes remarkably clean:
$$\boxed{\ \frac{m}{M} \;>\; \left(\frac{1-\sqrt e\,}{1+\sqrt e\,}\right)^{2}\ }$$
Or read the other way, for a given mass ratio you need
$$e \;>\; \left(\frac{1-\sqrt{m/M}}{1+\sqrt{m/M}}\right)^{2}.$$
Same shape both directions, which is a pleasing bit of symmetry between $e$ and $m/M$.
Sanity checks. At $e = 1$ the right side is 0, so the condition always holds — elastic collisions always terminate, as we knew. At $e = 0$ you need $m > M$, meaning the “small” block has to actually be the heavy one. That checks out: if the blocks stick and $M > m$, the merged pair keeps drifting left into the wall forever.
What “never escapes” actually looks like
This is inelastic collapse, the same thing a ping-pong ball does when you drop it: bounces get faster and faster and smaller and smaller, and the whole infinite sequence finishes in finite time.
I simulated it to be sure. Mass ratio 10,000, $e = 0.95$, tracking real positions and real times:
| collisions so far | elapsed time | gap to wall |
|---|---|---|
| 200 | 2.0041224 | ~0 |
| 1000 | 2.0047969 | ~0 |
| 3000 | 2.0047969 | ~0 |
The clock stops moving. The clacks don’t. Both blocks get pinned against the wall at $t \approx 2.005$, with infinitely many collisions crammed into the approach. In practice you’d hear a buzz and then silence.
(Side note for completeness: real eigenvalues also happen at the other extreme, when $m \gg M$. That branch terminates immediately instead — a light block bouncing off a heavy one is basically bouncing off a second wall. It’s the $M > m$ branch that collapses.)
Counting the clacks in the spiral regime
Now the fun part. We’re spiraling, so how many steps?
Here’s the thing that makes exact counting possible. $T/\sqrt e$ has determinant 1 and $|\text{trace}| < 2$, which makes it an elliptic element of $SL(2,\mathbb{R})$ — and every one of those preserves some positive-definite quadratic form. Solving $T^\top G\, T = e\,G$ gives it explicitly:
$$G(x,y) = x^2 + 2\kappa xy + y^2, \qquad \kappa = \frac{1-e}{(1+e)\sin 2\theta}.$$
So the circle isn’t gone. It came back as an ellipse, and instead of staying fixed it shrinks by exactly a factor of $e$ every cycle. $G$ is a kind of pseudo-energy: not conserved, but decaying at a perfectly known rate.
(Nice consistency check: $G$ is positive definite exactly when $|\kappa| < 1$, and if you expand that out, it’s the same inequality as the spiral condition. The circle exists precisely when the motion rotates.)
In the metric set by $G$, the state rotates by exactly $\Phi$ per cycle. Same picture as the elastic case, just viewed through a skewed lens.
The rest is bookkeeping:
- The state starts at direction angle $\pi$ and has to reach the end zone, which is still the thin wedge $[0, \theta]$. A linear change of coordinates maps opposite rays to opposite rays, so the sweep from start to the far side is exactly $\pi$, no matter how skewed the lens is. That’s the fact that saves us.
- So the number of full cycles is $k^\ast = \left\lceil \pi/\Phi \right\rceil – 1$, and the answer is $2k^\ast$ or $2k^\ast + 1$.
- Which one? The last landing falls somewhere inside one “step” worth of angle, and that step splits into an even-stop part of width
$$a = \arctan\frac{\sqrt{1-\kappa^{2}}\,\tan\theta}{1 + \kappa\tan\theta}$$
and an odd-stop part taking the rest. Let $\gamma = \pi – k^\ast\Phi$ be where the landing falls. Then:
$$\boxed{\;N = \begin{cases} 2k^\ast, & \gamma \le a\\[4pt] 2k^\ast + 1, & \gamma > a\end{cases}\;}$$
In the elastic case $\kappa = 0$, so $a = \theta$ and $\Phi = 2\theta$, meaning the step splits exactly in half. That 50/50 split is why the old formula was so tidy. For $e < 1$ the split is lopsided, which is why you can’t just write $\lceil 2\pi/\Phi\rceil – 1$ and go home. (I tried. It’s off by one about a fifth of the time.)
If you only want the size and not the exact integer: $N \approx 2\pi/\Phi$, always within 1.
I checked this against brute force. A few hundred random $(e,\, M/m)$ pairs spanning $e \in [0.02, 1]$ and mass ratios from 0.005 to $10^8$, compared against direct step-by-step simulation. Zero mismatches. And the regime classification was clean too: every case with real eigenvalues on the $M > m$ branch collapsed, every spiral case terminated.
Setting $e = 1$ reproduces $3, 31, 314, 3141, 31415, 314159$, which is the check I actually cared about.
So what do the numbers do?
Mass ratio 10,000. Elastically, that’s 314 clacks.
| $e$ | clacks |
|---|---|
| 1 | 314 |
| 0.9999 | 314 |
| 0.999 | 314 |
| 0.99 | 324 |
| 0.98 | 364 |
| 0.97 | 484 |
| 0.965 | 690 |
| 0.961 | 2996 |
| 0.9608 | ∞ |
| 0.95 | ∞ |
Mass ratio 100, elastically 31:
| $e$ | clacks |
|---|---|
| 1 | 31 |
| 0.99 | 31 |
| 0.95 | 31 |
| 0.9 | 32 |
| 0.8 | 37 |
| 0.7 | 68 |
| 0.67 | 480 |
| 0.6694 | ∞ |
The count goes up as things get less bouncy, then blows up at the threshold.
That surprised me, but it makes sense once you see it. Losing energy doesn’t stop the process; it slows down the rotation. Each cycle turns the state through a smaller angle $\Phi$, so it takes more cycles to swing the big block around. Push $e$ down to the threshold and $\Phi \to 0$: the rotation stalls out completely and you need infinitely many steps to get nowhere.
The actual punchline
Look at the critical restitution as a function of mass ratio:
| $M/m$ | $e$ you need |
|---|---|
| 100 | 0.669 |
| $10^4$ | 0.9608 |
| $10^6$ | 0.99601 |
| $10^8$ | 0.99960 |
| $10^{10}$ | 0.999960 |
| $10^{12}$ | 0.9999960 |
To leading order that’s $e_{\text{crit}} \approx 1 – 4\cdot 10^{-N}$ for a mass ratio of $100^N$.
So: every extra digit of π costs you two more nines of bounciness. Want 3141? You need $e > 0.996$. Want 3141592? You need $e > 0.99999996$. Anything less and you don’t get a worse approximation to π, you get an infinite pile of clacks and two blocks stuck to a wall.
Hardened steel is around 0.95. So with the best material you’re likely to have on hand, this apparatus gives you “31” and that’s the end of the road.
Which tells you something about where the π was coming from in the first place. It was never really about the blocks. It came from an exact symmetry — two mirrors, a perfect rotation, a circle that holds its shape forever. Add a whisper of dissipation and the rotation angle drifts off $2\theta$ and the digits are gone immediately. $e = 1$ is a knife edge of measure zero, and π lives only on the edge.
I find that more interesting than the original result, honestly. The elastic puzzle says “look, π showed up somewhere weird.” This version says why: π is what perfect symmetry looks like, and perfect symmetry is exactly the thing that doesn’t survive contact with reality.
Why the matrices were the right call
Worth naming what the linear algebra actually bought us, because none of it was available from the geometric picture:
- The eigenvalues found the phase transition. I wasn’t looking for one. A sign change in a discriminant is not something a geometric argument volunteers.
- Trace and determinant gave the rotation angle for free. $\cos\Phi = \operatorname{tr}/2\sqrt{\det}$ is two lines, versus chasing distorted angles around a picture.
- The invariant form handed back the circle. Once you know $T/\sqrt e$ is elliptic, a conserved quadratic form has to exist. You don’t have to guess it; you solve a small linear system.
- The structure showed up anyway. $C = \frac{1-e}{2}I + \frac{1+e}{2}F_\theta$ is as pretty as anything in the geometric version, and it says something the picture doesn’t: inelasticity interpolates between reflection and projection.
The geometric solution is more beautiful when it works. The matrix solution keeps working when the beauty runs out. That’s usually the trade.
The $e=1$ case, and where this puzzle comes from, is in my previous post. Galperin’s original paper is “Playing Pool with π”, Regular and Chaotic Dynamics 8(4), 2003.

Leave a Reply
You must be logged in to post a comment.