[ODE] Constraint theorizing
Sergio Valverde
svalverde at barcelona.ubisoft.es
Mon Feb 24 01:55:02 2003
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.
Sergi
-----Original Message-----
From: Adam D. Moss [mailto:adam@gimp.org]
Sent: domingo, 23 de febrero de 2003 17:28
To: ode@q12.org
Subject: Re: [ODE] Constraint theorizing
Henri Hakl wrote:
> Hmmm... I think you are right there.
>
> However, I then still find it disturbing that 100x100 to 500x500 matrices
> actually come into existence in practize for systems that aren't overly
> complex.
I'm inclined to agree, but ODE still represents outstanding
value for money whichever way you slice it. :)
There were tantalizing murmurings of a future iterative solution
requiring significantly less space and somewhat less time. ODE's
steady but near-glacial development history indicates that it's not
a good idea to hold your breath waiting for any features that
you aren't willing to implement yourself though... that's just
how it is, AFAICT, due to the maintainer's limited time;
WYSIWYG, and a lot of developers using ODE have to learn not to
expect more than that unless they want to get their hands
dirty themselves.
--Adam
--
Adam D. Moss . ,,^^ adam@gimp.org http://www.foxbox.org/ co:3
busting makes me feel good
kthx bye
_______________________________________________
ODE mailing list
ODE@q12.org
http://q12.org/mailman/listinfo/ode