We implement three spring/mass system simulations.
First, an elastic rope is simulated, where the rope is represented by several nodes connected by edges. We take into account gravity, node and edge friction, Hooke's law and flexion springs.
Parameters determining the gravity constant, spring constants, friction coefficients, the natural and max length of the edges, and the mass of nodes can be altered before running the simulation.
In real-time, additional nodes can be added or removed, and forces can be toggled on or off.
We further extend it to a 2D piece of cloth rather than a 1D rope, adding a wind force to the simulation. Finally, we add another dimension to simulate 3D jelly.
This project was implemented using C++ and OpenGL.