Animation Software Engineering: Stoffsimulation
- C++
- Qt
- OpenGL
- Doxygen
- LaTeX
Das Ziel meines ersten Projektes an der Bournemouth University war die Implementierung eines Softwaresystems zur Stoffsimulation.
Ein rechteckiges Stoffstück wird durch ein Masse-Feder-System modelliert. Unter Berücksichtigung interner und externer Kräfte kann die Verformung des Stoffes erreicht werden. Diese Kräfte sind Federkräfte, Dämpfung, Schwerkraft und Wind. Für die Integration über die Zeit wird die Euler-Integration verwendet. Es ist möglich, vordefinierte Befestigungspunkte zu verwenden, um Ergebnisse wie ein Handtuch, das an einem Kleiderhaken hängt oder ein Tischtuch auf einem Tisch zu erhalten. Kollisionsbehandlung ist für einfache Objekte (Kugel und Quader) möglich.
Die Anwendung ist in C++ implementiert und verwendet OpenGL und die NGL-Bibliothek für die Visualisierung des Stoffes und Qt für die Benutzeroberfläche. Der Doxygen-Dokumentationsstil wird verwendet; Git wird zur Versionskontrolle eingesetzt.
Beispiele für die Befestigung des Stoffes an verschiedenen Stellen:
Unter Windeinfluss:
Kollision mit einfachen Objekten:
Im Video werden verschiedene Szenarien für die implementierte Stoffsimulation gezeigt: das Verhalten unter Befestigung des Stoffes an verschiedenen Positionen, die Kollision mit Kugeln und Quadern sowie der Einfluss von Windkräften.
Folgende Publikation wurde als Grundlage für die Implementierung verwendet: Provot, Xavier. Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior. Graphics Interface. 1995.
Eine Zusammenfassung meiner Arbeit gibt es hier.