# ScottySim

Scotty3D extensions for inverse kinematics, cloth simulation, and fluid simulation.

While taking CMU 15-464 (technical animation) during the spring semester of 2021, I used the course projects to add various animation features to Scotty3D.

## Inverse Kinematics

I implemented and compared a variety of inverse kinematics strategies:

- Cyclic coordinate descent with bouncing
- Numerical jacobian transpose
- Analytic jacobian transpose
- Jacobian pseudo-inverse
- Jacobian pseudo-inverse with damped least squares

## Mass-Spring Cloth Simulation

I implemented the following cloth simulation features:

- Mass-spring cloth structure
- Verlet integration with damping
- Spring damping
- Spring length constraints
- Cloth-mesh collisions
- Naive cloth self avoidance

## Position Based Fluid Simulation & Screen Space Fluid Rendering

I implemented the following particle-based fluid simulation features:

- Position based fluids
- Viscosity & vorticity confinement
- Fluid-mesh collisions
- Rendering with path tracing
- Real-time rendering with screen-space fluid rendering

## Paper Presentation

Additionally, I gave a presentation on the paper Detailed Rigid Body Simulation with Extended Position Based Dynamics.

Written on June 24, 2021