Source: https://www.epfl.ch/labs/lcso/wp-content/uploads/2019/07/Exercices-CGAII-2019.pdf