Максимальный разброс нескольких точек - PullRequest
1 голос
/ 01 декабря 2010

У меня есть группа точек (x, y), и мне нужно выяснить расстояние между двумя наиболее удаленными друг от друга.

Какой самый эффективный способ найти это?

Спасибо

1 Ответ

3 голосов
/ 01 декабря 2010

Что ж, сравнение каждой точки с любой другой точкой, безусловно, не эффективно.

Наиболее эффективный способ заключается в поиске выпуклой оболочки, которая представляет собой выпуклый многоугольник (без углов> 180), окружающий все точки.

После этого вы найдете самые дальние точки на корпусе, используя пары антиподов.

Алгоритм, описанный здесь:

http://www.seas.gwu.edu/~simhaweb/cs153/lectures/module1/module1.html

...