I have a bit of time on my hands at the moment and being an avid pool fan I wanted to try my hand at programming a pool simulation. Now I have the balls moving correctly whether they are sliding or rolling but I am having a little trouble getting my head round the collisions. Ideally I want the collisions to be modelled taking into account the friction between balls and therefore use the conservation of angular momentum as well as the conservation of linear momentum. I have tried looking up everything I can on the subject but I can't seem to work out how to model it. Everywhere seems to talk about the collision force acting between the two balls but I can't seem to work out how I get this force. I realise that in reality this force happens over a period of time but for the sake of simplicity I wanted to program the collisions to be instantaneous. So what I am asking basically is how do I find out the force acting between these two balls? As it's a programming problem I ideally want this in terms of information that I can use, such as the balls linear and angular velocity. Hope that makes sense.