Personal Inquiry: Metaballs
- C++
- Qt
- OpenGL
- Doxygen
- LaTeX
Im Personal Inquiry durften wir ein beliebiges Thema wählen, welches sich auf unseren Fachbereich bezog und für welches wir uns interessierten. Inspiriert durch die Metaball-Effekte, die ich mit Houdini für das Gruppenprojekt erzeugt hatte, beschloss ich mich näher mit diesen geometrischen Objekten zu befassen, ihren mathematischen Hintergrund zu untersuchen und eine interaktive Anwendung zu implementieren.
Metaballs können sehr interessante Formen bilden. Besonders der Effekt, der erzeugt werden kann, indem sich Metaballs nähern oder sich voneinander entfernen, wirkt einzigartig. Beispiele für zwei bzw. drei Metaballs:
Die Anwendung wurde in C++ implementiert mit Qt für die Benutzeroberfläche, NGL (OpenGL) für die Visualisierung und Doxygen für die Dokumentation. Mercurial wurde als Versionskontrollsystem eingesetzt. Die Implementierung bietet verschiedene Arten von Metaballs (Metaballs, Soft Objects und Blobs), welche durch unterschiedliche Metaball-Funktionen definiert sind. Die Oberfläche der Metaballs wird mit Hilfe des Marching-Cubes-Algorithmus ermittelt.
Im Video wird gezeigt, wie in der Anwendung interaktiv Metaballs erzeugt und beeinflusst werden können:
Hier ein Link zu meinen verwendeten Referenzen in diesem Projekt.