Pregunta

Quiero hacer mapas de árbol de voronoi para datos estadísticos, como texto alternativo noticias

¿Sabes cómo puedo hacer eso en Perl, PHP, Ruby o Python?

¿Fue útil?

Solución

Buenas demostraciones y gráficos para Python: http://home.scarlet.be/zoetrope/voronoi / ( Copia archivada en wayback )

Otros consejos

Acabo de encontrar esta página. He estado trabajando en un applet de demostración de Voronoi usando Javascript / canvas, después de traducir a Javascript una versión C # del algoritmo de Steven Fortune por Benjamin Dittes (disponible en Code Project, ver " Algoritmo de Voronoi de Fortune implementado en C # "). Aquí está la página que incluye el algoritmo Voronoi de Fortune en Javascript: http://www.raymondhill.net/voronoi/voronoi.php Esta es una primera iteración, planeo adaptarla aún más para que se adapte mejor a Javascript. Espero que esto ayude.

En primer lugar, las líneas no son extrañas: es el resultado del hecho de que esta no es una teselación de Voronoi normal, sino una teselación de Voronoi ponderada por área (AWT), posiblemente incluso una teselación de Voronoi centroidal (CVT). Dicho esto, para tener regiones de Voronoi (polígonos) con áreas significativamente diferentes (que reflejarían algún atributo de los datos), necesita AWT (preferiblemente implementado como CVT para retener buenas relaciones de aspecto para los polígonos); un algoritmo normal de Voronoi (como lo sugirieron algunas personas arriba) no podrá ayudarlo. Probablemente no haya una solución directa para esto disponible, especialmente no para lenguajes de script, ya que la complejidad computacional debido a los pasos de actualización iterativa para AWT es bastante alta. Deberías buscar el trabajo en "Voronoi Treemaps" y "Dynamic Voronoi Treemaps" por Balzer et al. y Sud et al. para tener una idea del algoritmo y luego implementarlo por su cuenta (todo lo que necesita está en sus documentos).

la otra respuesta de Python parece apuntar a una solución solo ráster . También estoy interesado en resolver este problema (en Python) y creo que el siguiente script podría formar un punto de partida utilizable:

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

( Copia archivada en el camino de regreso )

James Tauber está escribiendo un tutorial que usa JavaScript y Algoritmo de Fortune para dibujar un Diagrama de Voronoi en un elemento canvas : Voronoi Canvas Tutorial

Todavía no está completo (está en la parte 3 de 4) pero creo que hay suficiente para completarlo.

La última versión (2.0) de Macrofocus TreeMap tiene el algoritmo Voronoi como una opción, entre otras.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top