Source: https://math.cmaisonneuve.qc.ca/sites/math.cmaisonneuve.qc.ca/files/6_trigo.pdf