Automates Cellulaires
Le tas de sable



Problème étudié


Cette applet modélise un tas de sable et permet de simuler le phénomène d'avalanche.
Elle permet d'observer les caractéristiques de la propagation des grains de sable en fonction:
Plus précisemment, un grain peut tomber dans 4 directions (en haut, en bas, à gauche ou à droite) ou 8 directions (les 4 précédentes plus les 4 diagonales).

4 directions
8 directions


Modélisation

Nous modélisons ceci à l'aide d'un automate cellulaire dont chaque cellule est un entier représentant le nombre de grains de sable superposés en ce point. La chute d'un grain de sable correspond au transfert d'une unité entre la cellule d'où provient le grain et la cellule qui le receptionne. Le transfert de grains entre 2 cellules adajacentes est contraint par le paramètre "seuil". C'est un entier positif qui représente la différence de hauteur minimale entre deux grains de sable pour que l'un tombe sur l'autre.

Implémentation

L'algorithme initial prévoyait le transfert d'un grain à la fois entre les cellules. Mais l'évolution visuelle étant trop lente nous avons décidé d'implémenter à chaque étape la chute simultanée de plusieurs grains.

Les cellules de l'automate sont représentées par des carrés et les différentes directions de propagation de l'avalanche(cf. modélisation) par les cotés ou les angles de ces carrés. Lorsque le paramètre "nbVoisins" est fixé à quatre, un grain ne peut chuter que dans une cellule ayant un côté commun avec celle dont il provient. S'il est fixé à 8, il peut également être transféré vers l'une des cellules située dans les angles par rapport à la cellule d'origine.

Résultats

Les règles simples de notre modélisation permettent l'émergence d'un comportement complexe analogue aux phénomènes naturels tels que les avalanches ou la propagation des incendies de forêt.

Lorsque le seuil a une valeur élevée, il y a peu de chutes et le comportement se rapproche de celui d'un solide. Lorsque la valeur est faible, les grains de sable tombent facilement et on se rapproche alors du comportement d'un liquide. Le seuil s'apparente un peu à la viscosité.









Manuel d'utilisation


Chaque cellule de l'automate est représenté par un pixel dont la couleur dépend de la hauteur de la cellule. Les couleurs vont de jaune (très bas) à rouge (très haut). Le noir indique qu'il n'y a pas de sable sur la cellule.


Télécharger les sources de l'applet