Toutes les familles

Agents et croissance

Chacun voit juste son voisinage. Et pourtant, à plusieurs, ça dessine.

C'est quoi, la règle ?

Un agent, c'est myope. Il voit pas la toile : il connaît juste ce qu'il a sous le nez. Dans le réseau de physarum (oui, le fameux « blob »), il renifle la trace laissée par les autres à trois endroits : à gauche, devant, à droite. Il tourne vers le côté le plus chargé, avance d'un pas, puis dépose sa propre trace. Et à chaque pas, la trace de tout le monde s'efface un peu.

cap ← cap ± angle de virage, puis x ← x + pas · cos(cap), y ← y + pas · sin(cap), puis trace ← trace · décroissance

Personne ne dessine le réseau ! Les agents se suivent parce qu'ils sentent la trace des autres, et cette trace s'efface vite… sauf là où ça passe souvent. Du coup, les chemins fréquentés se renforcent et les autres disparaissent. La forme tient à deux réglages : le nombre d'agents et l'angle de leurs capteurs.

Le pavage de Voronoï, c'est la même idée de règle locale, en encore plus court : chaque case de la toile prend le germe le plus proche. C'est tout. Bouge ou ajoute un germe, et toutes les frontières se redessinent.

À toi de jouer

Le premier schéma lâche des agents sur une grille qui se referme sur elle-même : ce qui sort à droite rentre à gauche (comme dans Pac-Man). Changer leur nombre repart de zéro, l'angle des capteurs se règle en route. « Lecture » avance d'un pas par image, « Dix pas » en saute dix d'un coup.

Dans le second, un clic ou un toucher pose un germe (au clavier : les deux curseurs de position, puis « Ajouter un germe »). « Retirer le dernier » fait ce qu'il dit, « Vider » enlève tout.

Des agents et la trace qu'ils laissent

400

30

Un pavage de Voronoï et ses germes

Petite précision : le dessin ci-dessus est un schéma, pas l'œuvre. Il montre la règle, point. Les couleurs, la taille des points, le grain du tirage, il les rejoue pas.

Qu'est-ce qui change d'un algo à l'autre ?

Physarum
Le blob du jouet : les agents sentent, tournent, avancent, et déposent une phéromone qui s'efface à chaque pas, sur une grille qui se referme sur elle-même. Y a aucun hasard dans la boucle, le tirage sert juste à poser les agents au départ. La vidéo rejoue le réseau en train de pousser.
Proies & prédateurs
Deux populations qui se courent après. Les proies fuient le prédateur le plus proche en dérivant dans un champ de bruit, les prédateurs traquent la proie la plus proche, et chaque pas trace un segment. Les nœuds et les spirales de poursuite viennent de là : dans un simple champ de flux, les particules s'ignorent, elles auraient jamais fait ça.
Cristallisation
Des germes posés sur un cercle, une croissance qui se ramifie en dendrites, et des angles cristallins ramenés vers des multiples de π/6. (Petite confession : au départ, l'algo portait un nom qui parlait de son et de phonétique. Pure fiction, y a aucun son nulle part dans le pipeline.)
Réseau veineux
La colonisation d'espace, d'après Runions et ses collègues. Chaque point à atteindre vote pour le nœud le plus proche dans son rayon d'influence, chaque nœud élu avance vers la moyenne de ses électeurs, et les points atteints disparaissent. La colonie s'arrête quand plus personne ne vote. Et l'épaisseur remonte des feuilles vers la racine : une branche est aussi grosse que tout ce qu'elle porte.
Voronoï
Des germes semés au hasard, et chaque cellule prend la couleur du germe le plus proche : ça donne un vitrail, ou une mosaïque. La distance se mesure à vol d'oiseau (euclidienne) ou en pâté de maisons (Manhattan). Le rendu peut aussi ne garder que les arêtes, ou relier les germes en triangles (Delaunay).

Et le hasard, il décide quoi ?

Pour chaque œuvre, le programme tire ces réglages au sort, entre des bornes fixées à l'avance. Une fois tirés, ils bougent plus : ils font partie de l'identité de l'œuvre.

  • Nombre d'agents Physarum de 200 à 900
  • Angle des capteurs (°) Physarum de 15 à 60
  • Nombre de germes Voronoï de 8 à 200

Les algorithmes de cette famille

  • Physarum
  • Proies & prédateurs
  • Cristallisation
  • Réseau veineux
  • Voronoï

Des œuvres de cette famille

Toutes les familles