[ODE] Constraint theorizing

Henri Hakl henri at cs.sun.ac.za
Tue Feb 25 05:40:02 2003


Well then Sergio :))

...make the code look neat and submit it and we all get to have fun with it.


----- Original Message -----
From: "Sergio Valverde" <svalverde@barcelona.ubisoft.es>
To: <ode@q12.org>
Sent: Tuesday, February 25, 2003 2:03 PM
Subject: RE: [ODE] Constraint theorizing


> Also it's possible to avoid the island construction
> process entirely (see ProcessIsland subroutine).
> Simply iterate for all constraints.  Again, should
> be possible to parallelize the computation of several
> constraints (that is, several iterations) if they
> involve different bodies.
>
> Sergi
>
> PD: Thanks but I din't realize this algorithm alone.
> I would like to note that the main contributor
> was Antonio Martini.
>
> -----Original Message-----
> From: Gary R. Van Sickle [mailto:g.r.vansickle@worldnet.att.net]
> Sent: martes, 25 de febrero de 2003 7:29
> To: ode@q12.org
> Subject: RE: [ODE] Constraint theorizing
>
>
> > There were some discussion about such things in this list
> > (iterative schemes and the like) I have tested (succesfully)
> > a straighforward iterative  technique which solves *only*
> > 1 constraint at each step (thanks Antonio). That is, if you
> > have a system  of say C= 10 constraints, then you solve
> > every constraint separately without taking into account
> > the other constraints. The idea is that the time step is
> > subdivided into a sort of "microsimulations". Something
> > like that:
> >
> > parameter: N substeps, C constraints, Dt (ODE timestep)
> >
> > for i=0..N-1 do
> > for c = 0..C-1 do
> > Solve constraint c-th
> > Apply forces to constraint bodies
> > next
> > Integrate bodies by (Dt/N)
> > next
> >
> > The idea is that as N->inf the movement of the bodies is
> > very small so the effect of every constraint is very
> > localized and this approach becomes exact just in the limit.
> > In my tests a small number is iterations is enough to
> > get decent results.
> >
> > Please note that the core of this scheme is to solve a
> > very small (up to 6x6) LCP constraint system.  I think
> > this approach gives enough room to a lot of performance
> > improvements. The next step should be to find a fast
> > code able to solve the small system.  Also, note that
> > is no longer necessary to store a big matrix for the
> > constraint coefficients.
>
> This is like excellent to the third power!  And believe it or not, I
> actually
> thought of just this scheme during my run this evening, not that I'd have
> had
> the ability to pull it off.  So let me see if I can summarize.  ODE as-is
is
> O(C^3).  The new scheme is O(CN), with N a small integer.  That
improvement
> in
> scalability alone is fabulous.  PLUS, we lose the stack problems that have
> been
> plagueing people.
>
> You are a GOD!
>
> --
> Gary R. Van Sickle
> Brewer.  Patriot.
>
>
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode