Sign in to follow this  
Rajveer

Would you call this a force?

Recommended Posts

Rajveer    250
For my 3rd year university project, I coded a futuristic racing game on the Nintendo DS. I have a presentation to give, and during the "mock", my supervisor disagreed with me on the labelling of a force. Basically: -The player's ship is tested against the level's polygons -If the ship's next position passes through the level, a reaction force is applied by the ground onto the ship however deep the ship passes -The ship's movement vector is amended with this force, and the ship now moves along this polygon My supervisor says this is not a force, as the point at which the force is applied removes continuity of the ship's movement vector, and he says that if it were to be a force it should be gradual. He says that the increase in speed and the application of friction can be labelled forces, but this cannot, and calls the collision detection a "bumpy model" rather than a "force model". I'll explain better with a diagram: Image Hosted by ImageShack.us If this is wrong, then can somebody explain the correct way to apply a force to an object's movement vector so it moves along polygon's intersected?

Share this post


Link to post
Share on other sites
Zipster    2365
Your supervisor is technically correct. What you're doing is simply resolving the collision, but no real-world force model is being used. However you can fix this by determining where the object passes through the wall, and just moving it back to that position. Then modify the object's velocity so that it's perpendicular to the ground, by subtracting the component parallel to the ground. This will model an inelastic collision, which from what I can is what you're going for.

Share this post


Link to post
Share on other sites
nagromo    676
I'd call it a normal force, but it's applied as an (impossible) instantaneous momentum change. If you want it to be more accurate and "gradual", you could simulate a smaller force acting over smaller timesteps.

Say it hits the ground. The ground then starts to bend down and applies a very large force upwards. That force pushes the object up and keeps it from intersecting.

This is a real pain to simulate, though; your way is probably the easiest to simulate. You could make it more accurate to make your adviser happy, though.

Share this post


Link to post
Share on other sites
Vorpy    869
I think what you're doing is projecting the ship to a non-colliding position and applying an impulse to it.

Share this post


Link to post
Share on other sites
JohnBolton    1372
It's not a force, its an impulse. Also, the momentum change is not necessarily instaneous. You could consider it as a force applied over the duration of the frame, which is what impulse is.

Share this post


Link to post
Share on other sites
erissian    727
Edit: Content was shamefully incorrect! Never drink and post! (Quoted below)

In this case, you are retroactively accounting for the normal force in a situation that violates your boundary condition. Whether you want to call that a late application of force, or keeping an object inside of its constraints is a semantic debate.

I would like to add one more point, though:
4. Your supervisor is micromanaging you.

[Edited by - erissian on May 4, 2007 6:48:31 PM]

Share this post


Link to post
Share on other sites
JohnBolton    1372
Quote:
Original post by erissian
1. An impulse is not an instantaneous change in momentum. Change in momentum over time, even if that time is infinitesimal, is the definition of force.
2. Force applied for a length of time isn't an impulse either.
3. An impulse is defined as the change in force over time.

I would like to know where you get your information. Those statements are not accurate.

1. While it's true that F = dp/dt, according to Wikipedia ...
Quote:
From http://en.wikipedia.org/wiki/Impulse
However, the term "impulse" is also used to refer to a fast-acting force. This type of impulse is often idealized so that the change in momentum produced by the force happens with no change in time.


2 and 3. Also, from the same page ...
Quote:
From http://en.wikipedia.org/wiki/Impulse
The impulse of a time-varying force is calculated as the integral of force with respect to time:
    I = ∫Fdt 
where
I is impulse (sometimes marked J),
F is the force,
dt is an infinitesimal amount of time.
In the presence of a constant net force, impulse is equal to:
    I = FΔt 

I've never heard of impulse being change of force over time -- I = dF/dt???

Share this post


Link to post
Share on other sites
rubicondev    296
I'm no math-head at all, but I was once told to envision an impulse as being the exact same thing to force as a quantum is to light/radiation.

When it becomes "an amount you add to something for this timestep only" it's an impulse. The force is what you read back by integration of that thing at some other time.

Is that not correct ? (I only need to know how to think of this stuff so it's just terminology for me. I can almost do the actual code :)

Share this post


Link to post
Share on other sites
erissian    727
Quote:
Original post by JohnBolton
I would like to know where you get your information. Those statements are not accurate.


It would be extremely obvious to anyone if they had the proper tools and gumption to work it out on their own. First, you start with a fine rum. After that, you sit yourself in front of a keyboard. Third, you act like a know it all and at that precise moment, confuse the terms "impulse" and "jerk." Last, but not least, come back the next day, admit to your mistakes, and hope that none of your old professors ever read what you wrote.

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