2D collision response with friction

  • Thread starter Crashgate3
  • Start date
  • #1
I'm writing a little 2D physics engine. The collision response is calculated by working out the impulse (and so, change in momentum) on each object, and takes into account the objects' velocities, angular velocities, and the fact that the collision normal may be in a different direction to the relative velocities of the contact points on each object. I've got the impulse working fine for a frictionless collision - my objects seem to behave themselves when I set things running, but I'm having real trouble establishing how friction affects things - for example two spinning balls colliding, where the coefficient of friction will affect how much spin is transferred between the balls.

I'm working from David M Bourg's 'Physics For Game Developers' - Bourg states that the impulse, which in a frictionless collision is in the direction of the collision normal, gets an additional component added in the direction tangent to the normal, of magnitude equal to the coefficient of friction * impulse.

This seems wrong to me (and indeed, when I add this to my code, gives the wrong behaviour) - it doesn't seem to include the relative velocities of the two collision points in the direction of the collision tangent - even if the relative velocity along this tangent is zero, as in the case of two non-rotating spheres colliding, it would still add a sideways impulse which is clearly wrong.

Can anyone direct me any further?
 

Answers and Replies

  • #2
kuruman
Science Advisor
Homework Helper
Insights Author
Gold Member
2021 Award
10,919
3,987
Bourg states that the impulse, which in a frictionless collision is in the direction of the collision normal, gets an additional component added in the direction tangent to the normal, of magnitude equal to the coefficient of friction * impulse.
That is incorrect. Friction is the component of force (or impulse) tangent to the surface and cannot add to the the component perpendicular to the surface. A collision with friction between two balls will add angular momentum about the CM of each ball such that the sum of changes of angular momenta is zero, i.e. angular momentum is conserved.
 

Related Threads on 2D collision response with friction

  • Last Post
Replies
0
Views
2K
  • Last Post
Replies
17
Views
4K
  • Last Post
Replies
4
Views
22K
  • Last Post
Replies
9
Views
546
Replies
2
Views
5K
Replies
0
Views
2K
  • Last Post
Replies
4
Views
2K
Replies
0
Views
1K
Top