Source: https://stph.scenari-community.org/bdd/polys/bdd1.pdf