2D collision response with friction

Click For Summary
The discussion focuses on implementing 2D collision response with friction in a physics engine. The impulse calculation for frictionless collisions is functioning correctly, but the challenge lies in incorporating friction, particularly during collisions between spinning balls. Concerns are raised about the accuracy of adding a tangential impulse based solely on the coefficient of friction, as it does not account for the relative velocities of the collision points. It is emphasized that friction should only affect the tangential component of the impulse and must not be added to the normal component. The conversation concludes that angular momentum must be conserved during collisions, which complicates the friction calculations.
Crashgate3
Messages
1
Reaction score
0
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?
 
Physics news on Phys.org
Crashgate3 said:
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.
 
For simple comparison, I think the same thought process can be followed as a block slides down a hill, - for block down hill, simple starting PE of mgh to final max KE 0.5mv^2 - comparing PE1 to max KE2 would result in finding the work friction did through the process. efficiency is just 100*KE2/PE1. If a mousetrap car travels along a flat surface, a starting PE of 0.5 k th^2 can be measured and maximum velocity of the car can also be measured. If energy efficiency is defined by...

Similar threads

  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 35 ·
2
Replies
35
Views
4K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 20 ·
Replies
20
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
Replies
5
Views
1K
  • · Replies 3 ·
Replies
3
Views
889
  • · Replies 2 ·
Replies
2
Views
2K