🐟 Fischschwarm 3D
Beobachte, wie Hunderte Fische mit dem Boids-Algorithmus in einem pseudo-3D-Ozean schwärmen. Ein Raubhai jagt von unten; Fische teilen sich, gruppieren sich neu und entkommen mithilfe von Separations-, Ausrichtungs- und Kohäsionskräften.
Über diese Simulation
Diese Simulation rendert ein Boids-Schwarmmodell (Craig Reynolds, 1986) als Fischschwarm in Draufsicht-Pseudo-3D. Jeder Fisch scannt nahe Nachbarn innerhalb dreier unabhängiger Radien — Separation, Ausrichtung und Kohäsion — und kombiniert die resultierenden Lenkvektoren zu seiner eigenen Richtung in jedem Frame. Ein jagender Hai fügt eine vierte Kraft hinzu, Flucht, die das Schwarmverhalten überschreibt, wenn ein Fisch in den Panikradius eintritt.
🔬 Was es zeigt
200 Fische (einstellbar 50–400) werden einer von drei Tiefenschichten zugeordnet, jede mit eigener Palette und Größe, sodass sich überlappende Schwärme wie ein 3D-Ozean auf einer 2D-Leinwand lesen. Jeder Fisch reagiert nur auf Nachbarn in benachbarten Schichten.
🎮 Bedienung
Ziehe Fischanzahl und Geschwindigkeit, um Umfang und Tempo zu ändern, dann verbreitere oder verenge die drei Schwarmradien, um engere oder lockerere Schwärme zu sehen. Schalte den Raubtier-Modus ein/aus, um ruhiges Schwärmen mit Panikdynamik zu vergleichen.
💡 Wusstest du schon?
Reynolds' ursprüngliches Boids-Paper von 1987 benötigte keinen Anführer und kein globales Regelwerk — Schwärmen, Fliegen und Herden entstehen alle aus drei rein lokalen Regeln, die jedes Individuum gleichzeitig anwendet.
Häufig gestellte Fragen
Was sind die drei Boids-Regeln und was bewirken sie?
Separation lenkt jeden Fisch weg von Nachbarn, die zu nahe sind, und verhindert Kollisionen. Ausrichtung lenkt einen Fisch dazu, die durchschnittliche Richtung der Nachbarn in seinem Ausrichtungsradius nachzuahmen, was synchronisiertes Wenden erzeugt. Kohäsion lenkt einen Fisch zur durchschnittlichen Position der Nachbarn in seinem Kohäsionsradius und hält die Gruppe zusammen.
Warum sehen die Fische aus, als würden sie in 3D auf einer flachen Leinwand schwimmen?
Jedem Fisch wird zufällig eine von drei Tiefenschichten mit unterschiedlicher Größe und Farbpalette zugewiesen — größere, hellere Fische für die Oberflächenschicht und kleinere, dunklere Fische für die Tiefenschicht. Fische schwärmen nur mit Nachbarn in derselben oder einer benachbarten Schicht.
Wie entscheidet der Hai, wo er jagt?
Der Hai berechnet den Schwerpunkt (Durchschnittsposition) aller Fische auf dem Bildschirm und lenkt mit einer kleinen konstanten Beschleunigung darauf zu, begrenzt durch die Haigeschwindigkeit-Einstellung. Er zielt nicht auf einzelne Fische, sondern jagt einfach den Massenschwerpunkt der Menge.
Was löst Panik bei einem Fisch aus und wie ändert das sein Verhalten?
Ein Fisch gerät in Panikmodus, wenn er in den Panikradius des Hais fällt; je näher er ist, desto stärker drängt eine zusätzliche Fluchtkraft ihn direkt vom Hai weg. Panische Fische werden in warnendem Gelb-Orange gezeichnet und schwimmen bis zu doppelt so schnell wie ihre normale Höchstgeschwindigkeit.
Wie wird die Cluster-Statistik berechnet?
Die Simulation führt eine Flood-Fill- bzw. Breitensuche über das Fischarray durch: Ausgehend von einem unbesuchten Fisch fügt sie wiederholt jeden anderen unbesuchten Fisch innerhalb des Kohäsionsradius derselben Gruppe hinzu.