I am working on some 3D physics simulations for computer software (just for fun), and have some general physics questions. Basically, it goes like this: there are 'models', which have 'center of mass' values, 'mass' values, and are made from basic shapes (ellipsoids and boxes). They are run through an 'update', in which models can apply forces to themselves (or, rather, the user applies force to the models: poking, throwing, etc), and then they are run through the 'physics engine', in which Forces such as gravity and drag are applied, where collisions are calculated, and where collision forces are applied. It's made to be pretty versatile. It simply represents a force as a vector, and because constant forces like gravity are applied by the physics engine every update, the models are caused to accelerate. So essentially all that a model has to do is remember its rotational force vector and its translational force vector, then modify those every time a new force hits and apply them at the end of each update. So the question is, let's say you have an object in space, and it gets hit (off center) by a force. How do you calculate the resulting translational and rotational forces? For example, if you have a large plank in zero G, and it's hit by a projectile on one end, what happens. Does the board spin around its CG, or does it start moving? Or both, but if so, how much of each? And what if the board is heavily weighted on one end? Thanks for the help.