@didierBravo ! Pas si 'impératif' que ça.
La réponse de @VDH-Bruno ne t'a pas fait d'ombre, tu as implémenté le "parcours de Graham" et Bruno un "quickhull".
Voici ma réponse :
;; quickhull
;;
;; La fonction loop est celle qui implémente l'algorihme général
;; (loop p1 p2 pts) cherche dans pts des points à droite du segment p1 p2.
;; - S'il y en a (l), on prend le point le plus éloigné (pt) et on concatène
;; (loop p1 pt l) avec (loop pt p2 l)
;; - S'il n'y en a pas on garde p2.
;;
;; La fonction filter
;; (filter p1 p2 pts 'pt) renvoie les points de pts qui sont à droite de p