I'm trying to write a computer program to render and play-back the path of a particle existing in 2D space given all forces acting on said particle. This is relatively easy to do if all forces are defined in global coordinates and act on the center of mass of the particle. For example, I could add up all the forces acting on the particle's center of mass to get the net force, and use equations of motion for constant acceleration to find that particle's path. I could do the same for net torque.
The issue I'm currently experiencing is handling forces applied NOT on the particle's center of mass, and whose components are defined relative to the particle. For example, suppose there was a rocket floating in space, and a compressed-air booster was activated on the side of the rocket, sending it into a spin. The linear acceleration of the rocket at any given point of time depends on the rocket's global rotation (calculated by the torque created by both the booster and other forces), and I'm having a hard time figuring out how might combine a global force/torque with a force like the one just described in order to find the path of motion for the particle.
I've been thinking about this for a couple days now and I keep thinking of more examples that I think would be difficult to compute. Air resistance, for example, depends on the linear velocity of a point on the particle. So what if I wanted to simulate air resistance on a specific point on the rocket? Now I have a force whose resultant linear acceleration depends on the angle of the rocket (the booster), and a force whose angular and linear accelerations depend on the linear and angular velocities of the rocket (the air resistance). How would one combine co-dependent forces like these?
I know one solution would be to take an iterative approach; each step, we have access to the current position, angle, and velocities of the particle, so we can use those to modify forces defined relative to the particle. I am trying to stay away from this type of solution. I want the only input to the simulation be the point in time, and any given result should not be dependent on any previous points in time being computed (besides the very start of the simulation). So I'm trying to figure out an equation-based solution if possible.
I apologize if this question appears verbose and/or naive. I'm not an expert in physics.