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