/projective-dynamics

Primary LanguageC++Boost Software License 1.0BSL-1.0

Soft Body Virtual Cutting using Projective Dynamics

Overview

Academic prototyping project for soft body cutting using projective dynamics. Different constraint types and cutting methods will be implemented using Eigen for matrix computations and libigl for visualization and user interaction.

Constraint types

  • positional
  • edge length edge length constrained cloth
  • deformation gradient deformation gradient constrained bar
  • strain limiting strain limiting constrained bar

Dependencies

libigl is included in the project using CMake's FetchContent and pulls in Eigen, glfw, Dear ImGui and TetGen with it.

Building

# Download repository
$ git clone https://github.com/Q-Minh/projective-dynamics
$ cd projective-dynamics

# Configure and build project
$ cmake -S . -B build
$ cmake --build build --target pd --config Release

# Run the program
$ ./build/Release/pd.exe