Take the game of pong as a simple example. When you hit the ball with a paddle that has a frictional surface, the ball will spin as well as change direction according to the coefficient of kinetic friction on the paddle and the velocity of the paddle. The ball will then spin, and when it hits another surface this spin will cause a change in direction as well. Assuming that the velocity of the paddle is never low enough to use the static coefficient of friction of the paddle, how would i find the generated angular velocity on the ball and the new velocity of the ball?

  • 1
    $\begingroup$ If you assume that the tangential force is given by the instantaneous contact pressure (normal force) times the dynamic coefficient of friction, then the net tangential impulse is the friction coefficient times the average tangential velocity times the change in normal momemntum (ball coming toward/away from the paddle). Note as the ball spins up, this tangential velocity will be lower. For realworld objects (not idealized rigid bodies) some energy is deposited into normal modes of the colliding body after the collision, thus even without dissapative materials inelasticaity occurs. $\endgroup$ Commented Jun 28, 2011 at 21:35
  • 1
    $\begingroup$ See related question: physics.stackexchange.com/questions/1142/… $\endgroup$ Commented Jul 13, 2011 at 9:33
  • $\begingroup$ @Piotr I read the question that you linked me. I don't see how it can be used to find anything but the final velocity. I need to find the angular velocity as well, and this is directly linked to the final velocity of the object. The more angular velocity imparted on the ball, the less velocity will be imparted to it. $\endgroup$
    – Darkhydro
    Commented Jul 14, 2011 at 21:57
  • $\begingroup$ @Darkhydro - the linked question does not provide the full answer for you question. However, it contains reasoning which is similar of that you need. And the result, to some degree, will be the same (just you make matrix 3x3 with the angular momentum as well). $\endgroup$ Commented Jul 15, 2011 at 12:54

1 Answer 1


First of all, choose the reference frame co-moving with the paddle and assume that this reference frame is inertial. This is the key to all ball-and-wall problems. Of course, ignore gravity and air drag. Now we have a spinning ball incident on a stationary surface with friction. Let $\mathbf{V}$ be the vector of the ball's velocity with respect to the paddle, and $\mathbf{V}_n$ and $\mathbf{V}_t$ be the normal and the tangential components of the ball's velocity before impact. Let $\boldsymbol{\omega}$ be the ball's angular velocity before impact. All quantities in bold are vectors.

Then it gets as complicated as you wish. To make it as simple as possible, let us assume that the ball spends time $\tau$ in contact with the surface, and that all forces acting on it during contact are constant in time. Further, assume that the friction coefficient, $\mu$, does not depend on the relative velocity of the ball and the paddle. Important: This assumption will break down if rotation of the ball ever reaches such speed that the ball will start rolling instead of sliding; at this moment the tangential force vanishes, and such situation must be treated independently. A LOT of assumptions to make it possible to tackle the problem analytically, huh? But the good news is that it's all Mechanics 101 from now on.

If the ball is perfectly elastic, then there are no dissipative forces acting in the direction normal to the surface. This means that when the ball rebounds, its normal component of velocity will just be inverted: $$ \mathbf{V}_n'=-\mathbf{V}_n\tag{1} $$

This allows us to calculate the average normal force acting on the ball during contact (just Newton's 2nd law): $$\left|F_n\right|=2m\frac{\left|V_n\right|}{\tau}$$

Tangential force acting on the ball due to friction during contact is $$\mathbf{F}_t=\mu\left|F_n\right|\hat{\mathbf{e}}=2m\mu\frac{\left|V_n\right|}{\tau},$$

where $\hat{\mathbf{e}}$ a unit vector in the direction of the friction force. It can be found as $$ \hat{\mathbf{e}}=\frac{\left(\mathbf{R}\times\boldsymbol{\omega}\right)-\mathbf{V}_t}{\left|\left(\mathbf{R}\times\boldsymbol{\omega}\right)-\mathbf{V}_t\right|}, $$

where $\mathbf{R}$ is the vector from the center of the ball to the point of contact, $\boldsymbol{\omega}$ is the ball's angular velocity, and $\mathbf{V}_t$ is the tangential speed of the ball. Here | | denote taking a vector's modulus (length).

This force, acting $\tau$ seconds, will the change the ball's tangential momentum by

$$ \Delta \mathbf{p}_t=\tau\mathbf{F}_t=2m\mu\left|V_n\right|\hat{\mathbf{e}},$$

(note that $\tau$ cancels out!), so the ball's tangential speed after impact will be $$\mathbf{V}_t'=\mathbf{V}_t+\hat{\mathbf{e}}\frac{\left|\Delta\mathbf{p}_t\right|}{m} = \mathbf{V}_t + 2\mu\left|V_n\right|\hat{\mathbf{e}}\tag{2}$$

Finally, the angular momentum picked up by the ball equals


where $R$ is the radius of the ball (also, $R=\left|\mathbf{R}\right|$), and $\hat{\mathbf{f}}$ is a unit vector in the direction in which the angular momentum was picked up. To find $\hat{\mathbf{f}}$, use $$\hat{\mathbf{f}}=\frac{\mathbf{R}\times\hat{\mathbf{e}}}{R}.$$

This change in $\mathbf{L}$ will make the ball's angular velocity after impact

$$\boldsymbol{\omega}'=\boldsymbol{\omega}+\hat{\mathbf{f}}\frac{|\Delta L|}{I}=\boldsymbol{\omega} + \frac{|2Rm\mu V_n|}{I}\hat{\mathbf{f}}\tag{3}$$

Here $I=(2/5)mR^2$ is the moment of inertia of the ball (assuming that it is a hollow uniform sphere). Note that the mass $m$ cancels out.

Equations (1), (2) and (3) give you the relationship between pre- and post-impact linear velocity $\mathbf{V}$ and angular velocity $\boldsymbol{\omega}$. They are determined in the paddle's reference frame, so to get lab (room) frame quantities, you need to transfer back to that frame. It is tedious to do by hand, but if you are developing a ping pong emulator in which you use a game console's accelerometer to emulate a paddle, the computer will happily do this for you.

Let me re-iterate at this point that this calculation does not apply to cases when the ball is rolling (or nearly rolling), as opposed to sliding. This situation will occur if $[\mathbf{R} \times \boldsymbol{\omega} ] = \mathbf{V}_t$, or, equivalently, $\hat{\mathbf{e}}=0$. If this situation occurs (it will if initial conditions are close to it), the ball will start rolling, its tangential momentum and angular velocity will freeze, and it will just rebound. To treat this situation properly, you may want to choose a finite $\tau$, a large integer $N$, and break $\tau$ into smaller time steps $\Delta\tau=\tau/N$. Then calculate all quantities during impact in $\Delta\tau$ increments. Once you detect the rolling condition $\hat{\mathbf{e}}=0$, you make the ball rebound with the current $\mathbf{V}_t'$ and $\boldsymbol{\omega}'$.

I may have messed up the signs here and there, but, basically, it is all very simple. To top it off, here is a diagram (you are correct, I am not an artist!) In my example, $\boldsymbol{\omega}$ is pointing toward us, but in the solution, its direction can be arbitrary.

enter image description here

EDIT: I just realized that equations (2) and (3) are only correct if the ball is spinning in the direction it is flying (i.e. if vector $\hat{\mathbf{e}}$ is parallel or anti-parallel to vector $\mathbf{V}_t$). So 2D Pong is OK with equations (2) and (3). However, in 3D problem, if the ball is spinning sideways, then during contact, $\boldsymbol{\omega}$ and $\mathbf{V}_t$ will change in length, and therefore unit vectors $\hat{\mathbf{e}}$ and $\hat{\mathbf{f}}$ will change direction. This means that to get the ball's speed and spin, we need to integrate in time. It can be done analytically (a nice problem to torture graduate students), and it is not difficult to do numerically. One should choose a time of contact duration $\tau$ a large integer $N$, and small time step $\Delta t=\tau/N$. And then calculate

$$\mathbf{V}_t\left(t+\Delta t\right)=\mathbf{V}_t(t)+\hat{\mathbf{e}}\frac{\left|\mathbf{F}_t\right|}{m}\Delta t$$ $$\boldsymbol{\omega}\left(t+\Delta t\right)=\boldsymbol{\omega}+\hat{\mathbf{f}}\frac{\left|\mathbf{F}_t\right|R}{I}\Delta t$$

and do it $N$ times, re-calculating the values of $\hat{\mathbf{e}}$ and $\hat{\mathbf{f}}$ every time step. A fringe benefit of this approach, it is easy to control the onset of rolling. If any component of vector $\hat{\mathbf{e}}$ changes sign (i.e., goes through 0) at any time step, sliding stops and rolling begins. The answer should not depend or $\tau$ or $N$. EDIT END

  • $\begingroup$ I've reviewed this and a lot of it makes sense to me. However, I will need to review it some more. I've given you the correct answer because you are the first one that seems to understand what I'm saying, and you gave a very nicely explained and detailed answer. I hope you will stay with me for a little longer if I have any questions in the next day or two as I try to understand this completely. $\endgroup$
    – Darkhydro
    Commented Jul 15, 2011 at 9:17
  • $\begingroup$ Thanks, Darkhydro, you have a 1-year warranty on that answer :) $\endgroup$
    – drlemon
    Commented Jul 15, 2011 at 16:38
  • $\begingroup$ Are writing a computer program to solve this? If so, you can code in the solution of (2) and (3) in time increments Δt and combine it with visualization. You may have your own tools, but I know that Python has a nice module VPython that makes 3D animations of simple objects with a few lines of code. It will help to debug and understand what is going on. This solution handles all interesting effects we see in ping pong: the ball can bounce backwards, sideways, or nearly parallel to the table, depending on rotation. $\endgroup$
    – drlemon
    Commented Jul 15, 2011 at 16:50
  • $\begingroup$ I am writing this in C#, with XNA game studio 4.0. This will be part of a more advanced version of the game Pong, which I will be writing first in 2D, then most likely later in 3D in a spherical environment. $\endgroup$
    – Darkhydro
    Commented Jul 15, 2011 at 18:45
  • $\begingroup$ That's always amazing to put physics into computer games or animations and then see it at work. Note an edit I just put at the end of my answer. It is important for 3D. $\endgroup$
    – drlemon
    Commented Jul 18, 2011 at 0:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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