Перейти к содержимому
Compvision.ru
mrgloom

найти максимальное расстояние в наборе точек

Recommended Posts

как быстро найти максимальное расстояние в наборе точек?(быстрее чем перебирать каждую с каждой)

пробовал найти максимумы и минимумы по х,у, но такое решение, не всегда дает правильный результат, когда максимум по диагонали.

возможно стоит найти центр масс и из этого центра перевести в полярные координаты, но тут опять же расстояние между точками с макс радиусом не всегда максимальное, возможно можно проводить через центр масс прямую и находить ближайшие точки на другом конце, так уменьшим кол-во точек для проверки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думаю достаточно близкой аппроксимацией этого расстояния будет диаметр графа (или я Вас не правильно понял?).

Погуглите по поводу алгоритма нахождения диаметра графа, их достаточно много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а какой граф в данном случае, все со всеми? у меня просто набор точек, или контур допустим.

не думаю, что тут графы замешаны, тут чисто вычислительно-геометрическая задача.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно попробовать через ConvexHull, это прилично сократит кол-во рассматриваемых точек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оно через ConvexHull и делается.

Вычислительная геометрия введение (1989)Препарата Ф., Шеймос М.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну ConvexHull это мы получаем выпуклый многогранник вокруг точек, а потом всё равно надо все вершины перебирать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так максимальное расстояние будет между точками, принадлежащими этой оболочке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да,решается полным перебором, но вершин в оболочке не так много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
а потом всё равно надо все вершины перебирать?

Да перебирать. В книжке приведен алгоритм как сделать такой перебор за N - число точек выпуклой оболочки.

Объяснения в книжке сложные, но алгоритм простой. Страница 221

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×