Skip to content

tydia/Inverse-Kinematics-with-Skinning

Repository files navigation

Inverse Kinematics with Skinning

Implemented on macOS 10.15.4, tested on both macOS and Ubuntu 20.04

Prerequisite:

  1. Eigen library. This is mainly a header only library, so you don't need to install it.
  2. ADOL-C library. Please visit the link for installation instructions.

What is this project?

The code as a whole is a complete character animation pipeline. Our job in this project is to implement the missing main functionalities to complete the pipeline. Specifically, for character animation, I implemented forward kinematics (FK), inverse kinematics (IK), and skinning. For IK, two methods are implemented for comparison: damped least squares method and the pseudo-inverse method. Damped least squares produces more stable simulation results, whereas pseudo-inverse method is less stable. However, pseudo-inverse method is more mathematically pleasing compared to damped least squares method. For skinning, Linear Blend Skinning and Dual Quaternion Skinning methods are implemented.

Some Demos

  1. Simulation with Damped Least Squares method:
  2. Simulation with Pseudo Inverse method: