[deutsche Version]

The SiLVIA-Team
Andreas Kerzmann Bastian Kleineidam Christian Lennerz Rainer Schmid Joachim Reichel Elmar Schömer Thomas Warken
 
     
SiLVIA Logo

Simulation Library for
Virtual Reality
and Interactive Applications

 
Examples
Wooden puzzles
Whipping top
Contact forces



Documentation
Program architecture
 

Our goals

The software library SILVIA (Simulation Library for Virtual Reality and Interactive Applications) serves to simulate the dynamics of rigid bodies and to interactively manipulate these bodies in virtual environments.

The boundary of the objects will be modelled not only by polygons but also by curved face segments of spheres, cylinders, cones and tori because these play an important role during the design of mechanical parts. All geometric algorithms have to take this into account. We want to use self developed algorithms as well as known results from the fields of computational geometry and computational mechanics. In particular we want to analyse the trade-off between robustness and efficiency of these algorithms.

As far as simulation is concerned the focus of interest lies in the behaviour of systems of colliding rigid bodies.
In this context the efficiency of the collision detection is the critical factor. For a realistic simulation of physical effects like impacts, sliding, sticking and rolling motions friction has to be considered.

The software and the corresponding documentation of all data structures and algorithms, resulting from diploma theses, will be freely available. We attach great importance to the portability of our software by only using platform independent, public domain standard packages.

Possible applications of SiLVIA lie in the field of (distributed) virtual reality in order to improve the quality of simulations, e.g. virtual assembly simulations and ergonomy studies as well as telemanipulation of robots.

Data structures

  • data structure for the topological and geometric representation of objects with quadric and torus face segments and with conic edges
  • data structure for hierarchical approximation of objects by bounding hulls and for hierarchical space partitioning
Geometric algorithms
  • typical CAD-operations for modelling objects, e.g. generation of projection, rotation and swept objects, rounding of vertices and edges, boolean operations (intersection, union, difference)
  • calculation of moments (mass, center of mass, inertia tensor) on the basis of the geometric representation
  • distance and intersection calculations as well as collision detection
  • improvement of efficiency by bounding hulls and space partitioning heuristics
  • parallelization of collision detection
Simulation
  • kinematics and dynamics of rigid (linked) bodies
  • uni- and bilateral contacts between rigid bodies
  • integration of different approaches for modelling plastic/elastic impacts
  • treatment of friction
Software
  • object-oriented programming language C++
  • visualization by OpenGL
  • description of graphical user interfaces with Qt
  •  debugging with Insure++ from
  • use of standardized file formats for object representation (ACIS) and for scene descriptions and animation sequences (VRML)
Applications
  • assembly planning, assembly simulation, ergonomy studies
  • robotics, off-line programming, telemanipulation
  • distributed virtual reality, games

Peanuts comic
Lehrstuhl für angewandte Mathematik, Prof. Hotz, page design by Webmaster