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 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
- 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
- debugging with
- 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