A physics engine for particles.
This physics engine is essentially a simulation where particles, forces and constraints act together to simulate a wide range of interesting behaviors. Complex configurations of multiple particles, springs and geometric constraints allow us to realistically simulate cloth, hair and more. However, implementing a realistic simulation is not easy, as one has to evaluate the vector of particles, forces and constraints at each timestep in the simulation. This can be done using various time integration schemes which were arguably the most challenging part of this project.