Pregunta

¿Existe una forma trivial, o al menos moderadamente sencilla, de generar mapas territoriales (p. ej.Riesgo)?

He buscado en el pasado y lo mejor que pude encontrar fueron vagas referencias a los diagramas de Voronoi.Un ejemplo de diagrama de Voronoi es este:

here.

Estos son prometedores, pero supongo que no he visto ninguna forma sencilla de representarlos, y mucho menos mantenerlos en algún tipo de estructura de datos para tratar cada territorio como un objeto.

Otro enfoque prometedor es el relleno contra inundaciones, pero nuevamente no estoy seguro de cuál es la mejor manera de comenzar con este enfoque.

Cualquier consejo sería muy apreciado.

¿Fue útil?

Solución

La mejor referencia que he visto sobre ellos es Geometría Computacional:Algoritmos y aplicaciones, que cubre diagramas de Voronoi, triangulaciones de Delaunay (similares a los diagramas de Voronoi y cada uno se puede convertir en el otro) y otras estructuras de datos similares.

Hablan de todas las estructuras de datos que necesitas pero no te dan el código necesario para implementarlo (lo cual puede ser un buen ejercicio).En términos de código, una búsqueda en Amazon muestra el libro. Geometría computacional en C, que presumiblemente viene con el código (aunque como estás atrapado en C, también te importaría obtener el otro e implementarlo en el idioma que quieras).Tampoco tengo ninguna experiencia con este libro, sólo el primero.

¡Lamento tener solo libros para recomendar!El único recurso en línea decente que he visto sobre ellos son los dos Wikipedia artículos, que realmente no le brinda detalles de implementación. Este enlace Aunque puede ser útil.

Otros consejos

¿Por qué no utilizar un mapa de primitivas (triángulos, cuadrados), distribuir los puntos de partida de los países (las "capitales") y luego expandir aleatoriamente los países agregando una primitiva adyacente aleatoria al país?

CGAL es una biblioteca de C++ que tiene estructuras de datos y algoritmos utilizados en Geometría Computacional.

De hecho, estoy lidiando exactamente con este tipo de cosas para el videojuego de mi empresa.La información más útil que he encontrado se encuentra en estos dos enlaces:

Pablo Bourkeen la página de la UWA, con su artículo de 1989 sobre Delaunay y una serie de enlaces de implementación.

A Gran explicación del psudocódigo y una visión visual. de hacer Delaunay en codeGuru.com.

En términos de renderizarlos, la mayoría de las implementaciones que he encontrado necesitarán masajes para obtener lo que deseas, pero dado que usar esto para un mapa de juego conduciría a una cantidad de puntos más líneas entre ellos, podría ser una solución muy Es una cuestión sencilla de hacer y sacar esto a la pantalla.

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