Hey all, I am trying to take into consideration the effect of inertia of the initial rotation of a ball, hitting a surface, into the exit velocity vector of the ball.

My current theory is this:

  1. Assume Ball initial rotation is Ri
  2. Calculate an exit Velocity vector without any consideration for the ball's initial rotation, call this Ve
  3. Rotate Ve by an angle proportionate to Ri [while limiting the rotation, so ball new vector does not point into surface]. Call this new vector rVe
  4. Calculate exit rotation of ball, by calculating it as a portion of max ball rotation speed, bas on angle between rVe & Vi using dot product of these two vectors

Does this sound right to you? Am I missing something here? Is there an easier way to do this?

  • \$\begingroup\$ Have you tried it and observed the results? \$\endgroup\$
    – Ipsquiggle
    Commented Sep 8, 2010 at 16:30
  • 2
    \$\begingroup\$ You can use the <sub> tag to write subscripts. \$\endgroup\$
    – mmyers
    Commented Sep 8, 2010 at 16:42
  • \$\begingroup\$ you may have to take masses into account here. Two balls of different masses spinning at the same rate will react differently when hitting a static wall - the lighter ball will be more affected by the spin. In your example, conservation of energy should hold, this includes energy from moment of inertia. \$\endgroup\$
    – eli
    Commented Sep 8, 2010 at 20:28
  • \$\begingroup\$ I assume you mean rotational velocity? As rotation without rotational velocity wouldn't make any difference in the calculation. \$\endgroup\$
    – Kaj
    Commented Sep 8, 2010 at 22:41
  • \$\begingroup\$ +1 to mmyers's comment; I just edited in subscripts to make it look nicer. \$\endgroup\$
    – Ricket
    Commented Sep 8, 2010 at 22:48

1 Answer 1


I believe that you're missing consideration of both rotational momentum, and acceleration. See the answer by Danik on your other question.

The impact imparts a frictional force to the surface of the ball in a particular direction, tangential to the ball's surface. That force, combined with the ball's momentum, can be used to determine the rotational acceleration in the direction of the impact vector. If the ball is already spinning, that acceleration is going to act against whatever rotational velocity is already present.

In certain cases (perfectly rigid balls, instantaneous collisions) the rotational velocity is roughly equivalent to the force * some fudge factor. But for more correct simulations (ball deforms, contact time during which the force is applied is non-zero), you're modelling acceleration against the mass/momentum of the ball to determine the velocity delta over time.

That's for rotational velocity changes. To model how the initial rotation of the ball pre-collision affects the output velocity, again you're modelling the force acting on the surface of the ball.

E.g.: A ball spinning to the left impacting on a surface travelling straight ahead, the surface acts against the ball, so the left-hand spin is reduced (will tend towards a forward spin instead). But similarly, the ball acts against the surface, imparting a force against the ball, changing the output velocity so the ball skews to the left as well.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .