![[chinois]](images/ange.jpg)
Tabule is a physically-based rigid body simulator. It uses a Newton-Euler (constraint-based) formulation and sparse iterative solution using conjugate gradient. Integration error is restricted within given bounds using displacement constraints instead of adaptive time steps. Displacement constraints are also applied to collision handling. As a result, the simulator never steps back, no matter what time step is used and how many collisions occured. This approach is well-suited for computer animation when computation time and visual correctness are more important than physical accuracy.
An efficient solution algorithm for arbitrary kinematic structure was created. This new algorithm is a mixed method which behaves like a linear method for acyclic structures, and more like a conjugate gradient for structures with many closed loops. As a result, the algorithm is efficient for any kinematic structure.
Collisions are checked at the end of each time steps, then globally handled using displacement constraints. Contacts are handled using an iterative global algorithm inspired from a previously presented Lagrangian formulation method (see homepage). The algorithm successively improves a global solution. This allows to bound either error or computation time.
Lagrange multipliers allow considering inverse dynamics as a simple generalization of forward dynamics. Performing inverse dynamics with Tabule only requires the design of joints including non-null motion constraints. An application to the analysis of human walking data was presented at the Eurographics'97 Workshop on Computer Animation and Simulation.