Imagine the beginning of a game of pool, you have 16 balls, 15 of them in a triangle <| and 1 of them being the cue ball off to the left of that triangle. Imagine that the rack (the 15 balls in a triangle) has every ball equally spaced apart and all balls touching all other appropriate balls. All balls are perfectly round. Now, imagine that the cue ball was hit along a friction less surface at the center axis for this triangle O-------<| and hits the far left ball of the rack dead center on this axis. How would the rack react? I would imagine this would be an extension of newtons cradle and only the 5 balls on the far end would be the candidates to move at all. But in what way would they move? Which ball, for instance, would move the furthest? Thanks

  • $\begingroup$ I am looking for a qualitative answer. Which balls would move, would those balls mover further or a shorter distance than another ball. I am writing a pool simulation program and I'm curious what this kind of break would look like. $\endgroup$
    – Phedg1
    Jan 31 '14 at 12:41
  • 1
    $\begingroup$ Congrats- you've just dived into chaos theory. $\endgroup$ Jan 31 '14 at 12:50
  • $\begingroup$ thanks for the advice, I'll post my question at Math SE and we'll see Edit: I see that it's already been posted there for me, thanks! $\endgroup$
    – Phedg1
    Jan 31 '14 at 20:45

Note: This question was cross posted by the OP on the Mathematics Stack Exchange. Here is a copy of my answer for it there.

This is it.  The perfectly centered billiards break.  Behold.

enter image description here


This break was computed in Mathematica using a numerical differential equations model. Here are a few details of the model:

  • All balls are assumed to be perfectly elastic and almost perfectly rigid.
  • Each ball has a mass of 1 unit and a radius of 1 unit.
  • The cue ball has a initial speed of 10 units/sec.
  • The force between two balls is given by the formula $$ F \;=\; \begin{cases}0 & \text{if }d \geq 2, \\ 10^{11}(2-d)^{3/2} & \text{if }d<2,\end{cases} $$ where $d$ is the distance between the centers of the balls. Note that the balls overlap if and only if $d < 2$. The power of $3/2$ was suggested by Yoav Kallus on Math Overflow, because it follows Hertz's theory of non-adhesive elastic contact.

The initial speed of the cue ball is immaterial -- slowing down the cue ball is the same as slowing down time. The force constant $10^{11}$ has no real effect as long as it's large enough, although it does change the speed at which the initial collision takes place.

The Collision

For this model, the entire collision takes place in the first 0.2 milliseconds, and none of the balls overlap by more than 0.025% of their radius during the collision. (These figures are model dependent -- real billiard balls may collide faster or slower than this.)

The following animation shows the forces between the balls during the collision, with the force proportional to the area of each yellow circle. Note that the balls themselves hardly move at all during the collision, although they do accelerate quite a bit.

enter image description here

The Trajectories

The following picture shows the trajectories of the billiard balls after the collision.

enter image description here

After the collision, some of the balls are travelling considerably faster than others. The following table shows the magnitude and direction of the velocity of each ball, where $0^\circ$ indicates straight up.

$$ \begin{array}{|c|c|c|c|c|c|c|c|c|c|c|} \hline \text{ball} & \text{cue} & 1 & 2,3 & 4,6 & 5 & 7,10 & 8,9 & 11,15 & 12,14 & 13 \\ \hline \text{angle} & 0^\circ & 0^\circ & 40.1^\circ & 43.9^\circ & 0^\circ & 82.1^\circ & 161.8^\circ & 150^\circ & 178.2^\circ & 180^\circ \\ \hline \text{speed} & 1.79 & 1.20 & 1.57 & 1.42 & 0.12 & 1.31 & 0.25 & 5.60 & 2.57 & 2.63 \\ \hline \end{array} $$

For comparison, remember that the initial speed of the cue ball was 10 units/sec. Thus, balls 11 and 15 (the back corner balls) shoot out at more than half the speed of the original cue ball, whereas ball 5 slowly rolls upwards at less than 2% of the speed of the original cue ball.

By the way, if you add up the sum of the squares of the speeds of the balls, you get 100, since kinetic energy is conserved.

Linear and Quadratic Responses

The results of this model are dependent on the power of $3/2$ in the force law -- other force laws give other breaks. For example, we could try making the force a linear function of the overlap distance (in analogy with springs and Hooke's law), or we could try making the force proportional to the square of the overlap distance. The results are noticeably different

enter image description here enter image description here

Stiff Response

Glenn the Udderboat points out that "stiff" balls might be best approximated by a force response involving a higher power of the distance (although this isn't the usual definition of "stiffness"). Unfortunately, the calculation time in Mathematica becomes longer when the power is increased, presumably because it needs to use a smaller time step to be sufficiently accurate.

Here is a simulation involving a reasonably "stiff" force law $$ F \;=\; \begin{cases}0 & \text{if }d \geq 2, \\ 10^{54}(2-d)^{10} & \text{if }d<2.\end{cases} $$

enter image description here

As you can see, the result is very similar to my initial answer on Math Stack Exchange. This seems like good evidence that the behavior discussed in my initial answer is indeed the limiting behavior in the case where this notion of "stiffness" goes to infinity.

As you might expect, most of the energy in this case is transferred very quickly at the beginning of the collision. Almost all of the energy has moves to the back corner balls in the first 0.02 milliseconds. Here is an animation of the forces:

enter image description here

After that, the corner balls and the cue ball shoot out, and the remaining balls continue to collide gently for the next millisecond or so.

While the simplicity of this behavior is appealing, I would guess that "real" billard balls do not have such a force response. Of the models listed here, the intial Hertz-based model is probably the most accurate. Qualitatively, it certainly seems the closest to an "actual" break.

Note: I have now posted the Mathematica code on my web page.

  • 1
    $\begingroup$ +1 Actually, the OP cross-posted on MathOverflow. When it comes to the cross-post on Math SE, well... I'm guilty. :) I absolutely love your answer. $\endgroup$
    – Řídící
    Feb 1 '14 at 10:38
  • $\begingroup$ @GlenTheUdderboat Thanks for copying my answer here. I have copied it to MathOverflow as well. $\endgroup$
    – Jim Belk
    Feb 1 '14 at 20:55
  • 1
    $\begingroup$ As a novice programmer who wanted to check that his pool break simulation that he'd programmed had the correct end result, I have been absolutely blown away by this answer. My simulation currently represents the incredibly stiff result, though I feel spurred on now to attempt to incorporate the maths of the linear answer into my design. I'm going to be spending the next week just trying to wrap my head around the maths that went into this. Thanks @JimBelk for an incredibly extensive answer! $\endgroup$
    – Phedg1
    Feb 1 '14 at 23:01

If you are actually writing a sim, then you just need to analyze each ball's position and applied force vectors (similar to Newton's Cradle). Since you stated you're ignoring friction, the balls won't spin or slow down, so you can do it as a 2-dimensional model of discs. All discs are incompressible and have 100% elasticity (i.e. no loss of kinetic energy on collision). Then "all you have to do" is set up a time cycle, and on each click of the clock, check for collisions, calculate the impact vectors, use momentum conservation to calculate the rebound angles and speeds, and you're done!

  • 1
    $\begingroup$ Using your method I will simulate different results based upon the the order that I process the collisions. As far as I know there is not a method for calculating multiple collisions simultaneously, therefore they are broken down into pairs. For instance, if we number the balls in the columns with the left most ball <| being one, then the next column at the top is 2, then that same column next one down is 3, etc. If ball one hits ball 2 first (order processed) then ball 2 gets most of the momentum. Ball 3 gets almost nothing. However, if ball 3 was processed first ball 2 would get nothing. $\endgroup$
    – Phedg1
    Jan 31 '14 at 13:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.