У меня возникают проблемы при попытке создать воронойные области в MATLAB и обрабатывать бесконечные вершины. Я относительно неопытен в программировании, что, как мне кажется, мешает мне решить эту проблему.
Я хочу отследить определенные c местоположения рядом с центральными узлами подполигонов вороной, используя функцию inpolygon
. Я не могу использовать функцию, если одна из вершин бесконечна (INF). Поэтому я хотел создать сетку вокруг раскола вороной (, как видно на изображении ) и рассматривать только область внутри этой сетки, тем самым пренебрегая бесконечными вершинами.
Что я сделал до сих пор:
У меня уже есть определенные 100 пар широт и долгот узлов, вокруг которых я создаю разбивку вороной, используя функцию voronoi(x_coordinates, y_coordinates)
.
Когда мне нужно определить различные координаты субполигонов в этом разделении, я использую [V,C] = voronoin([x_coordinates, y_coordinates]);
До сих пор это дает мне все области вороной в V
и все индексы вершин для всех подполигонов (областей вороной) в C
.
Затем я реализовал функцию, которая использует inpolygon и получает координаты x и y точки, которая должна быть прослежена в одной из областей вороной. И вот где я застрял. Я пытаюсь реализовать сетку вокруг, но не могу найти новые пересекающиеся вершины сетки и подрегиона вороной, чтобы найти новые вершины подполигонов вороного.
Кроме того, если есть Любой другой способ решить ту же задачу, любая помощь будет высоко ценится.
Большое спасибо.