Skip to main content
GameDev.net gamedev.net
🔒 Locked

From Angular Velocity to rpm

Started by jujunosuke Apr 20, 2012 at 9:41 AM 3 replies 2k views
Original Post
jujunosuke
jujunosuke
Hi all,

In my car simulation i have change a lot of settings and i am trying a new approach.
I try to simulate an Engine and then get the resulting speed of the wheels.

Here is what i have done so far, but i don't think that my engine_rpm calculation is correct..
I try to calculate it from the engine angular velocity.


var maxTorque = getTorqueCurve( getRPMEngine() ); //This function return a Torque at a given rpm ( rpm minimum is 1000 )

engineAngularAcceleration = maxTorque / getCylinderInertia( 1000, 0.5 );
engineAngularVelocity += engineAngularAcceleration * TIME_STEP;

var rps_engine = engineAngularVelocity * Math.PI * 2;
rpm_engine = rps_engine * 60;


Any help to clear this out would be welcome.
Thank you very much.
alvaro
alvaro
What seems to be the problem? Do you have an example of a situation where that code produces a clearly absurd output?

And why did you call that variable maxTorque'? Isn't it just torque'?
kunos
kunos
To convert from rad/s to rpm this is the macro I use:

#define RADS_TO_RPM(a) ((a)/(PI*2.0f)*60.0f)

So ya, your calculation is wrong.
alvaro
alvaro
kunos is right:

var rps_engine = engineAngularVelocity * Math.PI * 2;

should be

var rps_engine = engineAngularVelocity / (Math.PI * 2);

But please use functions instead of macros.
jujunosuke
jujunosuke
What seems to be the problem? Do you have an example of a situation where that code produces a clearly absurd output?[/quote]
I don't have totally strange output but, any wrong calculation will lead to wrong simulation of course...

And why did you call that variable maxTorque'? Isn't it just torque'?[/quote]
Yeah, This is just an example, in fact, i have some previous calculation with the variable torque, but anyway..

Thank you Kunos my master !
And thank you alvaro.

I really appreciate both of your help !
Thanks again !

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.