Как я могу получить словарь ячеек из этих данных диаграммы Вороного?

Использование найденной библиотеки генерации диаграмм Вороного / Делонев этой программе, который основан на оригинальной реализации Fortuneего алгоритмсо случайным набором точек в качестве входных данных, я могу получить следующие выходные данные:

Список ребер изТриангуляция ДелонеЭто означает, что для каждой входной точки я могу видеть, какие входные точки являются ее соседями. Похоже, они не в каком-то определенном порядке.Список пар вершин изДиаграмма Вороного, который я могу использовать, чтобы нарисовать диаграмму Вороного по одной линии за раз. Опять же, по-видимому, не в определенном порядке.Неназванный список пар точек, который, кажется, просто тот же список, что и 2, но в другом порядке.Список вершин, сформированных на диаграмме ВороногоТакже, по-видимому, в произвольном порядке.

Вот пример данных из тестового прогона моей программы с использованием этой библиотеки:

Input points:
0   (426.484, 175.16)
1   (282.004, 231.388)
2   (487.891, 353.996)
3   (50.8574, 5.02996)
4   (602.252, 288.418)

Vertex Pairs: 
0   (387.425, 288.533)  (277.142, 5.15565)
1   (387.425, 288.533)  (503.484, 248.682)
2   (277.142, 5.15565)  (0, 288.161)
3   (387.425, 288.533)  (272.213, 482)
4   (503.484, 248.682)  (637.275, 482)
5   (503.484, 248.682)  (642, 33.7153)
6   (277.142, 5.15565)  (279.477, 0)

Voronoi lines?: 
0   (279.477, 0)    (277.142, 5.15565)
1   (642, 33.7153)  (503.484, 248.682)
2   (503.484, 248.682)  (637.275, 482)
3   (387.425, 288.533)  (272.213, 482)
4   (277.142, 5.15565)  (0, 288.161)
5   (387.425, 288.533)  (503.484, 248.682)
6   (277.142, 5.15565)  (387.425, 288.533)

Delaunay Edges: 
0   (282.004, 231.388)  (487.891, 353.996)
1   (602.252, 288.418)  (487.891, 353.996)
2   (426.484, 175.16)   (487.891, 353.996)
3   (426.484, 175.16)   (602.252, 288.418)
4   (50.8574, 5.02996)  (282.004, 231.388)
5   (426.484, 175.16)   (282.004, 231.388)
6   (50.8574, 5.02996)  (426.484, 175.16)

Vertices: 
0   (277.142, 5.15565)
1   (503.484, 248.682)
2   (387.425, 288.533)
3   (0, 288.161)
4   (272.213, 482)
5   (637.275, 482)
6   (642, 33.7153)
7   (279.477, 0)

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

С помощью приведенной выше информации я мог бы неявно назначать данные каждому региону, при необходимости присваивать данные углам, сообщать, какие регионы имеют общие ребра (используя ребра Делоне), и выполнять анализ соответствующим образом.

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

Ответы на вопрос(5)

Ваш ответ на вопрос