Use a physics engine?