Iterative solver (again) [Was: Re: [ODE] Russ' plans for ODE?]
Nguyen Binh
ngbinh at glassegg.com
Tue Apr 27 15:45:13 MST 2004
Hi Alen,
>> After playing with Novodex, I found out that they use a
>> iterative solver like StepFast1(old story, every one know).
AL> Is that what you concluded by looking at the Novodex examples and SDK, or
AL> did they actually tell you that?
Hmm... They told us and I made my guess also. I remember Pierre
has stated that they use a technique which is similar to ODE's
StepFast.
>> Of course, Novodex's solver is much more well designed, they
>> employ many optimizations like : Auto disable (But maybe much
>> more better than ODE's), contacts filter and a very robust
>> collision code.
AL> I believe that. But I wouldn't jump to conclusions that it is enough.
AL> Could it be that the "better designed iterative solver" is somewhat similar to
AL> what was hinted by Richard Tonge a few years ago on this list?
You mean this one?
http://q12.org/pipermail/ode/2002-October/006141.html
AL> Our experiments with successive approximation lead me to believe that it has
AL> great potentials.
Wait a minute! So you mean that solver will take in the huge
matrix of original step and then solve it iteratively? Or still
iterative through a list of joints like StepFast?
And, if it's feasible,would you please describe your experiments?
>> So, out tiny step will be 1/600!!! I think it's too small to
>> make "logical" and useful simulation.
AL> Timestep in a simulator can never be too small. :)
Hmm.. then let say like this situation: a box is in very deep
penetrate with a sphere. The collider give us a depth. The
dynamics part know that it should pull the box separate from
sphere but in very tiny time step, the box can just be moved a
tiny distance. Could it happen? It sounds a little stupid but if
this scenario happens, we don't use our time step efficiently.
Moreover, experiment shows that when we use StepFast, 1/600 time
step doesn't make our simulation much more better than 1/60 step.
All the two look believable in my case and doesn't match wit
original Step.
AL> Smaller step will always be more precise - unless, of course,
AL> you hit float precision in the time variable, but we're not
AL> talking about that... ;)
For demonstration, I'll put a demo with that technique and use a
quite "polished" collider. These day, I tried to make your
sphere-cylinder collider code more robust :).
Nguyen Binh.
More information about the ODE
mailing list