I do not know anything about carrom. Is there a URL for that? To add a rotation effect due to friction between two disks, the mathematics become more comples. The friction between two disks is proportional to the normal force when two disks collide. F(friction) = mu * F(normal) The normal force is the rate of change of momentum (in the direction between two centers) when two disks collide. The friction force might change the tangential component of the velocity if the friction force is not large enough ( sliding occurs) The torque due to the friction will change the angular momentum for those two disks. In 2D collision: vx,vy and w (angular momentum) are changed due to collision for each ball. There are 6 variables need to be update for two balls, so you need to solve 6 equations.