Jump to content
  • Advertisement
Sign in to follow this  
BattleMetalChris

Moment forces cancelling each other out

This topic is 3080 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm writing a small physics-based 2D game. There's no collisions yet, I'm working on getting the entities moving and turning according to forces applied to them.

The entities can happily move about when forces are applied directly along the line of the Centre Of Mass, that's working great. I'm now coming to the problem of applying forces that are along a different vector to the one joining the point of application of the force and the CoM. For example a free-floating spaceship with manoevering rockets either side of the nose to alter its orientation.

With one force, I get it. You resolve the force into two forces, one directly towards the CoM which provides linear acceleration, and one perpedicular to that which creates a turning moment and so angular acceleration. That is also working fine and the entity behaves predictably.

The problem I'm having is when more than one of these forces is being applied, specifically the linear forces created when the moments cancel each other out. For example, a winged spaceship with a jet on the end of each wing, perpendicular to the CoM - the jets acting singly don't create any force towards the CoM, and so won't create linear acceleration, but when used together the moments they create cancel each other and cause a net linear force which moves the ship forwards. When both moments cancel exactly this is easy, just adding the two forces causing the moments together gives the net force acting on the CoM, but what happens when they don't quite cancel exactly, and/or are in different directions?

Can anyone direct me towards any reading on the subject as I've searched a fair bit and not really found anything helpful.

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by BattleMetalChris
With one force, I get it. You resolve the force into two forces, one directly towards the CoM which provides linear acceleration, and one perpedicular to that which creates a turning moment and so angular acceleration. That is also working fine and the entity behaves predictably.


I believe this is where you got it wrong. The force should be applied linearly to the center of mass regardless of where it is applied. This thread might help.

Share this post


Link to post
Share on other sites
If that were true then a force applied perpendicular to the CoM would push the object forwards instead of spinning it

EDIT: Oh, I think I get it - so in the above case the perpendicular force would cause a turning force *and* push on the object's CoM with the same force, with only the turning force dependent on the position and angle?

Share this post


Link to post
Share on other sites
Quote:
Original post by BattleMetalChris
If that were true then a force applied perpendicular to the CoM would push the object forwards instead of spinning it.


And that is exactly what happens in real life.

If you apply a force perpendicular to a body, it results in the exact same linear velocity no matter where you apply it, plus a moment depending on where it's applied which causes a certain amount of spin to occur also.

Share this post


Link to post
Share on other sites
I found it a little counter-intuitive at first, but yeah, I think I see it now. An example would be a trolley with a long wooden bar laid horizontally across it - if you push one side the trolley still rolls forwards.

So for my original problem, to get the linear acceleration it *is* just a case of summing all the forces being applied, without having to resolve them into components at all.

Thanks, this has helped a lot :-)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!