Iterative solver (again) [Was: Re: [ODE] Russ' plans for ODE?]

Anton kronos at mtcelestia.net
Tue Apr 27 14:28:13 MST 2004


> Hm... I don't know where you get your info from, but it does make sense.
:)

Well, I just played a bit with Novodex and this explanation seems to fit the
visual results best. But inherently it's merely a speculation

> So, it would be something like a mix between stepfast (keeping same joint
> configurations during several integration substeps), and Mendoza's method
> where you correct positions directly, not only velocities. Am I right?

As I see it, there's no explicit position correction, but penalty impulse is
chosen to be such that it brings the contact error to 0 in 1/penalty_scale
steps (penalty_scale is an adjustable variable).

> Still, thinking about what Rick Baltman said on this GDC in his "Using
> Verlet Integration and Constraints in a Six Degree of Freedom Rigid Body
> Physics Simulation", I am under impression that even impulse corrections,
> like those you describe would need several passes (at least 2-3) to
converge
> properly.

I believe in Novodex drift resulted from having only one pass generates
contact error vectors, which are corrected with the penalty impulses during
the following iterations. Of course, this works best when contacting bodies
have equal masses and joint configurations are not too complex. In general,
I agree that multipass solver can give better results.



More information about the ODE mailing list