Sign in to follow this  
FlorianapoliS

Normal Force.

Recommended Posts

Hi, I'm trying to build a rigid body physics simulation for a uni assignment. I was wondering if some could explain the function GetImpulseForceMagnitudeFromDeltaVelocity from the thread http://www.gamedev.net/community/forums/topic.asp?topic_id=406624. I've been using the impulse forumula in Chris Hecker's articles on rigid body physics - http://www.d6.com/users/checker/dynamics.htm to calculate the new velocity and angular velocity after a collision, and was wondering if I can use this function instead to get the normal force and apply that at the contact point? This seems like a more logical way to resolve collisions to me. Cheers, Mark.

Share this post


Link to post
Share on other sites
Impulseforce !!?? What the hell is one of those? Its either one or the other, not both ;p. Anyway, j in Chris Heckers tutorials is the impulse magnitude, simply multiple this by the collision normal to get the "impulseforce" to apply at the collision point.

Share this post


Link to post
Share on other sites
I only scanned the thread you referenced, but it seems the GetImpulseForceMagnitudeFromDeltaVelocity (wow, what a function name) calculates the force needed to halt the vehicle. You'd need that for friction calculations.
The normal force they talk about is the force that opposes gravity, refraining your objects from falling through whatever they are on (ground, table etc.), which is a factor in friction calculations.
Collision response is something completely different.

The Chris Hecker articles look good to me. Equations 8 and 9 of article 3 seem what you need to calculate the new velocties for your objects.

Share this post


Link to post
Share on other sites
double GetImpulseForceMagnitudeFromDeltaVelocity(double DeltaVelocity,Vector3 & R1,Vector3 & line_of_action,RigidBody&a)

calculates the impulse magnitude that, when applied to rigid body a at a position offset R1 from the centre of mass, in the direction line_of_action, results in a change in velocity at the point of application of DeltaVelocity in the direction line_of_action.

One could/would use this in contact, collision and friction calculations.

Share this post


Link to post
Share on other sites
Thanks for the replys. So the general jist of what I need to do when two objects collide is:

  • Calculate the impulse j and apply it at collision point

  • Calculate the normal force

  • Calculate the friction force, using the long name formula to see if I have overcome static friction

  • Apply normal, and friction force at collision point



Cheers,
Mark.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this