🧶 Seil- & Kettenphysik
Interaktive Seil- und Kettensimulation mit Verlet-Integration und Jakobsen-Abstandsbeschränkungsrelaxation. Ziehen, fixieren und schwingen Sie eine flexible Kette in Echtzeit.
Über diese Simulation
Dieser Simulator baut ein Seil, eine Kette, eine Brücke, ein Pendel oder einen Stoffstreifen aus Punktpartikeln, die durch Abstandsbeschränkungen verbunden sind, unter Verwendung der Störmer-Verlet-Integration in ihrer positionsbasierten Form: Jedes Partikel speichert nur seine aktuelle und vorherige Position, sodass die Geschwindigkeit implizit ist (v ≈ x − xVorher) und nie direkt berechnet wird. Jeden Frame verschieben Schwerkraft und ein Dämpfungsfaktor jedes unfixierte Partikel, dann läuft ein Jakobsen-Relaxationsdurchgang K-mal ab und drängt jedes verbundene Paar um die Hälfte des relativen Längenfehlers entlang ihrer Trennung zurück zu seiner Ruhelänge. Fixierte Partikel bleiben unbeweglich, und ein optionaler runder Stift wird auf dieselbe Weise durchgesetzt, indem jedes Partikel, das innerhalb seines Radius erwischt wird, zurück auf den Rand des Kreises geklemmt wird.
Was gezeigt wird
Eine Kette von Partikeln, dargestellt als blaue Stabsegmente, die kleine Kreise verbinden; fixierte Verankerungen sind orange gezeichnet, freie Partikel hellgrau. Das Statistikfeld zeigt die Ruhelänge des Seils, seine tatsächliche (entspannte) Länge, die Dehnung in Prozent zwischen beiden und das sich am schnellsten bewegende Partikel — eine Live-Anzeige, wie nahe der Constraint-Löser der Konvergenz ist.
Bedienung
Wählen Sie ein Szenario (Peitsche, Brücke, freier Fall, Pendel oder Stoffstreifen) und ziehen Sie dann die Regler für Segmente, Iterationen, Schwerkraft, Dämpfung und Steifigkeit, um zu ändern, wie sich das Seil verhält. Ziehen Sie einen beliebigen Knoten direkt mit der Maus oder dem Finger, aktivieren Sie „Runden Stift anzeigen“, um ein ziehbares Hindernis hinzuzufügen, und nutzen Sie Pause / Zurücksetzen, um die Szene einzufrieren oder neu aufzubauen.
Wussten Sie schon?
Ein Seil oder eine Kette, die frei unter Schwerkraft hängt, nimmt die Form einer Kettenlinie an, keiner Parabel — die beiden sehen ähnlich aus, sind mathematisch aber verschieden. Architekt Antoni Gaudí nutzte dies, indem er kopfüber hängende Ketten-Modelle der Sagrada Família baute und die Schwerkraft die reinen Druckbogenformen für ihn ausarbeiten ließ. Derselbe Partikel-und-Constraint-Trick, der hier verwendet wird — positionsbasierte Dynamik —, treibt in den meisten modernen Spiele-Engines auch Stoff-, Haar- und Ragdoll-Physik an.
Häufig gestellte Fragen
Welchen Algorithmus verwendet diese Seilsimulation?
Sie verwendet Verlet-Integration kombiniert mit Jakobsen-Constraint-Relaxation, eine Technik, die als positionsbasierte Dynamik (PBD) bekannt ist. Jedes Partikel speichert nur seine Position und die vorherige Position; Schwerkraft und Dämpfung verschieben Partikel jeden Frame direkt, dann drängt ein separater Relaxationsdurchgang verbundene Partikel wiederholt zurück in Richtung ihres Ruheabstands. Das vermeidet die direkte Lösung steifer Differentialgleichungen und ist dieselbe Methode, die für Stoff, Haare und Seile in vielen Echtzeitspielen verwendet wird.
Warum speichert die Simulation die Geschwindigkeit nicht als eigene Variable?
Dies ist die Störmer-Verlet-Form der Integration: Die Geschwindigkeit ist implizit und wird als v ≈ x − xVorher wiedergewonnen, statt als separate Größe verfolgt zu werden. Das ist numerisch stabil und macht vor allem die Lösung der Constraints einfach, da der Jakobsen-Relaxationsdurchgang nur Partikelpositionen direkt bewegen muss; die implizite Geschwindigkeit für den nächsten Frame aktualisiert sich automatisch aus der neuen Position und der Position, von der sie gerade kam.
Was steuert der Iterationen-Regler (K) genau, und warum macht ein Erhöhen das Seil steifer?
Jede Iteration ist ein Durchgang über jede Stab-Beschränkung im Seil, und ein einzelner Durchgang korrigiert den Längenfehler jeder Verbindung nur teilweise. Mit wenigen Iterationen verhält sich das Seil wie ein weiches Gummiband, das sich unter Last sichtbar dehnt; mit vielen Iterationen konvergieren die wiederholten Korrekturen näher an ein undehnbares Seil, bei dem jedes Segment fast exakt seiner Ruhelänge entspricht.
Warum dehnt sich das Seil und zeigt einen von Null verschiedenen Dehnungsprozentsatz im Statistikfeld?
Die Jakobsen-Relaxation ist ein näherungsweiser iterativer Löser, kein exakter. Bei einer endlichen Anzahl von Iterationen K und gleichzeitigen Zugkräften durch Schwerkraft, benachbarte Beschränkungen, fixierte Punkte und den Stift erreicht das Seil innerhalb eines Frames selten einen perfekt fehlerfreien Zustand. Ein Erhöhen von K reduziert die Dehnung auf Kosten von mehr Berechnung pro Frame, während das Verringern von Schwerkraft, Dämpfung oder dem Druck des Stifts einen ähnlichen Effekt hat.
Wie interagiert der ziehbare Stift mit dem Seil, und ist das echte Kollisionsphysik?
Der Stift verwendet keine vollständige Starrkörper-Kollision. Nach jeder Constraint-Iteration prüft die Simulation, ob ein unfixiertes Partikel jetzt innerhalb des Kreises des Stifts liegt, und projiziert es, falls ja, direkt zurück auf den Rand des Kreises. Dies neben den Stab-Beschränkungen K-mal pro Frame zu wiederholen, lässt das Seil überzeugend um den Stift wickeln und gleiten, obwohl es nur eine positionelle Begrenzung ist und keine physikalische Reaktion mit Impulsen oder Reibung.
Ein Seil als Punktpartikel, verbunden durch Abstandsbeschränkungen, integriert mit Verlet und Jakobsen-Relaxation. Ziehen Sie einen beliebigen Knoten, fixieren Sie Enden, wickeln Sie das Seil um einen Stift, bauen Sie einen Stoffstreifen.
3D · Three.js / WebGL-Renderer · 60 FPS Ziel · läuft vollständig clientseitig, keine Installation nötig