Primera aproximación de un escenario de inundación (después del volcán, vamos progresando). Se puede apreciar como las dos caritas sonrientes huyen del agua, siguiendo la carretera, mientras el terreno se va inundando.
También se puede apreciar que la coordinación entre los dos escenarios no es perfecta, ya que se puede ver perfectamente la división entre los dos. Aparte, al final, parece que un escenario deja de existir y sólo aparece el otro.
Haciendo pruebas con el generador de KML me di cuenta de que el agente encargado del entorno ocupaba un 150% de mi CPU (amd64 dual core), asustado le di a terminar. Para mi sorpresa el agente encargado del generador de KML acaparó el resto de la CPU. Resultado: dos ficheros KML, uno de 100 megas y otro de 4.5 megas, KMZ (que es el mismo que el anterior pero comprimido con zip).
Y este maravilloso volcán de agua.
En la simulación, no se puede apreciar muy bien, hay dos agentes personas. Pero no se extrañen de que no se muevan, una columna de agua de más de medio kilómetro de alto es algo por lo que quedarse petrificado (en realidad no se mueven porque su campo de visión no era tan grande…)
En el vídeo de esta entrada vemos como reaccionan la primera versión de personas de nuestro simulador. Estos agentes huyen del agua, prefieren lugares altos y sólo se mueven por las calles (hexágonos con borde amarillo). Son los puntos rojos que aparecen en el vídeo.
La distancia de visión de los agentes en este ejemplo concreto es de 5 hexágonos, y su velocidad es de 1 hexágono. Es decir, que detectan agua y casillas altas hasta a 5 hexágonos de distancia, pero sólo pueden moverse hacia ellas de una en una.
En el vídeo veréis que las personas dan saltos, esto se debe a dos motivos. Primero, el visor no muestra todos los pasos de la simulación, si no el estado de ésta cada X milisegundos; y segundo, el capturador de pantalla con el que he hecho el vídeo no ha sido capaz de capturar todos los frames por segundo que debiera (mi portátil no da para más :þ ).
Hay más vídeos disponibles para su visionado en YouTube ;)
Las calles son las reales de Nueva Orleans (gracias a OSM), pero la altura del terreno es aleatoria (más rápido para hacer pruebas).
Lo que vemos a continuación es una demostración, mediante un fichero kmz, de la representación de los cambios realizados en una matriz hexagonal. Los hexágonos azules representan las zonas supuestamente inundadas. De momento el comportamiento del ejemplo es aleatorio, dentro de poco pondremos un ejemplo real de inundación.
Este proyecto consiste en, haciendo uso de técnicas de sistemas multi-agentes, simular inundaciones y el comportamiento de las personas afectadas sobre datos geográficos reales.