Mój pierwszy pomysł był taki, żeby zrobić gąsienice. Dla p1 znajdujemy najbardziej oddalony punkt, powiedzmy q1. Potem bierzemy p2 (kolejny punkt z otoczki) i bierzemy kolejne punkty z otoczki na prawo od q1 (nazwijmy je q2) dopóki dist(p2, q2) będzie niemalejące. Ten algorytm ma małe problemy gdy otoczka przypomina owal.
Znalazłem natomiast algorytm Shamos, który działa na podobnej zasadzie. Idea jest taka, żeby toczyć tę otoczkę jak głaz. Kładziemy otoczke na odcinku (p_1, p_n) (gdzie n to liczba punktów na otoczce) i szukamy punktu, który znajduje się najwyżej. Potem przetaczamy otoczkę na odcinek (p2, p1) i znowu szukamy najwyższego punktu, przetaczamy na (p3, p2) itd.
W końcu któryś z punktów z odcinka na którym leżała otoczka i ten najwyższy punkt będą tworzyły parę najbardziej oddalonych punktów.
Pseudokod
Wizualizacja