* Everything I did for this course was done from scratch
Hierarchical Modeling & Animation
In this assignment I implemented an animation system that could reproduce 3D animations using the interpolation techniques seen in class (Catmull-Rom, Hermite, Bezier and Linear interpolation).
In the video you can see:
- 2D curves created by interpolating some control points using the techniques mentioned above.
- Animation reproduced by interpolating the data given by the keys of the animation (only skeletal animation).
Motion Along a Curve
The objective of this assignment was to have a biped walking along a curve. The input of the program is a file with the control points (position and time) of the curve to be traversed.
In the video you can see:
- The skeleton of the model walking through the curve, which has been parametrized by its arc-length so the character wouldn’t accelerate in the straight segments and decelerate in the curves.
- Orientation of the model along the curve by using Frenet Frame and Center Of Interest.
- An Ease-in-out curve to make the character accelerate and decelerate at the beginning and end of the path.
Skinning & Inverse Kinematics
The goal of this assignment was to make the hand of the character reach the target by using IK.
In the video you can see:
- Two Bone algorithm (2D), where the length of the bones (green lines) can be modified. Red ball is the target.
- Cyclic Coordinate Descent algorithm (3D), where user can choose if the IK gets resolved form the first bone (shoulder) to the last one (wrist) or vice versa.
- Skinning.
Particle System Dynamics
The objective of the assignment was to implement a physics simulation based on particle systems, Verlet Integration and Iterative Constraint Relaxation, using as a base the implementation described by Thomas Jakobsen.
In the video you can see:
- Change of the system’s dimension on runtime.
- Bounding box for limiting the spreading of the particles.
- Gravity variation.
- Cloth elasticity variation (less passes, more elasticity).