[ODE] ODE stability
Jon Watte
hplus-ode at mindcontrol.org
Thu Feb 5 09:39:16 MST 2004
Think about it this way:
If you use a float, you have about 5 digits of precision.
If you keep your values for masses in the range (0.1 - 10.0) then that's already using up 2 digits of precision -- I wouldn't stretch it more than that. With doubles, you might be able to go a little further, but not too much.
Internally, there may be multiplication and powers of values involved. This means that values around 1.0 are better behaved than really large or really small values. This is especially important for mass and size values. Thus, you should find a scaling factor such that 1.0 sits in the (logarithmic) middle of your range of mass and size.
When I find it hard to fit my entire range into that 0.1-10.0 range, I fake it. I've found that using the square root for mass works allright, and doesn't twist the behavior too much (for a game). I e, if my unit is 100 kilograms per unit, then a 10,000 kilogram truck would be added to ODE as 10 mass units (sqrt(10,000 / 100)) and a 1 kilogram brick would be added as 0.1 mass units (sqrt(1/100)).
Hope this helps.
Cheers,
/ h+
-----Original Message-----
From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of arcad
Sent: Thursday, February 05, 2004 4:45 AM
To: ODE at q12.org
Subject: [ODE] ODE stability
Hello ODE,
Anyone, explain please enigmatic phrase from manual ODE - keep lengths and masses around 1.
I use other system of the units - 1 unit is one centimetre.
Accordingly sizes of bodies beside from several units before several hundred units.
May be so beside me problems with stability?
The Bodies at all can not quiet down and continue to tremble.
They that is mildly ruined, that is popped.
Such sensation that with each frame on differ magnitude.
Is it Beforehand thanked, Arcad.
--
Best regards,
arcad mailto:arcad at orion-mm.ru
_______________________________________________
ODE mailing list
ODE at q12.org
http://q12.org/mailman/listinfo/ode
More information about the ODE
mailing list