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