Project : evasion
AnimAL is a C++ library mostly dedicated to animation of 3D models. The kernel of AnimAL is intended to be highly flexible thanks to generic programming (templates). It includes classes representing basic variables (arrays, rotations, solid transforms, linear algebra, etc.) as well as standard algorithms (numerical integration, optimisation, interpolation, etc.). This kernel uses only standard libraries of C++. Thus it is totally independent of the other modules and is directly portable on another architecture or system.
Actually, except the basic tools and the standard algorithms, the existing code in AnimAL is mainly due to the result of our research code (physical mass-spring system, collision detection). We recently proposed its integration into a new modular architecture, supporting input-output of 3D files, internal 3D scene graphs, and graphic user interface which allows the control of the animation and the viewing of the animated 3D models. This architecture is partly based on free softwares developed by the ARTIS team (X3DToolKit and QGLViewer).
AnimAL, in its preliminary form, was already used within four collaborations:
with the LIGIM research laboratory at Lyon. The goal was to model and animate fractured materials.
with the LIFL research laboratory at Lille. Some parts of AnimAL were used in a chirurgical simulator.
with the University of Lecce (Italy).
with the University of Tuebingen (Germany) for cloth simulation.
The actual version of AnimAL will be used in the RNTL project PARI (see section 7.2), and in the RIAM project Virtual Actors (see section 7.3) with the video games company Galilea at Grenoble. In particular, AnimAL will be used to animate a character's clothes.
In future, AnimAL will integrate all the new animation technologies we develop at EVASION, and will become a free C++ library (see http://www-evasion.imag.fr/Ressources ).