Billiard Ball Dynamics
A.C. Baroudy
acbarou@inco.com.lb
Introduction
The dynamics involved in the motion of the billiard ball is part of the rotation dynamics.
This is where angular momentum L, angular acceleration α, and torque Γ are used.
Note that the torque is the equivalent of the force F = ma so it is expressed as Γ =Iα
where I is the mass moment of inertia (equivalent to the mass m in F = ma) about a
given axis of rotation and α the angular acceleration equivalent to the linear acceleration a.
The ball spin and forward translation depend on the point of impact of the cue on the ball as related to the center of mass(CM):
Considering only shots where the cue hits the ball always in its vertical median plane and in a horizontal direction we state a few facts about the motion of the ball in this setting, there explanation will follw the dynamics of the ball:
1- If the cue hits the ball in the direction of the center of the ball this latter
will go on sliding and rolling for a certain time then rolling alone.
2- If the cue hits the ball well above the ball center then the ball will have say, a CW spin
and a forward sliding motion.
3- If the cue hits the ball well below the ball center then the ball will have a CCW
spin and a forward sliding motion.
4- If R is the radius of the bal and the cue hits the ball at
R above the ball center, then the ball will have say, a CW spin
causing a forward rolling with no sliding.
Here we have
at any time i.e.
→(along +x) &
←(along -x)
We will see why later on.
5- If the cue hits the ball at
R below the ball center then the ball will have say, a CCW spin
and a forward rolling with sliding. Here we have
at any time.
Both being along +x
Our problem is to analyse the motion of a cue ball where:
1- M is the ball's mass and its mass moment of inertia = I =
around an axis passing through its center of mass.
2-
is the initial angular velocity. The shot being well above the critical point
R from the center of the ball.
3-
being the coefficient of kinetic friction.
4-
forward initial velocity of CM.
As stated above we consider only shots where the cue hits the ball always in its vertical median plane and in a horizontal direction.
To be more specific the cue has just hit the ball well above the
R critical distance above the center of mass.
In this case at P, point of contact of the ball with the table, we must have :
i.e. the translation velocity is less than the velocity of rotation. See equation (8') below.
As for the direction of
it is the same as +x while that of
it is along -x in this setting.
Our coordinates are the principal axes with CM being the origin O. This right hand triade is considered as fixed in space:
** the x-axis along the forward translation,
** the y-axis to the left of x-axis,
** the z-axis directed upward.
The ball, as we mentioned above, will have a spin and a sliding motion at the very start.
The friction force ℱ, according to the law of kinetic, acts in a direction opposite to
the velocity of P.
This force will operate until
=
= 0 then it vanishes, where
= translation velocity of CM & P, &
= rotation velocity at P.
We propose to :
1- find the forward accelration a and the angular acceleration α before the pure rolling occurs,
2- find the distance d the ball has to travel till the friction force ℱ vanishes
i.e. the moment when the sliding ceases and the ball has a pure rolling motion where v = Rω.
3- find the work done by the friction force of sliding ℱ on the ball.
4- find the magic number
R.
Finding the equations of motion
The forces acting on the ball at P are:
a- the weight = -Mg along -z,
b- the normal force of contact at P = along +z,
c- the horizontal force of contact at P = force of friction = ℱ,
it is always acting to oppose point P velocity
hence it is along +x in the present setting.
Then we have :
1- along z-axis: -Mg+ = 0,
since the ball CM has no vertical acceleration.
This gives = Mg.
2- along x-axis: ℱ= Ma = M
. (1)
Now the kinetic coefficient of friction is defined as the ratio of the two forces of contact involved in the friction: the horizontal ℱ and the normal i.e.
=
=
, thus we have:
a =
g. (2)
The ball can rotate around any axis through its CM. Since ℱ has a moment arm relative to CM = R then a torque is present.
In vector notation this torque is
=
.
Thus it is negative in the direction of -y with magnitude:
Γ =
= Rℱ = RM
g =Iα =
α .
and
α =
= 
(3)
The two equations:
I- ℱ = M
g
,
II- Γ=
define the motion of the ball.
It is interesting to note how the angular velocity ω and the angular acceleration
are of opposite directions. The torque inherits the direction of the angular acceleration!
From the above two equations we get the acceleration of contact point P:
Starting with
we get :
=
g


g
+ 

= 

, (3.0)
hence the acceleration of point P has the same direction as that of ℱ which, as we know, is along +x & opposite to that of
.
Thus at time t,
is negative along -x :


where
since in the present setting, as we stated above, we have
&
is negative .
Hence: 

(3.1)
If we call
the rotation velocity &
the translation velocity then:
= 
g t →

g t (3.11)
and from 
t we get
ωR = 

. (3.12)
Hence (3.1) becomes::
, (3.2)
i.e.
(3.3)
Note that (3.2) is valid as long as t is still less than the time when
. This time =
is obtained from (3.1) by setting
equal to 0.
It is
. (3.4)
From that point on we must have:
.
Finding the distance d
II- To find the distance d we start with equation (3.4) which gives the time when ℱ vanishes.
The time is the upper limit of the integration of
:
d =
=

g
.
Substituting the value of t from (3.4) in the above equation we get the required distance:
d =
+ 
g 
(5)
The work done by ℱ on the ball
The work done by ℱ on the ball is the difference between the initial energy
and the sum of the rotation energy
& the translation energy
of the ball.
We need to get ω & v at
i.e. when ℱ vanishes and
= ωR.
From (3.12) we have ωR = 

t . We substitute the value of t =
in it then solve for ω .
We get ω =
.
Since
= ωR at t =
then we use it instead of getting v from (3.11).
+
Work of ℱ on the ball:
=
+ 
(6)
The particular point located at
R
Why hitting the ball with the cue at this level will send the ball into pure rolling with no sliding?
To understand this situation we must remember that with pure rolling the point of contact P on the table moves along the rim of the ball the same distance as the center of the ball moves forward in any given time, in other words the point of contact must have the same mgnitude for these two velocities but opposite in direction. Hence we must have in case of rolling without slipping
thus the condition for pure rolling is that the velocity of the point of contact
.
We need to get a relation between the velocity of translation and that of rotation by using the concept of angular momentum, linear momentum & the associated impulses.
We consider the ball as being hit by the cue at a height h above the point of contact P.
Our coordinates are
x-axis along the direction of translation ,
y-axis parallel to the axis of rotation and
z-axis is passing through the center of the ball and upward positive.
I- The linear momentum and the impulse of F
Here the impulse
of the impact force F for a short time Δt is equal to the change in linear momentum from M
to M
:
i.e. →
.
Integrating this last equation from
to
we get :
. (6')
Since Δt is very small of the order of 0.01 second and at t = 0,
= 0, then
is the initial velocity at the end of the impact. We call it
and we have:
. (6")
Since the translation is along x-axis and F = 
then equation (6") is the only scalar equation for the linear momentum at the very start:
. (6"')
II- The angular momentum and the impulsive torque
For the angular momentum of the ball we need the arm moment of the force delivered by the cue.
It is ( h - R ) where h is the height above contact point P.
The change ΔL in the angular momentum (L) :
ΔL = angular impulse = ΓΔt
ΔL = product of the torque and the interval of time during which the torque is acting.
III- Finding the torque Γ and its impulse
Note that F the impulsive force is along +x-axis and ( h - R ) as a vector is in the direction of +z ( upward ) so that the cross product
is a vector in the direction of +y. This indicates that we take the change in the angular momentum along y-axis. Here, however, ω is a vector already along y-axis & the mass moment of inertia I around y-axis still has the same expression as used above, thus the component of Iω on y-axis equal Iω and the change in angular momentum
is:
.
Since at t = 0,
= 0 then :
. (7)
Since Δt is very small of the order of 0.01 second and at t = 0,
= 0 then
is the angular velocity at the end of the impact. We call it
and we have:
. (7')
To compare these two velocities we multiply both sides of (6"') by the factor (h - R) and equate the LHS of the result to the LHS of (7') :
→
,
(8)
(8')
This last equation shows that
i.e.
when
", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "fal..." align="center" border="0"> .
The velocity of the point of contact P:
1- when h >
, is
and it is, like
, negative along -x with
", mathvar..." align="center" border="0"> ,
2- when
<
, is
and it is, like
, positive along +x with
.
** Hence for h ⩾ R we have using (4.2) & (4.3):

, (9)
and at t = 0 i.e. just at the end of the impact we have:
(9')
** When h < R we need recalculate the torque and use
since for h < R
both
are positive in the direction of +x.
The torque is
=
hence it is along -y.
Thus we need take the change in angular momentum along -y.
It just happend that when h < R ,
is already along -y so that the impulsive
torque integral
and the change in angular momentum
are related
by the same equation (7) except that we use (R - h ) here instead of ( h - R ).
Using
as we said above we get
.
This leads to the same formula as (9) & (9') above.
Thus equations (9) & (9') for
are valid for all cases of h i.e. h ⩾ R or h ⩽ R giving
at t = t and t = 0 respectively.
As a check for the correctness of (9') we see that :
** for h =
,
which is correct since from the start i.e. end of impact, both
and
are equal but opposite in direction thus
.
** for h =
,
which is also correct since in this case both
and
are equal and in the same direction thus
=
** for h = R,
which is correct since there is no torque &
is P's only velocity.
As we said above, for pure rolling to set in from the start,
must be equal to zero i.e.
( by setting equation(9') = 0) .Hence the cue must hit the ball at the particular point located
above CM!
Predicting the behavior of the ball from equation (9) &
=
The behavior of the ball can be predicted from
equation (9) and:
=
(10)
as well as the law of kinetic friction as long as there is a slipping between the ball and the table. This law tells us that ℱ acts in a direction opposite the velocity
of the point of contact P.
Note that
=
equals the algebraic sum of both velocities at P at any time.
Eight cases are to be considered. See Figure-1:
I- h =
where
:
From (9) we have
= 0 hence ℱ = 0.
Motion from the start is a pure rolling.
II- High shot when h >
where
:
From (9) we have
< 0 hence along -x & ℱ along +x.
Motion from the start: rolling + sliding.
ℱ will increase
& decrease
till we have
=
= 0. At this moment the ball is in pure rolling.
III- Low shot when R < h <
where
:
From (9) we have
> 0 along +x & ℱ along -x.
Motion from the start: rolling + sliding.
ℱ will increase
& decrease
till we have
=
= 0. At this moment the ball is in pure rolling.
IV- h = R where
:
From (9) we have
=
= 0, hence along +x & ℱ along -x.
Motion from the start: sliding.
ℱ will increase
& decrease
so the ball will have rolling & sliding till we have
=
= 0. At this moment the ball is in pure rolling.
V- Tangential shot where h = 2R ,
:
=
&
= 0, hence
along -x & ℱ along +x.
Motion from the start: rolling .
ℱ will increase
& decrease
causing sliding along with the rolling till we have
=
= 0. At this moment the ball is in pure rolling.
VI- h = critical point
where
:
From (9) we have
= 2
&
=
, hence along +x & ℱ along -x.
Motion from the start: rolling CCW & sliding.
From (3.1) 

we have 

since both have the same direction along +x while ℱ is along -x. Which at time τ =
,
Thus the ball keeps rolling and slinding till at time τ it stops.
VII-
< h < R and
:
From (9) we have
>0 , hence along +x & ℱ along -x.
Motion from the start: rolling CCW & sliding.
from 

= 
ℱ will decrease both
&
but
being smaller than
becomes 0 first then it reverses its sign where ℱ is causing the ball to turn CW instead of CCW while still increasing it and further decreasing
till we get the condition for pure rolling
=
= 0.
Here rotation is reversed.
VIII- h <
and
:
From (9) we have
>0 , hence along +x & ℱ along -x.
Motion from the start: rolling CCW & sliding.
from 

= 
ℱ will decrease both
&
but
being smaller than
becomes 0 first then it reverses its sign.
Thus the ball stops advancing and change translation from forward to backward .
ℱ will continue increasing this backward translation while it is reducing
till we get the condition for pure rolling
=
= 0. Note that here the ball doesn't change rotation direction it will continue to do it as it did from the start i.e.CCW.
Here translation is reversed.
References:
1- Coriolis'sTheorie Mathematique des Effets du Jeu de Billiard, 1835, pp:51-56.
2- The problem above, presented in a different form, was taken from:
Sears, Zemanski & Young's University Physics, p: 248, Problem # 9-83.
It was a Challenge problem, which once I solved, helps me a great deal to understand
the dynamics of the billiard ball.
3- Barger & Olsson's Classical Mechanics, pp 186-188, for the critical point
R.
4- Synge & Griffith's Principles of Mechanics, pp 399-402, for the general motion of a billiard ball.
Using Maple to animate the ball for the case considered :
the cue hits the ball well above h=7/5R
I have to consider the ball as rolling and advancing. To show the slipping I used two rays :
- one blue for the real rotation and
- one black to show the advancing as measured along perimeter of the ball represented as a circle.
Then at time
we get the ball rolling with a constant velocity which is the velocity of either rolling or advancing ( they are equal from that instant on ) where I used only one ray ( a black one ) to show the rolling with no slipping.
Note that until we reach
, friction force is operating to reduce the rolling velocity and to increase that of the advancing till both become equal than it disappears. In the present situation the rolling is well in advance from the start. The calculation below are also done to show how much rotation due to rolling and the advance get once we reach
.
The problem was to get an acceptable value for R i.e. around 0.025 meter= 2.5cm and v0 =6Pi. Increasing the time of rolling on the graph makes the bal smaller. This is entered in the proc as: k_vals:=seq(k*t_final*2/20,k=0..20): where the total time for the graph is double of the
. We can make it three times or four time greater.This will, of course, gives us a smaller size ball because the x-scale being increased then the size of the ball on the y-axis will decrease.
> |
restart: with(plots): with(plottools): |
> |
omega0:=5/2*v0*(h-R)/R^2; |
 |
(1) |
 |
(2) |
> |
vr:=omega0*R-5/2*mu*g*t; |
 |
(3) |
> |
T:=t->v0*t+1/2*mu*g*t^2; |
 |
(4) |
> |
theta:=t->omega0*t-1/2*5/2*mu*g*t^2; |
 |
(5) |
> |
R:=0.025;h:=8/5*R;v0:=3.5*Pi;mu:=0.5;g:=10; |
> |
t_final:=evalf(2/7*(omega0*R-v0)/(mu*g)); |
 |
(7) |
 |
(8) |
![[12.56637062, 12.56637061]](/view.aspx?SI=5650/Billiard ball dynamics_2_294.gif) |
(9) |
> |
evalf([T(t),theta(t),theta(t)/T(t)]); |
![[3.701101652, 206.6448422, 55.83333332]](/view.aspx?SI=5650/Billiard ball dynamics_2_295.gif) |
(10) |
 |
(11) |
> |
t_final:= 0.01*floor(100*t_final); |
 |
(12) |
> |
local cir,ray,ray1,ray2,t,Dt; |
> |
cir:= t-> circle([1+T(t),1],1,color=red,thickness=3): |
> |
ray1:=t-> plot([[1+T(t),1],[1+T(t)+cos(-theta(t)-Pi/2),1+sin(-theta(t)-Pi/2)]] |
> |
,color=blue,thickness=3): |
> |
ray2:= t->plot([[1+T(t),1],[1+T(t)+cos(-T(t)-Pi/2),1+sin(-T(t)-Pi/2)]] |
> |
,color=black,thickness=1): |
> |
display(cir(t),ray1(t),ray2(t),scaling=constrained); |
> |
cir:= t->circle([1+T(t)+V*Dt,1],1,color=red,thickness=3): |
> |
ray:= t->plot([[1+T(t)+V*Dt,1],[1+T(t)+V*Dt+cos(-T(t)-V*Dt-Pi/2) |
> |
,1+sin(-T(t)-V*Dt-Pi/2)]],color=black,thickness=1): |
> |
display(cir(t),ray(t),scaling=constrained); |
> |
k_vals:=seq(k*t_final*3/20,k=0..20): |
> |
to_animate:=[seq(billiard(k),k=k_vals)]: |
> |
display(to_animate,insequence=true,scaling=constrained); |
Legal Notice: The copyright for this application is owned by the author(s). Neither Maplesoft nor the author are responsible for any errors contained within and are not liable for any damages resulting from the use of this material. This application is intended for non-commercial, non-profit use only. Contact the author for permission if you wish to use this application in for-profit activities.