Saving simulations performed in the TopoSim library

Encadrants : Florence Zara (LIRIS-ORIGAMI)
Domaine : Informatique graphique.
Compétences requises : C++.

Contact : florence.zara -at- liris.cnrs.fr

Framework: The physically based animation is an important filed of computer graphics. This involves reproducing the behaviour of 3D objects (rigid or deformable) over time in a realistic way, based on the laws of mechanics. As part of research in this area, the ORIGAMI team at LIRIS is developing the TopoSim library which allows simulations of 3D objects. This library is written in C ++ and the display is done in OpenGL using features from the CGAL library, and the user interface is implemented using the Qt library. Within this library, the simulation loop is based on Newton's laws, i.e. at each time step of the simulation, the following calculations are performed:
  • calculation of the forces which are applied to the objects;
  • calculation of the accelerations of objects by dividing the forces by the mass;
  • calculation of the velocities of objects by numerically integrating the accelerations;
  • calculation of the positions of objects by numerically integrating the speeds.
The original approach of this library is to make it possible to modify the topology of objects during the simulation. It is thus possible to modify the geometric representation of objects by refining or de-refining their meshes, or even by performing cuts.

Subject: saving simulations performed in the TopoSim library

The project concerns the implementation within the TopoSim library of saving simulations in the form of videos.
In terms of implementation, it will be:
  • to offer a module allowing the simulation to be saved in the form of videos with the recording of images during the simulation;
  • to create the corresponding graphical interface allowing the user to choose the appropriate parameters of the backup (geometric and mechanical parameters of the objects present in the simulation, parameters relating to the saving of images: simulation time, number of images saved);
  • allow high quality rendering / display of the simulation (lighting of the scene, use of texture on objects, material parameters) using an external library such as blender (https://www.blender.org/), ogre (https://www.ogre3d.org/) or also povray (http://www.povray.org/);
  • to allow a scientific rendering highlighting parameters of validation of the simulation such as the zones of strong constraint or the errors made compared to the known analytical solution.
In addition, depending on the interest and progress of the students, other functionalities could be added to the TopoSim library. For example, it would be interesting to set up a tool (virtual scalpel) to cut out the simulated objects or to implement the taking into account of collisions between the different objects (2D or 3D) present in the scene.