Source: http://www.labri.fr/perso/pbenard/teaching/pghp/slides/Cours_PGHP_2016_04-IntroGraphics.pdf