Tearable Cloth Dynamics

In my first semester at BU, we had a unit called Animation Software Engineering, and another one called CGI Techniques. Both units were graded on the same project, which was free to choose. I chose to do a Cloth simulator. Because this is a pretty common choice, I set some different goals than my classmates: implement a cloth sim that allows the cloth to be torn up and implement implicit integration.

The resulting cloth simulation was written from scratch in C++, and includes a mass spring model for the cloth, external forces, three different integration schemes including a fully implicit one, some basic collision detection and a tearing algorithm. I implemented my own version of a half edge structure to aid with tearing the mesh, resulting in a tearing algorithm with linear complexity. I added a user interface built using Qt and OpenGL.

As a part of the assignment, we had to make a video showing what our project could do. Have a look:

© 2020. All rights reserved.