The aim of this project was to create a user-friendly physics engine based on the SFML library.
Engine uses widely known formula to calculate collision impulse (that is the collision force with is later applied to colliding objects):
e - greater of the two coefficients of restitutionVAB - the difference between velocities of the objects at the point of collision
massA, massB - objects masses
IA, IB - moments of inertia
rA, rB - vectors from the centers of the objects to the point of collision
t - collision normal
Next the collision impulse is being applied to both objects according to the equations: