Source: https://ganguenot.net/IMG/pdf/fonction_affine_coursc.pdf