Как я могу сделать вороной древовидную карту? [закрыто]
-
10-07-2019 - |
Вопрос
Я хочу сделать вороной древовидную карту для статистических данных, например новость
Знаете ли вы, как я могу это сделать в Perl, PHP, Ruby или Python?
Решение
Хорошие демонстрации и графика для Python: http://home.scarlet.be/zoetrope/voronoi / ( Архивная копия на Вайбак ) р>
Другие советы
Только что нашел эту страницу. Я работал над демонстрационным апплетом Voronoi, используя Javascript / canvas, после перевода в Javascript версии алгоритма Стивена Фортюна на C # Бенджамина Диттеса (доступно в Code Project, см. «Алгоритм Fortune's Voronoi, реализованный в C #»). Вот страница, которая включает алгоритм Fortune's Voronoi в Javascript: http://www.raymondhill.net/voronoi/voronoi.php Это первая итерация, я планирую адаптировать ее, чтобы она лучше подходила для Javascript. Надеюсь, это поможет.
Прежде всего, линии не являются странными: это результат того факта, что это не нормальная тесселяция Вороного, а взвешенная по площади тесселяция Вороного (AWT), возможно, даже центроидная тесселяция Вороного (CVT). При этом, чтобы иметь области Вороного (полигоны) со значительно отличающимися областями (что отражало бы некоторый атрибут данных), вам нужны AWT (предпочтительно реализованные как CVT, чтобы сохранить хорошие пропорции для полигонов); нормальный алгоритм Вороного (как предложили некоторые люди выше) не сможет вам помочь. Вероятно, не существует прямого решения для этого, особенно для скриптовых языков, так как вычислительная сложность из-за итеративных шагов обновления для AWT довольно высока. Вам следует поискать работу над «Вороновскими древовидными картами». и " Динамические карты дерева Вороного " Balzer et al. и Sud et al. чтобы получить представление об алгоритме, а затем реализовать его самостоятельно (все, что вам нужно, есть в их документах). Р>
другой ответ Python указывает на решение только для растров . Я также заинтересован в решении этой проблемы (в Python), и я думаю, что следующий скрипт может сформировать удобную отправную точку:
Джеймс Таубер пишет учебник, который использует JavaScript и алгоритм Fortune , чтобы нарисовать Диаграмма Вороного в элементе Это еще не завершено (он находится в части 3 из 4), но там достаточно, чтобы завершить это, я думаю. canvas
: Учебное пособие по холсту Вороного а> р>
В последней версии (2.0) Macrofocus TreeMap , среди прочего, есть алгоритм Вороного. р>