Graphique & rendu2026TerminéDépôt privé

Banc de poisson

Quatre-vingts poissons, trois règles, et un requin qui change tout

Une simulation de boids en C : chaque poisson ne connaît que ses voisins proches, et le banc émerge de leurs trois règles. Un requin vient tester si ça tient.

CMiniLibXBoidsMachine à étatsMakefile
80
poissons
3
règles
60
images par seconde
Comment ça marche

Les règles du banc

Aucun poisson ne voit le banc. Il ne connaît que ses voisins à moins de 55 pixels, et trois règles suffisent à le tenir — les trois suivantes ne sont que des bornes. Le banc n'est écrit nulle part : il sort de là.

Séparation
S'écarter des voisins trop proches. C'est la plus forte des trois — sans elle, le banc s'effondre en un point.rayon 22 px · poids 0,09
Alignement
Prendre le cap moyen des voisins visibles.rayon 55 px · poids 0,05
Cohésion
Se diriger vers leur centre. La plus faible des trois : elle ne fait que refermer ce que la séparation écarte.rayon 55 px · poids 0,035
Vitesse
Elle est bornée en haut et en bas : un poisson ne s'arrête jamais, et ne sème jamais le banc.1 → 2,2 px par image
Bords
À moins de 90 pixels d'un bord, un couple de virage constant le ramène vers l'intérieur. Il n'y a pas de rebond : le banc s'incurve.marge 90 px
Alarme
Un poisson qui voit le requin passe en alerte et publie son cap. Ses voisins le copient en perdant une image d'alerte à chaque saut : la vague traverse le banc, puis s'éteint d'elle-même.peur 130 px · 30 images

Ces règles sont tout le comportement collectif. Les couper — une touche le fait — laisse quatre-vingts poissons qui se croisent sans jamais se voir.

Boids
0
en vie
0
en alerte
0/0
attaques
réussite

Quatre-vingt-dix poissons, aucun ne voit le banc entier : chacun ne connaît que ses voisins à moins de 55 pixels. Les poissons qui blanchissent sont en alerte — la vague part du requin et se propage de voisin en voisin, en perdant une frame à chaque saut. Au moment où le requin verrouille une proie, il compte ses voisins et fige sa probabilité de capture : 90 % sur une proie isolée, et ça chute vite quand elle est noyée dans la masse. Coupez le banc, laissez tourner, et regardez le taux de réussite monter.

En bref
  • 01Séparation, alignement, cohésion — aucun poisson ne voit le banc entier
  • 02Effet de confusion : la proba de capture est figée au verrouillage, selon la densité autour de la proie
  • 03Le requin chasse par attaques discrètes : recherche, verrouillage, poursuite, frappe, repos
  • 04Une touche coupe les règles de banc — mais pas le droit d'avoir des voisins
Le point dur

Un requin qui tourne autour sans jamais toucher

Son rayon de virage vaut vitesse au carré divisée par accélération : à la valeur initiale il faisait 136 pixels, bien plus large que sa portée de frappe, et il abandonnait huit fois sur dix. L'accélération a été balayée jusqu'à retrouver les taux de succès sur proie isolée mesurés par Neill et Cullen.