Source: https://www.ecole.ensicaen.fr/~chateign/enseig/optics/tp/geom/OptGeo2.pdf