À propos de Cellcosmos
Cellcosmos est un laboratoire interactif pour explorer les automates cellulaires élémentaires par la couleur, la forme, les gradients et l'analyse de motifs. Le projet part d'un principe simple: une règle binaire, appliquée ligne après ligne, peut produire des champs visuels très différents selon la graine, la propagation, la probabilité et la palette chromatique.
La dimension sonore existe dans l'interface, mais elle n'est pas le coeur du projet. Cellcosmos est d'abord un observatoire visuel: il rend lisibles les comportements de 256 règles en les transformant en paysages de cellules, de couches colorées, de textures et de mesures dynamiques.
Automates cellulaires élémentaires
Un automate cellulaire élémentaire est une grille unidimensionnelle qui évolue dans le temps. Chaque cellule vaut 0 ou 1. Pour calculer la ligne suivante, le programme regarde chaque triplet gauche-centre-droite et applique une table de huit sorties. Ces huit bits forment un numéro de règle entre 0 et 255.
Cellcosmos expose cette logique dans l'explorateur: le curseur et l'entrée numérique changent la règle courante, le diagramme de règle montre les huit motifs locaux, et les presets donnent un accès rapide à des comportements connus comme 30, 90, 110, 150, 184, 225 ou 254.
Lire une règle comme une image
Le rendu ne se limite pas à afficher des cases noires et blanches. Chaque génération devient une strate visuelle: la densité indique la quantité de matière, la symétrie montre l'équilibre de la structure, les transitions signalent l'instabilité, et les collisions entre fronts de croissance révèlent les endroits où plusieurs origines interagissent.
Règles
Les 256 règles Wolfram peuvent être parcourues une par une, choisies par preset ou tirées avec le bouton Aléatoire.
Graines
L'état initial peut partir du haut, du centre, du bas, d'un ensemble aléatoire ou de points placés à la main.
Propagation
Les fronts peuvent descendre, monter, se propager dans les deux sens, suivre un axe horizontal ou partir selon un angle.
Morphose
Une règle source peut se transformer progressivement vers une règle cible, motif par motif.
Chromatisme et rendu
La couleur est un outil d'analyse autant qu'un choix esthétique. Les palettes ne servent pas seulement à embellir la grille: elles aident à suivre l'origine des cellules, la direction de croissance, l'épaisseur des strates et les différences entre plusieurs points actifs.
Palettes globales et gradients
L'onglet Affichage propose des thèmes préchargés et un éditeur de dégradé global. Les arrêts de couleur sont interpolés sur les lignes de la simulation: un motif peut donc être lu comme une coupe temporelle, où chaque nuance correspond à une phase de l'évolution.
Couleurs par point d'origine
En mode Points, chaque origine peut porter sa propre palette et sa propre règle. Cela permet de comparer plusieurs automates dans une même image, de visualiser leurs zones d'influence et de rendre visibles les superpositions. Les opérations de symétrie, de duplication et de tuile aident à construire des compositions répétables.
Formes, textures et fusion
Les cellules peuvent être rendues en rectangles, cercles, ellipses ou triangles. Les textures solides, pointillées, hachurées, bruitées ou en dégradé donnent une lecture plus matiérielle du motif. Les modes de fusion comme Écran, Multiplier, Superposer, Différence ou Esquiver changent la manière dont les couches s'accumulent.
Analyse visuelle
Cellcosmos accompagne le rendu par des mesures qui qualifient le comportement de la grille. Ces indicateurs donnent un langage commun pour comparer deux règles qui se ressemblent visuellement ou, au contraire, pour expliquer pourquoi deux images proches produisent des dynamiques différentes.
- Densité: proportion de cellules actives dans la grille.
- Entropie: niveau de désordre binaire, utile pour distinguer structure et chaos.
- Compacité: cohésion des masses actives par rapport à leur périmètre.
- Fragmentation: nombre relatif de groupes distincts.
- Croissance: variation du nombre de cellules actives entre deux états.
- Symétrie: correspondances horizontales et verticales dans le motif.
Le microscope cellulaire complète ces mesures en affichant, pour une cellule choisie, son état source, son voisinage, la règle effective, la probabilité, la morphose et l'origine associée.
Espaces d'exploration
Explorateur
L'explorateur principal sert à composer et analyser un automate. On y règle la règle, l'état initial, le rendu, la probabilité, la direction de lecture, la propagation, la morphose et les options de visualisation. Le PNG courant peut être exporté et la configuration peut être partagée par URL.
Matter Lab
Matter Lab introduit des contraintes spatiales sur la grille: formes géométriques, masques, champs de probabilité peints au pinceau et événements locaux. Il sert à tester comment une règle réagit quand son milieu n'est plus homogène.
Galerie, sources et espace des règles
La galerie présente les 256 règles précalculées. Le panneau Sources documente les fichiers principaux du projet. L'espace des règles place les 256 numéros dans une carte compacte et met en valeur les voisins à distance de Hamming 1, ce qui aide à comprendre comment un seul bit modifié peut transformer toute l'image.
Sonification
Le son est une couche optionnelle de lecture. Le bouton Son active un drone continu et le bouton Séquenceur lit la grille comme une partition de colonnes et de lignes. Dans l'onglet Son, les réglages disponibles concernent notamment la scène sonore, la gamme, le tempo, la direction de lecture, le volume, la brillance, la réverbération, la largeur stéréo et les visualisations associées.
Ces fonctions sonores prolongent l'analyse chromatique: les colonnes de pitch, les éclairs de notes, le ruban d'onde, le spectre FFT et l'aura d'entropie peuvent être activés pour relier ce que l'on voit à ce que l'on entend, sans remplacer la lecture visuelle du motif.
Architecture technique
Cellcosmos est construit comme une application statique: des sources Multilingual Programming alimentent un module WebAssembly, tandis que JavaScript orchestre l'interface, le canvas, l'audio et la sérialisation des configurations.
Composants
- src/automate_elementaire_wasm.multi: primitives WASM pour les règles, les codes de rendu, la propagation, les mesures et les paramètres sonores.
- src/automate_elementaire_canonique.multi: module complet avec lecture de configuration, évolution de grille, couches, gradients, analyse et validation.
- public/index.html: structure HTML et contrôles interactifs.
- public/ui.js: rendu canvas, édition des points, Matter Lab, audio, galerie, espace des règles, partage d'état et gestion d'événements.
- public/style.css: thème clair/sombre, variables CSS et design réactif.
Pipeline d'exécution
Pour chaque rendu d'automate cellulaire:
- La règle active est traduite en table de huit sorties.
- Les graines initiales, points, champs et options de propagation produisent une ou plusieurs couches.
- Les gradients globaux ou par point colorent les lignes, les origines et les phases de croissance.
- Le canvas compose cellules, textures, modes de fusion, guides et couches analytiques.
- Les métriques et la sonification optionnelle sont mises à jour depuis l'état courant.
Références et inspiration
Cellcosmos s'appuie sur les travaux et domaines suivants:
- Stephen Wolfram - automates cellulaires élémentaires et classification des comportements dynamiques.
- John Horton Conway - Jeu de la Vie, automate cellulaire qui a popularisé l'exploration de comportements émergents.
- Visualisation scientifique - usage de la couleur, des textures et des mesures pour rendre des systèmes abstraits inspectables.
- Programmation multilingue - sources scientifiques lisibles en syntaxe française, compilées vers WebAssembly pour le navigateur.
Perspectives futures
- Comparer plus finement les familles chromatiques de règles proches.
- Ajouter des annotations visuelles pour les collisions, fronts, attracteurs et zones stables.
- Enrichir les exports d'images avec métadonnées de règle, palette et graine.
- Créer des presets visuels documentés par couleur, texture, morphose et propagation.
- Étendre Matter Lab avec davantage de champs et de contraintes spatiales.
Crédits
Cellcosmos est un projet de recherche et de démonstration autour des systèmes complexes, des automates cellulaires, de la visualisation chromatique et de la compilation Multilingual Programming vers WebAssembly.
Architecture et Création
Pour en savoir plus, visitez le dépôt GitHub ou explorez les automates cellulaires élémentaires sur Wikipedia.