16 lines
903 B
Markdown
16 lines
903 B
Markdown
|
A C++ implementation of *Fast Simulation of Mass-Spring Systems* [1], rendered with OpenGL.
|
|||
|
The dynamic inverse procedure described in [2] was implemented to constrain spring deformations and prevent the "super-elastic" effect when using large time-steps.
|
|||
|
|
|||
|
### Dependencies
|
|||
|
* **OpenGL, freeGLUT, GLEW, GLM** for rendering.
|
|||
|
* **OpenMesh** for computing normals.
|
|||
|
* **Eigen** for sparse matrix algebra.
|
|||
|
|
|||
|
### Demonstration
|
|||
|
![curtain hang](https://media.giphy.com/media/5EC1drLIyBuHxRC4I8/giphy.gif)
|
|||
|
![curtain drop](https://media.giphy.com/media/1zRbfGDmHTcn9RoUjy/giphy.gif)
|
|||
|
|
|||
|
### References
|
|||
|
[1] Liu, T., Bargteil, A. W., Obrien, J. F., & Kavan, L. (2013). Fast simulation of mass-spring systems. *ACM Transactions on Graphics,32*(6), 1-7. doi:10.1145/2508363.2508406
|
|||
|
|
|||
|
[2] Provot, X. (1995). Deformation constraints in a mass-spring modelto describe rigid cloth behavior. *InGraphics Interface* 1995,147<34>154.
|