Source: https://w3.erss.univ-tlse2.fr/publications/CDG/30/CG30-12-DurandTarrier.pdf