# fricitonal impulse

## Recommended Posts

dorien    122
hello all, i'm having a bit of trouble getting my head around frictional impulse and how it relates to angular impulse when two spheres collide in 2D. i'm using the physics for game programmers book by grant palmer to help. it gives the frictional impulse formula: F = m(Vn1 - Vn0) where Vn0 is the pre collision velocity and Vn1 is the normal velocity after the frictional impulse is applied. so at a collision event i work out the normal velocity along the line of action of the spheres by doing Vn0 = -Vx*sin(theta) + Vy*cos(theta) in the next section it tells me the that frictional impulse is equal to the change in angular velocity. and to work out Vn1 and the angular velocity, using a sphere's moment of inertia i have to do: Vn1 = (5/7)*Vn0 - velocity normal to the line of action after friction impulse W1 = (5/7)*(Vn0/r)- angular velocity i gave the object's their new angular velocity and as for the frictional impulse im not sure what to do. because after i've worked out the impulse of force between the two objects, i rotate the velocities back to the cartesian coordinate system, using the normal velocity along the line of action. because of friction the normal velocity should change so i thought all i had to do was use the new frictional impulse velocity F = m(Vn1 - Vn0) to get a new normal velocity and use that to rotate the velocities back. this gives really weird results as in the object with the larger mass moves a lot quicker when it should be the opposite. am i overlooking somthing or have i got it completely wrong. thanks for any help

##### Share on other sites
h4tt3n    1974
Beeing slightly in a hurry, I'll post the quick 'n' easy answer:

This is a very thorough primer on ball-ball collision with friction:

http://archive.ncsa.uiuc.edu/Classes/MATH198/townsend/math.html

There is also one at the Gamasutra site, but you need to register first in order to read it (definitely worth the effort!):

http://www.gamasutra.com/features/20020118/vandenhuevel_01.htm

And here is yet another explanation including code sample:

Cheers, Michael