Как лучше всего хранить диаграмму Вороного? Алгоритм построения оставим за кадром - допустим, мы умеем это делать каким-либо образом, да хоть бы даже и вручную.
Но как лучше всего хранить готовую диаграмму, какую структуру данных использовать?
И не просто хранить, а чтобы потом быстро и удобно узнавать, в какую ячейку попала произвольная точка.
Она ведь (диаграмма) в общем случае лишена какой-то регулярности.

21 Авг 2019 в 06:06
219 +1
1
Ответы
1

Для хранения диаграммы Вороного можно использовать структуру данных, называемую полуразделенным деревом (англ. half-edge data structure). Эта структура данных хорошо подходит для хранения сложных топологических структур, таких как диаграммы Вороного, потому что она позволяет эффективно реализовать операции навигации по граничным ребрам и вершинам.

В полуразделенном дереве каждое ребро разбивается на два направленных полуребра (half-edge), каждое из которых содержит информацию о смежном ребре, вершине и полигоне. Таким образом, для каждого ребра в диаграмме Вороного находится два полуребра, одно из которых является "левым", а другое "правым".

Для нахождения ячейки (полигона) в которую попала произвольная точка, можно использовать следующий алгоритм:

Начинаем с произвольной ячейки в диаграмме Вороного.Для каждого полуребра в данной ячейке проверяем, находится ли точка слева от этого полуребра.Если точка находится слева от всех полуребер в ячейке, то мы нашли ячейку, в которую попала точка. Если нет, то переходим к смежной ячейке, соединенной с текущей посредством полуребра.Повторяем шаги 2-3 до тех пор, пока не найдем ячейку, в которую попала точка.

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

20 Апр в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 86 846 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир