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 tradeoff 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 CADoperations 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
 objectoriented 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, offline programming, telemanipulation
 distributed virtual reality, games
