Skip to content

Interactive cloth simulator using the method described in the SIGGRAPH paper "Fast Simulation of Mass-Spring Systems" by Liu, T., Bargteil, A. W., Obrien, J. F., & Kavan, L.

License

Notifications You must be signed in to change notification settings

sam007961/FastMassSpring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast Mass-Spring System Simulator

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.

Building

You need to install OpenGL, GLEW and GLUT on your system to build. The rest of the dependencies will be automatically fetched by cmake during configuration.

To build, run the following commands from the root directory of the project:

mkdir build
cd build
cmake ..
cmake --build .

On Windows, you will likely need to specify the directories containing GLUT and GLEW in CMAKE_PREFIX_PATH so that cmake can find them.

cmake .. -DCMAKE_PERFIX_PATH:PATH=/path/to/libs

You will also need to copy the DLLs to the build directory if they are not available globally.

Demonstration

curtain_hang curtain_ball

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-154.

About

Interactive cloth simulator using the method described in the SIGGRAPH paper "Fast Simulation of Mass-Spring Systems" by Liu, T., Bargteil, A. W., Obrien, J. F., & Kavan, L.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published