🐟 Aquarium — Bancs de poissons
Bancs de poissons dans un aquarium 3D — variantes de Boids avec évitement d'obstacles et comportement d'alimentation.
Un aquarium 3D coloré où les poissons se regroupent en bancs grâce à des règles de vol groupé de type Boids. Chaque poisson suit trois règles simples — séparation, alignement et cohésion — et pourtant ensemble ils forment des bancs magnifiques et réalistes.
🔬 Ce que ça démontre
Comportement de vol groupé émergent à partir de règles locales. Les poissons évitent les obstacles, cherchent de la nourriture et forment des groupes coordonnés sans aucun meneur central.
🎮 Comment l'utiliser
Ajustez le nombre et la vitesse des poissons. Cliquez pour déposer de la nourriture et regardez le banc réagir. Essayez différents environnements prédéfinis.
💡 Le saviez-vous ?
Le comportement de banc chez les poissons a évolué comme défense anti-prédateur. Un banc trompe les prédateurs grâce à « l'effet de confusion » — de nombreuses cibles similaires rendent plus difficile d'en isoler une seule.
À propos de cette simulation
Cet aquarium anime un banc de poissons à l'aide d'un modèle classique de vol groupé Boids, où chaque poisson se pilote lui-même selon trois règles locales — séparation, alignement et cohésion — sans meneur central. Chaque poisson ne regarde que les voisins situés dans un court rayon, et pourtant des bancs coordonnés et réalistes émergent du comportement combiné. La nourriture jetée ajoute une simple force d'attraction, si bien que le banc se réorganise autour de la miette la plus proche en temps réel.
🔬 Ce que ça montre
Comportement de vol groupé émergent issu de l'algorithme des Boids de Craig Reynolds. Dans un rayon de 160 pixels, chaque poisson se dirige vers la position moyenne (cohésion) et adopte la vélocité moyenne (alignement) de ses voisins, tout en s'éloignant de tout poisson à moins de 80 pixels (séparation). La nourriture à moins de 250 pixels ajoute une force d'attraction, et la vitesse est plafonnée à chaque image pour que le mouvement reste fluide.
🎮 Comment l'utiliser
Utilisez les curseurs pour définir le nombre de poissons (5–60), leur vitesse maximale (0,5–4) et la force de cohésion (0–0,05) qui décide à quel point ils se regroupent. Appuyez sur « Lancer de la nourriture » ou cliquez n'importe où sur l'eau pour déposer des miettes vers lesquelles le banc nage. Basculez entre les préréglages Tropical, Arctique et Profond pour changer la palette et l'éclairage.
💡 Le saviez-vous ?
Le comportement de banc est largement une stratégie anti-prédateur. Un banc dense et à l'apparence similaire déclenche « l'effet de confusion », rendant plus difficile pour un prédateur de verrouiller et suivre une cible unique parmi le nombre.
Questions fréquentes
Que modélise réellement cette simulation ?
Elle modélise un banc de poissons comme un système de Boids, un algorithme de vol groupé conçu par Craig Reynolds en 1986. Plutôt que de scénariser le banc dans son ensemble, chaque poisson est un agent indépendant qui ne réagit qu'à ses voisins proches, si bien que les formes de banc reconnaissables sont un résultat émergent plutôt qu'une chose directement programmée.
Comment les poissons décident-ils où nager ?
À chaque image, chaque poisson observe ses voisins et combine trois forces de pilotage : la séparation l'éloigne des poissons situés à moins de 80 pixels, l'alignement le pousse à adopter le cap moyen des poissons dans un rayon de 160 pixels, et la cohésion l'attire vers leur position moyenne. Ces forces sont additionnées, la vitesse résultante est plafonnée au maximum que vous avez réglé, et le poisson avance d'un pas.
Que changent les trois curseurs ?
Le curseur Poissons définit combien d'agents se trouvent dans le bassin (5 à 60) et reconstruit le banc. Vitesse définit la vitesse maximale que chaque poisson peut atteindre. Cohésion (0 à 0,05) module l'attraction vers le centre du groupe — des valeurs basses donnent des poissons lâches et dispersés, tandis que des valeurs plus élevées produisent des bancs compacts en forme de boule.
Pourquoi les poissons nagent-ils vers la nourriture que je laisse tomber ?
Quand de la nourriture existe, chaque poisson trouve la miette la plus proche et, si elle se trouve à moins de 250 pixels, ajoute une force de pilotage d'environ 0,15 vers elle. Une miette est mangée dès qu'un poisson arrive à moins de 10 pixels, ce qui incrémente le compteur « Nourri ». La nourriture agit donc comme un attracteur temporaire superposé aux règles normales de vol groupé.
S'agit-il d'un modèle physiquement précis des vrais poissons ?
C'est une démonstration fidèle du principe selon lequel un comportement de groupe complexe peut émerger de règles locales simples, ce que les biologistes observent effectivement dans les vrais bancs. Ce n'est cependant pas une simulation hydrodynamique ou biologique : il n'y a ni résistance de l'eau, ni cônes de vision, ni énergie, ni comportement d'espèce, et le mouvement se déroule en deux dimensions malgré la scène sous-marine.
À propos d'Aquarium — Simulation de bancs de poissons
Cette simulation modélise un banc de poissons nageant dans un aquarium virtuel à l'aide de l'algorithme des Boids, un modèle informatique de comportement de vol groupé émergent inventé par Craig Reynolds en 1986. Chaque poisson suit trois règles locales simples — séparation (éviter d'encombrer les voisins), alignement (se diriger vers le cap moyen des poissons proches), et cohésion (se déplacer vers la position moyenne des poissons proches) — et de ces seules règles émergent des motifs de banc réalistes sans aucune coordination centrale.
Le banc de poissons se retrouve chez des milliers d'espèces et est étudié dans des domaines allant de la biologie marine à la robotique. Le même principe des trois règles sous-tend les algorithmes en essaim utilisés dans la coordination de drones, la modélisation du trafic et la simulation de foules.
Questions fréquentes
Qu'est-ce que l'algorithme des Boids et comment fonctionne-t-il ?
Boids est un modèle informatique créé par Craig Reynolds en 1986 pour simuler le comportement de vol groupé des oiseaux (le nom vient de « bird-oid objects »). Chaque agent, ou « boid », applique trois règles de pilotage à chaque image : il s'éloigne des voisins trop proches (séparation), il oriente sa direction pour correspondre à la vélocité moyenne des voisins proches (alignement), et il se dirige vers la position moyenne des voisins proches (cohésion). Aucun agent n'a de vue globale du groupe — le vol groupé coordonné émerge purement de ces interactions locales.
Comment utiliser cette simulation d'aquarium ?
Utilisez le curseur Poissons pour définir le nombre de poissons dans le bassin (5 à 60), le curseur Vitesse pour contrôler leur rapidité de nage, et le curseur Cohésion pour décider à quel point le banc se regroupe. Cliquez sur le bouton « Lancer de la nourriture » ou cliquez n'importe où sur l'eau pour déposer des miettes de nourriture — les poissons à moins de 250 pixels s'en approcheront et les mangeront en arrivant à moins de 10 pixels. Utilisez les boutons de préréglage Tropical, Arctique et Profond pour changer la palette de couleurs et le thème de l'environnement.
Que change réellement le curseur Cohésion ?
Le curseur Cohésion (plage 0 à 0,05) module l'intensité de la force qui attire chaque poisson vers la position moyenne de ses voisins dans un rayon de 160 pixels. À très faibles valeurs, les poissons dérivent et forment un banc lâche. À valeurs plus élevées, le groupe se comprime en un banc compact, en forme de boule, qui se déplace comme une seule unité. Régler la cohésion à zéro supprime entièrement cette force, ne laissant que la séparation et l'alignement, ce qui produit des poissons dispersés et errants plutôt qu'un banc cohérent.
Quelles sont les équations physiques derrière le vol groupé des poissons ?
À chaque image, un poisson calcule trois vecteurs de force. Séparation : pour chaque voisin à moins de 80 pixels, ajouter un vecteur unitaire pointant à l'opposé, mis à l'échelle par 0,04. Alignement : faire la moyenne des vecteurs de vélocité de tous les voisins à moins de 160 pixels, mettre à l'échelle par 0,02, et ajouter ceci à la vélocité du poisson. Cohésion : calculer le vecteur du poisson vers la position moyenne des voisins à moins de 160 pixels, le normaliser, et le mettre à l'échelle par le paramètre de cohésion. Les trois forces sont additionnées et appliquées. La vitesse est ensuite plafonnée au maximum défini par le curseur Vitesse. Ce sont des forces de pilotage par intégration d'Euler plutôt que de la physique newtonienne, ce qui signifie que l'accélération et la traînée sont implicites dans le plafonnement.
Pourquoi les vrais poissons forment-ils des bancs dans l'océan ?
Le comportement de banc chez les vrais poissons a évolué principalement comme une défense anti-prédateur. Un banc dense de centaines ou milliers de poissons d'apparence identique déclenche ce que les biologistes appellent « l'effet de confusion » — un prédateur trouve presque impossible de suivre et d'isoler une cible unique parmi le mouvement rapide et coordonné de nombreux poissons similaires. Les bancs bénéficient aussi de « l'effet des nombreux yeux » : avec plus d'individus surveillant le danger, le groupe détecte les menaces plus tôt. Certaines espèces en banc gagnent en plus des avantages hydrodynamiques, les poissons pouvant se laisser porter dans le sillage de pression de leurs voisins et réduire leur dépense énergétique.
Existe-t-il une idée reçue courante sur l'organisation des bancs ?
Une idée reçue courante est qu'un banc est mené par un « poisson meneur » en tête que les autres suivent. En réalité, les poissons en banc n'ont ni meneur ni hiérarchie. Le poisson qui semble être en tête se trouve simplement là en raison du pilotage combiné de tous les individus. S'il tourne, tout le groupe se réorganise, et un autre poisson peut se retrouver en tête. Chaque individu prend ses propres décisions en fonction uniquement des poissons qu'il peut immédiatement percevoir, et le mouvement de groupe ordonné est une propriété émergente auto-organisée.
Qui a inventé le modèle des Boids et quand a-t-il été publié ?
Craig Reynolds, alors chercheur en infographie, a publié l'algorithme des Boids en 1987 dans les actes SIGGRAPH intitulés « Flocks, Herds, and Schools: A Distributed Behavioral Model ». Le modèle a immédiatement eu une influence sur le cinéma et l'animation — il a été utilisé pour la première fois dans une grande production en 1992 dans le film de Tim Burton Batman, le défi, où des milliers de chauves-souris et de pingouins ont été animés à l'aide des Boids. Reynolds a reçu un Oscar de la réussite technique en 1998 pour ses travaux sur le contrôle du mouvement et l'animation comportementale.
Quelles autres simulations sont liées à ce modèle d'aquarium ?
L'aquarium est étroitement lié à la simulation Boids 3D de ce site, qui montre le vol groupé dans un espace tridimensionnel sans le thème de l'aquarium. La simulation École de poissons 3D utilise aussi des règles de vol groupé mais rend les poissons sous forme de maillages 3D. Plus largement, les mêmes principes de comportement émergent apparaissent dans le Jeu de la vie (émergence d'automate cellulaire), le Modèle épidémique SIR (propagation d'agents à travers une population), et L-Systems (règles de croissance produisant des structures végétales complexes). Tous montrent comment des règles locales simples peuvent générer des motifs globaux complexes.
Comment l'algorithme des Boids est-il utilisé en ingénierie et en robotique aujourd'hui ?
Les algorithmes dérivés des Boids sont largement utilisés en robotique en essaim, où des groupes de drones ou robots terrestres autonomes simples doivent se coordonner sans contrôleur central. Les mêmes règles permettent des opérations décentralisées de recherche et sauvetage, des essaims de drones agricoles pour la surveillance des cultures, et la coordination militaire multi-drones. En ingénierie du trafic, les modèles de vol groupé informent la façon dont les véhicules autonomes peuvent former des pelotons pour réduire la traînée aérodynamique. En ingénierie réseau, les algorithmes de colonies de fourmis et d'optimisation en essaim — mathématiquement liés aux Boids — résolvent des problèmes de routage et d'équilibrage de charge dans de grands systèmes distribués.
Quelles sont les frontières de recherche actuelles sur le banc de poissons et le comportement collectif ?
Les chercheurs étudient actuellement comment les vrais bancs de poissons prennent des décisions collectives, comme choisir dans quelle direction tourner quand un prédateur approche, sans qu'aucun individu n'ait d'information complète. Des études utilisant le suivi multi-caméras à haute vitesse ont révélé que l'information se propage à travers un banc comme une onde se déplaçant à environ 20 longueurs de poisson par seconde — bien plus vite que le temps de réaction de tout individu. Les questions ouvertes incluent comment les bancs maintiennent leur cohésion en trois dimensions en eau turbulente, comment se forment et se dissolvent les bancs multi-espèces, et comment le cerveau de chaque poisson encode et traite rapidement les signaux sociaux de dizaines de voisins simultanément.
Bancs de poissons dans un aquarium 3D — variantes de Boids avec évitement d'obstacles et comportement d'alimentation.
3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · s'exécute entièrement côté client, sans installation