Propagation feu… idée du Tango


INTRODUCTION

L’idée est de faire se rencontrer deux feux de nature opposée et complémentaire ; ce que l’un a consommé sert à rallumer l’autre et réciproquement. D’où la notion de danse, et particulièrement de danse à deux. Mais c’est actuellement juste à l’état d’intuition, comme un sujet en suspens, un projet qui méritera un jour d’être concrétisé : un « droit de rêver » selon l’expression de Gaston Bachelard.

TELECHARGER

aaaTexte des explications, aaaExecutable (Windows), aaaSource (utilise la librairie Allegro)

 

EXPLICATIONS

Principe

Il s'inscrit dans le prolongement du programme « propagation d’un feu de forêt » dont les explications sont détailléesa. La surface de la matrice est divisée en deux territoires et un nouvel état possible est ajouté, baptisé POUSSE. Le principe des transitions est le suivant :
Si la position est sur BOIS et qu’il y a des positions voisines à FEU, mise à FEU.
Si la position est sur FEU, mise à CENDRE .
Si la position est sur CENDRE et qu’il y a des positions voisines à POUSSE mise à POUSSE.
Si la position est sur POUSSE, mise à BOIS.
Les modifications à apporter au programme sont mineures. L’initialisation partage la matrice en deux, d’un côté c’est BOIS et la mise à feu est avec FEU de l’autre c’est CENDRE et la mise à feu est avec POUSSE. La propagation traite les deux cas l’un à la suite de l’autre :

aaaaif (P[ i ][ j ] == BOIS) {
aaaa
aaaa}
aaaaelse if P[ i ][ j ] == FEU{
aaaa
aaaa}
aaaaif (P[ i ][ j ] == CENDRE) {
aaaa
aaaa}
aaaaelse if P[ i ][ j ] == POUSSE{
aaaa
aaaa}

Le résultat varie avec les initialisations. Parfois il y a des phénomènes ondulatoires, une mise en boucle infinie d’un ensemble de séquences. Du point de vue esthétique l’affichage joue beaucoup. Selon la forme et le nombre des cellules le résultat n’est pas le même. En particulier il peut être intéressant de travailler davantage l’animation lorsque le nombre de cellules est peu important, afin d’avoir un déplacement progressif de la forme vers ses nouvelles coordonnées plutôt qu’un saut. Il y a également le travail sur les couleurs à envisager. A tester aussi un nombre plus grand de populations de cellules reliées entre elles et une initialisation plus fine de chaque territoire…