Animation Software Engineering - Cloth Simulation
- C++
- Qt
- OpenGL
- Doxygen
- LaTeX
The goal of my first project at Bournemouth University was to implement a software system for cloth simulation.
A rectangular piece of cloth is modeled using a mass-spring system. By taking internal and external forces into account, the deformation of the cloth is achieved. These forces include spring forces, damping, gravity, and wind. The Euler integration method is used for integration over time. It is possible to use constraints presets to get simulations for cloth fixed at one or multiple points or edges, like a towel hanging on a clothes hook or a tablecloth resting on a table. Collision handling works for simple obstacles (spheres and cuboids).
The tool is implemented in C++ using OpenGL and the NGL library for the visualization of the cloth and Qt for the user interface. The Doxygen documentation style is used. Git is used as version control system.
Examples of fixing the cloth at different positions:
Influenced by wind forces:
Collision with simple obstacles:
In this video, different scenarios for the implemented cloth simulation are shown: behavior by fixing the cloth at different positions, collision with spheres and cuboids as well as wind influence.
This publication is used as base for the implementation: Provot, Xavier. Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior. Graphics Interface. 1995.
A summary of my work can be found hier.