Tanja Munz-Körner


Science meets Art

Animation Software Engineering: Stoffsimulation

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:

ClothSimulation_2 ClothSimulation_1

Unter Windeinfluss:

ClothSimulation_wind_1 ClothSimulation_wind_2

Kollision mit einfachen Objekten:

ClothSimulation_collision_1 ClothSimulation_collision_2 ClothSimulation_collision_3 ClothSimulation_collision_4

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.