Source: https://perso.liris.cnrs.fr/nbonneel/StageM2.pdf