# Modeling a pool ball rolling and slipping given initial velocity

I am trying to model a pool game. Currently my physics is faked by giving it an initial velocity and just subtracting from it every second. To make it more realistic I want to use physics to determine how fast it is going every second.

Given an initial velocity vi, mass of the cue ball, coefficient of friction between the ball and surface, and the radius from the center as where the cue has struck, how would I determine the change in velocity.

Below is my understanding of the system. I would like some help modeling the equation as I have limited knowledge of physics past grade 12.

• Hello, and welcome to Stack Exchange. You need to add the rotational velocity to your model: how fast is the cue ball spinning, along what axis, and how does this change over time. This article might give you some tips. – Daniel Griscom Nov 21 '15 at 20:22
• These are not easy problems at all, just have a look at this 'simple case': physics.stackexchange.com/questions/219313/… . Apart from the problem of hitting the ball with the cue and its consequences, there are other problems related to friction coefficient, whether the ball will roll or roll and slide etc. Without using equations of force this is far from child's play. – Gert Nov 21 '15 at 21:07

Given an initial velocity vi, mass of the cue ball, coefficient of friction between the ball and surface, and the radius from the center as where the cue has struck, how would I determine the change in velocity.

Unfortunately it is not enough to know where the cue has struck the cue ball, as the the spin on the cueball depends on many more factors (for instance, the spin on the cue ball is generated by accelerating through it with the cue). Perhaps you can replace this parameter by the spin on the ball as its angular momentum vector.

The way I would then model this problem is the following. Assume that the balls are identified by the following parameters

• radius $r$;
• mass $m$;
• position $\mathbf r$;
• velocity vector $\mathbf v$ of the centre of mass;
• angular velocity pseudovector $\boldsymbol\omega$.

The vertical component of the spin $\boldsymbol\omega$ is dissipated through friction, and this leads to the introduction of a friction parameter, say $\mu_z$.

As for the motion of the ball one has to distinguish between two fundamental regimes: sliding and rolling. When the ball is sliding the velocity vector changes direction because of the horizontal component of the spin, which together with the grip on the cloth causes the ball to steer left/right and/or accelerate/decelerate. The force is in the direction of the vector $\mathbf k\times\boldsymbol\omega$, where $\mathbf k$ is in the direction of the vertical axis. The magnitude depends on another coefficient, say $\mu_s$, so something of the form $$\mathbf F_s = \mu_sr m g\widehat{\boldsymbol\omega\times\mathbf k}$$ This force is responsible for changing both the angular velocity $\boldsymbol\omega$ and the velocity of the centre of mass of the ball $\mathbf v$. Furthermore another force that acts on the centre of mass is dynamical friction, which goes against the direction of the motion

As soon as the ball starts rolling, it continues on a straight line along the direction of $\mathbf v$ until it gets to a halt. In this case the acting force is just friction, however another coefficient, say $\mu_d$, due to the different nature of this friction, might be necessary.

Hope these few ideas helped. I also recommend reading through this paper for further ideas.