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?
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 V be the vector of the ball's velocity with respect to the paddle, and V_n and V_t be the normal and the tangential components of the ball's velocity before impact. Let ω 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 τ in contact with the surface, and that all forces acting on it during contact are constant in time. Further, assume that the friction coefficient, μ, 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:
This allows us to calculate the average normal force acting on the ball during contact (just Newton's 2nd law):
Tangential force acting on the ball due to friction during contact is
F_t=μ |F_n| e = 2 m μ |V_n|/τ e,
where e a unit vector in the direction of the friction force. It can be found as
e=( [ R x ω ] − V_t ) / |[ R x ω ] − V_t|,
where R is the vector from the center of the ball to the point of contact, ω is the ball's angular velocity, and V_t is the tangential speed of the ball. Here | | denote taking a vector's modulus (length).
This force, acting τ seconds, will the change the ball's tangential momentum by
Δp_t = τ F_t = 2 m μ |V_n| e,
(note that τ cancels out!), so the ball's tangential speed after impact will be
V_t'=V_t + e|Δp_t|/m = V_t + 2 μ |V_n| e. (2)
Finally, the angular momentum picked up by the ball equals
ΔL = R τ |F_t| f = 2 R m μ |V_n| f,
where R is the radius of the ball (also, R=|R|), and f is a unit vector in the direction in which the angular momentum was picked up. To find f, use f=[ R x e ] / R.
This change in L will make the ball's angular velocity after impact
ω'=ω + f |ΔL|/I =ω + |2 R m μ V_n|/I f. (3)
Here I=(2/5)mR² 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 V and angular velocity ω. 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 [R x ω ] = V_t, or, equivalently, 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 τ, a large integer N, and break τ into smaller time steps Δτ=τ/N. Then calculate all quantities during impact in Δτ increments. Once you detect the rolling condition e=0, you make the ball rebound with the current V_t' and ω'.
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, ω is pointing toward us, but in the solution, its direction can be arbitrary.
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 e is parallel or anti-parallel to vector 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, ω and V_t will change in length, and therefore unit vectors e and 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 τ a large integer N, and small time step Δ t=τ/N. And then calculate
V_t(t+Δt)=V_t(t) + e|F_t|/m Δ t
ω(t+Δt)=ω + f|F_t|R/I Δ t
and do it N times, re-calculating the values of e and f every time step. A fringe benefit of this approach, it is easy to control the onset of rolling. If any component of vector e changes sign (i.e., goes through 0) at any time step, sliding stops and rolling begins. The answer should not depend or τ or N. EDIT END
|show 2 more comments|