I started this project a long time ago, but never successfully managed to resolve a collision between two squares (without rotation). After a little more experience from Khan Academy's math videos, I was better able to derive formulae to (somewhat) accurately simulate varying types of collisions. This simulator uses the Separating Axis Theorem (and several modifications for collisions between circles and other shapes) to detect collisions, and an impulse-based method to resolve collisions. Presently, it only supports collisions between circles, and still has some work to do for contact forces between objects that are resting on each other.
Enjoy this project?