[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