I am making a physics simulator for a computer. All objects have their translational and rotational momentums stored, and each frame, objects are moved according to these values. Upon collisions, momentum is transferred from one object to the next. However, I do not know how to find how much momentum is transferred from one object to the next. For example, say object A hits object B straight on. Currently, all of A's momentum would be transferred to B instantaneously. However, if this is how the system acts, then consider the situation when a battlecruiser in space hits a golf ball: the cruiser would stop completely, and the golf ball would end up with astronomical momentum. This is obviously not accurate: the momentum of the battlecruiser would only partially be transferred to the golf ball. How do I calculate the amount of momentum transfer between colliding objects? I think that it has something to do with Impulse, but I don't know how to find that either.