Как я могу сделать вороной древовидную карту? [закрыто]

StackOverflow https://stackoverflow.com/questions/838265

  •  10-07-2019
  •  | 
  •  

Вопрос

Я хочу сделать вороной древовидную карту для статистических данных, например alt text новость

Знаете ли вы, как я могу это сделать в 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), и я думаю, что следующий скрипт может сформировать удобную отправную точку:

http://www.oxfish.com/python/voronoi.py

( Архивная копия на обратном пути )

Джеймс Таубер пишет учебник, который использует JavaScript и алгоритм Fortune , чтобы нарисовать Диаграмма Вороного в элементе canvas : Учебное пособие по холсту Вороного

Это еще не завершено (он находится в части 3 из 4), но там достаточно, чтобы завершить это, я думаю.

В последней версии (2.0) Macrofocus TreeMap , среди прочего, есть алгоритм Вороного.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top