2010-09-26 14 views
7

¿Hay algún buen enfoque para generar regiones para un mapa en 2D? Supongamos que tiene un mapa mundial y le gustaría crear fronteras de país o provincia con un aspecto un tanto realista.Generando regiones en un mapa 2D

+2

¿Qué datos tiene? ¿Es solo un mapa plano o también tiene información del terreno? Océanos? ¿Montañas? – ybungalobill

+0

Solo un plano 2D plano/mapa –

Respuesta

6

Encontré esta publicación de blog (y sus dos sucesores) recientemente, y creo que es bastante similar a lo que estás buscando.

http://simblob.blogspot.com/2010/09/polygon-map-generation-part-1.html

Está usando sus métodos para crear paisajes realistas, pero espero que se puede ver formas de utilizar las mismas técnicas a las áreas de grupo en regiones creíbles.

+0

¡Interesante! Gracias :) –

1

Usaría un paquete de ilustración vectorial o CAD programable/programable para dibujar las formas a mano, luego procesar los datos con una secuencia de comandos personalizada en archivos de datos personalizados o directamente en el código fuente. De hecho, he hecho esto varias veces en el pasado (generalmente para generar código VB.NET para crear objetos GraphicsPath a partir de dibujos lineales CAD).

¿Podría ser más específico? ¿Qué tipo de formato deben tener estas regiones? ¿Qué tipo de datos tienes?

+0

Mi pregunta es más sobre cómo crear divisiones de un plano 2D que podrían ser factibles para las fronteras de país/región, utilizando un enfoque generativo (es decir, un algoritmo) –

2

La teselación usando un Voroni diagram es un enfoque, y aunque las formas se pueden hacer bastante irregulares, no es muy realista.

0

Una solución posible (y parcial) es realizar una gran cantidad de comprobación de ruta entre un punto aleatorio. La zona donde se agrupan muchas vías indica un punto de estrangulamiento, que es un lugar físico donde el "viajero" tendría que atravesar. Esos puntos son buenos para usar como separadores entre países.

Guillaume

1

Recientemente me encontré con a link que cubre la generación de paisajes en 3D. Puede encontrar algunas ideas allí. La esencia básica parece ser el uso de 1/f ruido aleatorio; solo mirando las imágenes, esto parece más realista que el enfoque del diagrama de Voronoi (supongo que estás tratando de generar esquemas arbitrarios de "países", sin tratar de seguir ningún dato del mundo real).

2

La idea de Martin Källman parece ser la mejor manera de hacerlo, ya que no tiene un terreno natural para definir algunos de los bordes. Genere puntos aleatorios dentro de sus fronteras y luego Voronoi en las fronteras del país. Probablemente iría un paso más allá y obtendría más puntos que los países deseados, y luego uniría varias celdas adyacentes para hacer cóncavas algunas de las áreas resultantes. Puede usar un algoritmo similar a un Kruskal aleatorizado para realizar la fusión (tomar todos los países, fusionar dos países adyacentes, repetir hasta que tenga el total deseado). No puedo acceder al enlace de Kylotan, pero podría describir una mejor forma de fusionar las células generadas por el Voronoi.