- #1

- 7

- 0

I'm currently programming a 3D sci-fi game and would like to simulate a little bit of physics during collisions. Nothing too complicated but I would like to be able to split an incoming force into its rotational and translational components. My first attempt was to calculate the angle between the force and lever arm vectors (if "lever arm" is the correct term, I'm defining it as the vector formed by the point of action and center of mass), and defining

*Fr = F sin (theta)*for rotation and

*Ft = F cos (theta)*for translation, thinking that the parallel component of a force is what causes translation, and the perpendicular component what causes rotation.

But upon demo-ing it I've noticed that the rotation doesn't seem to be working correctly; sometimes its too little, sometimes too much. Looking at the formulas I've noticed that an incoming force that is perpendicular to the lever arm will cause pure rotation and no translation, which I'm pretty sure is wrong.

I'm not very good at physics (can you tell?) and I don't know much math beyond trig. Can anybody explain to me how an incoming force is correctly split into rotational and translational components?

Thanks!