Friedrich-Alexander-Universität UnivisDeutsch FAU-Logo
Techn. Fakultät Willkommen am Institut für Informatik FAU-Logo
Logo LSS
Chair for System Simulation (Department of Computer Science 10)
Klaus Iglberger
Dept. of Computer Science  >  Computer Science 10  >  People  >  Klaus Iglberger

Studienarbeit / Bachelor thesis

Rigid body dynamics: Cylinder geometry

Supervision:

Background:

The rigid body physics engine pe is a framework for the physically correct simulation of rigid bodies of arbitrary shape.

A basic component of the pe physics engine are geometric primitives. Whereas primitives are fixed in their shapes in comparison to e.g. triangle meshes, they offer a big performance advantage due to their predictable characteristics. Additionally, the shape of many rigid bodies can be approximated by a combination of several primitives. Currently the pe engine offers spheres, boxes, capsules and planes and the possibility to combine those primitives in unions.

An often necessary geometric primitive is the cylinder geometry. So far a cylinder can only be approximated by triangle meshes that are (sometimes) much more expensive than a simple geometry. However, cylinders are considered a comparatively complicated geometry due to their circular edges. Therefore many physics engines only offer so called capsules (that is already part of the pe physics engine).
The goal of this thesis is the extension of the physics engine by the cylinder geometry that offers some new, interesting simulation capabilities. This includes the development of a suitable data structure to represent the geometry accordingly, the implementation of basic functionality (as for instance test functions whether a point lies inside the cylinder) and the extension of the collision module by the cylinder geometry to enable the cylinder to collide with all other available primitive geometries.

Tasks:

  • Extension of the pe framework by the cylinder geometry
  • Implementation of suitable data structures, collision detection routines and contact point calculations
  • Testing and debugging the implementation
  • Performance optimizations of the implementation
  • Development of demonstration examples

Recommended knowledge:

  • Advanced C++ programming
  • Background in geometry
  • 3D-imagination

Status:

Free

  Contact Last modified: 2008-07-18 09:47   cf