[deutsche Version]

The SiLVIA-Team
Andreas Kerzmann Bastian Kleineidam Christian Lennerz Rainer Schmid Dr. Elmar Schömer Thomas Warken

Simulation Library for
Virtual Reality
and Interactive Applications

Wooden puzzles
Whipping top
Contact forces

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
  • 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
  • object-oriented programming language C++
  • visualization by OpenGL
  • description of graphical user interfaces with Tcl/Tk and the Fox Toolkit
  • distributed/parallel algorithms on the basis of PVM
  • use of standardized file formats for object representation (ACIS) and for scene descriptions and animation sequences (VRML)
  • 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