Advanced Games Physics
Inhaltsverzeichnis zum
Inhalt

Systeme von verkoppelten Differentialgleichungen

Der deformierende Stoß als System verkoppelter Differentialgleichungen

Der Stoß - einmal anders

Verkoppelte Feder-Masse-Systeme sind ideale Elemente, um das Thema Stoß auf einem alternativen Weg, jenseits von Energie- und Impuls-Erhaltung, zu behandeln. Im Kapitel Stoß sind wir - entgegen den physischen Realitäten - davon ausgegangen, dass die zusammenstoßenden Körper unverformbar hart sind. Entsprachen sie nicht diesem Idealbild, so war der Stoß unelastisch, was zu einem Energieverlust während des Stoßes führte.
Anders die Herangehensweise mit gekoppelten Feder-Masse-Systemen. Hier werden die Objekte bewußt als verformbar angesehen, allerdings als eine reversible Verformung wahlweise mit oder ohne Energieverlust. Vielmehr ist die Verformbarkeit zentraler Bestandteil des Lösungsansatzes. Infolge der Verformung ist der Stoß nunmehr kein unendlich kurzes Ereignis mehr, sondern ein Vorgang, der sich über eine endliche Zeitspanne erstreckt! Nun ist es auch nicht mehr erforderlich, zwischen elastischem und unelastischem Stoß zu unterscheiden. Die Elasitizität wird ganz einfach mittels Federspannung n und Federdämpfung δ eingestellt. So kann der deformierende Stoß mit einem System verkoppelter Differentialgleichungen behandelt werden.

Allerdings müssen wir uns klar darüber sein, dass uns nur ein Punktmassen-Ansatz zur Verfügung steht. In der Realität handelt es sich hierbei aber um ein Feder-Masse-Kontinuum. Wir dürfen also nicht erwarten, dass unser Punktmassenansatz vollkommen überzeugende Ergebnisse liefert.

Dezentraler Stoß unter Berücksichtigung der Deformation

zeigt die Situation vor und während des Stoßes analog zum dezentralen Stoß. Zwei Kugeln mit den Radien R01 bzw. R02 bewegen sich mit den Geschwindigkeiten v 1 und v 2 aufeinander zu. Im Stoßmoment liegen die Mittelpunkte (die auch gleichzeitig die Schwerpunkte der Kugeln sind) auf der Stoßlinie, die im Winkel β gegenüber der x-Achse geneigt ist.
Neu ist, dass die Kugeln durch je eine Punktmasse m1 bzw. m2 und je eine Feder mit den Federkonstanten n1 bzw. n2 repräsentiert werden. Beide Federn besitzen eine Ruhefederlänge l01 = R1 bzw. l02 = R2, die gleich den aktuellen Radien der beiden Kugeln sind. Egal, an welchen Stellen der Kugeloberflächen der Zusammenstoß stattfindet, überall wirkt diese Feder-Masse-Konstellation. Diese wird numerisch wie eine homogene Differentialgleichung behandelt, da für die folgenden Betrachtungen ohne Gravitationseinfluss gerechnet wird. Einzig die Anfangsbedingungen, d.h. die Geschwindigkeiten beider Kugeln im Stoßmoment, bestimmen die Lösung der Differentialgleichungen. Dabei ist die Gültigkeitsdauer der Differentialgleichungen für das (oder die) Feder-Masse-System(e) auf die Berührung beider Kugeln beschränkt.
Zusammenstoß federnder Körper vor dem Stoß

Abb. Zusammenstoß federnder Körper vor dem Stoß
Nach dem Stoß, d.h. nach Beendigung der Berührung, trennen sich beide Kugeln wieder und bewegen sich entsprechend der berechneten Geschwindigkeitsvektoren v' 1 und v' 2 nach dem Stoß.

Der Einfachheit halber denken wir uns die Eigenschaften der am Stoß beteiligten Kugeln als gleich. Dadurch ändert sich die Geometrie des Feder-Masse-Systems wie in zu sehen ist. Die beiden Federn n1 und n2 werden zu einer doppelt so langen Feder zusammengefasst. Damit ändern sich die Federparameter so:
()
Formel
und entsprechend
()
Formel
Infolge des Stoßes wird die Ersatz-Feder gestaucht und die Kugeln verformen sich sichtbar zu Ellipsoiden.
Zusammenstoß federnder Körper im Stoß

Abb. und im Stoß


Das vorliegende Feder-Masse-System besteht nunmehr aus zwei Kugeln und einer Feder. Folglich werden die Bewegungen der beiden Kugeln durch ein System verkoppelter Differential­gleichungen beschrieben. Da keine äußeren Kräft wirken, sehen diese Differential­gleichungen sehr einfach aus.
Einzig die Federkraft wirkt auf beide Massen. Ihr Wert ergibt sich aus den Abständen beider Kugeln zueinander, abzüglich der Ruhefederlänge:
()
Formel
wobei
()
Formel
Der Stoßwinkel β ergibt sich aus den aktuellen Orten beider Kugeln im Stoßaugenblick:
()
Formel
im Stoß wirkende Kräfte

Abb. Im Stoß wirkende Kräfte

Um bei gegebener Federreibung r die Differential­gleichungen aufstellen zu können, müssen jetzt die Komponenten der Federkraft entsprechend des Stoßwinkels β berechnet werden. Für die Masse m1 gilt:
()
Formel
Und für die Masse m2 - unter Beachtung der Tatsache, dass die wirkende Kraft an den einzelnen Kugeln entgegen gesetzt wirkt - gilt:
()
Formel

Division der durch m1 bzw. der durch m2 führt auf normierte Differentialgleichungen. In unserem Beispiel sind alle Massen gleich groß, d.h. m1 = m2 = m, wodurch die Reibungs­koeffizienten r in die allgemein gültigere Dämpfung δ = 1 2 · r m und der Quotient n m = ω 0 2 in das Quadrat der Eigenfrequenz überführt werden kann. Dann noch nach der höchsten auftretenden Ableitung umstellen. Dies führt schließlich auf die gesuchten Differential­gleichungs­systeme:
()
Formel
und
()
Formel


Die Programm technische Umsetzung ist unproblematisch. Von entscheidender Bedeutung ist allerdings die genaue Ermittlung
  1. des Stoßzeitpunktes (Stoßbeginn) und
  2. des Stoßendes (Verlassen der Über­lappungs­bereiche)
verdeutlicht die Problematik. Stimmen nämlich die Zeitpunkte des real eintretenden Stoßes nicht mit dem durch die Bildwechsel vorgebenen Zeitraster überein, wird die Berechnung der Differentialgleichung des Feder-Masse-Systems zu früh oder zu spät begonnen oder beendet. In beiden Fällen ist die Federkraft FF ≠ 0. Das führt zu falschen Geschwindigkeitswerten am Stoßende. Die Folge ist eine Verletzung der Erhaltungssätze für Impuls und Energie. Dies zu verhindern, sind die exakten Stoßzeiten dt' analog zu zu bestimmen, um die Berechnung der Differentialgleichung rechtzeitig zu beginnen und auch zu beenden.

Zeitmanagement vor und im Stoß

Abb. Zeitmanagement vor und im Stoß


In der Darstellung werden die zusammen stoßenden Kugeln entsprechend der Verformung zu Ellipsoiden, deren Excentrizität proportional zur Zusammenpressung der Feder verändert wird.

Und welche physikalische Bedeutung kommt der Eigen­frequenz ω0 zu? Entsprechend der Kol­lisions­bedingungen werden die Federn im Stoßbeginn zusammen­gepresst, um sich bis zum Stoßende wieder zu entspannen. Je nach Federsteifigkeit n dauert und Masse m dieser Vorgang mehr oder weniger lange und entspricht der halben Periodendauer T der Eigenschwingung. Folglich dauert der Stoßvorgang
()
Formel
Bitte einen Augenblick Geduld
während das Programm geladen wird!


Abb. Beschleunigungsverlauf während des Stoßes


Je weicher die Federn, desto tiefer ist die Deformation der Bälle, desto länger dauert der Stoß. Je härter die Federn, desto kürzer ist der Stoß.
Auch die Dämpfung δ der Federn nimmt Einfluss auf den zeitlichen Verlauf des Stoßes. Eine größere Dämpfung bewirkt einen Energieverlust, der sich vorwiegend in einer Verlangsamung der Entspannungsphase äußert.

Im Beispielprogramm ist eine Situation nachgebildet, die wir schon aus dem Kapitel Zwei Objekte stoßen zusammen kennen. Da es sich nun um eine Feder-Masse-System handelt, werden die Parameter Feder­konstante n und Dämpfung δ mittels Schiebe­reglern einstellbar. Ebenfalls frei wählbar sind der Ort und der Geschwindig­keitsvektor der grünen Kugel.
download p5.js
run program
Ergebnisdiskussion: Mit der Einführung verformbarer Objekte können die gleichen Bewegungsabläufe eines Stoßes nachgebildet werden wie im Kapitel Zwei Objekte stoßen zusammen ausgeführt. Eine Erhöhung der Federsteifigkeit n führt zu geringeren Deformationen beim Stoß und kann so die Illusion eines Stoßes harter Körper verstärken.
Restfehler bei der Erhaltung von Impuls und Energie werden durch die Zeitdiskretisierung infolge der Synchronisation mit den Bildwechseln hervor gerufen. Diese Fehler können durch Verringerung der Schrittweite vermindert werden.
Die selbe Maßnahme ist auch erforderlich, sollte die Federsteifigkeit n sehr groß gewählt werden. Denn dann ist die Dauer des Zusammenstoßes klein und die Anzahl der berechneten Zwischenschritte reicht nicht mehr aus, den Stoß mit den Phasen Stauchung und Ausdehnung ausreichend genau zu modellieren.

Dezentraler Stoß mit Zwangsbedingung

Im Kapitel Stoß zweier Objekte, wovon ein Objekt auf einer harten Ebene aufliegt haben wir die Grenzen der Stoßberechnung mit Hilfe der Erhaltungssätze für Energie und Impuls erfahren müssen. Nur mit etwas Schummelei gelang uns eine einigermaßen plausible Lösung, die für die Spieleentwicklung ausreichend sein mag, aber strengen mathematisch-physikalischen Anforderungen nicht genügt. Sehen wir also, ob uns mit dem Feder-Masse-Ansatz eine überzeugendere Lösung gelingt.

zeigt die prinzipielle Konstellation eines dezentralen Stoßes mit einem auf festem Untergrund ruhenden Objekt. Wieder verwenden wir das Feder-Masse-Modell unter der Voraussetzung, dass die Massen der Objekte als Punktmassen aufgefasst werden können und beide Massen im Stoßmoment mittels Feder verbunden sind. Neu ist, dass es auch eine Feder zwischen Untergrund und Massenzentrum des ruhenden Objektes - hier Kugeln - gibt. Unter der Voraussetzung dass beide Kugel gleiche Parameter (Radius R, Masse m und Federkonstante n) aufweisen, ergeben sich die Ersatz-Parameter zu
()
Formel


Zusammenstoß mit einem auf dem Boden ruhenden Körper

Abb. Zusam­men­stoß mit einem auf dem Boden ruhen­den Körper
Womit die Differentialgleichungen aufgestellt werden können. Zunächst die Kräfte­gleich­gewichte (die einzelnen Systeme sind durch hochgestellte Indeze gekennzeichnet):
(a)
Formel
für die Masse m1 und analog für die Masse m2
(b)
Formel
da wir hier ohne Gravitationseinfluss arbeiten wollen.

Aus ergeben sich unterschiedliche Federkräfte, weil die verbindende Feder zwischen m1 und m2 aus der Reihenschaltung der beiden Teilfedern besteht, die zum Boden weisende Feder aber nur eine einfache Feder ist.
Am Stoß beteiligte Kräfte

Abb. Am Stoß beteiligte Kräfte
Daher gilt
(a)
Formel
wobei
Formel
(b)
Formel
 mit
Formel
 und
(c)
Formel
So lautet die Differentialgleichung für das 1. System:
()
Formel
und für das 2. System:
()
Formel

Auf die x-Komponente des DGl-Systems hat die Federkraft FF(2) keinen Einfluss, da in dieser Richtung keine Zwangsbedingung vorliegt (die Kugel in x-Richtung also frei beweglich ist).

Division beider Gleichungen und durch m wandelt die Kräfte in Beschleunigungen um. Damit kann der Reibungskoeffizient r in die allgemein gültigere Dämpfung δ = 1 2 · r m und der Quotient n m = ω 0 2 in das Quadrat der Eigenfrequenz überführt. Dann noch nach der höchsten auftretenden Ableitung umstellen. Dies führt schließlich auf die gesuchten Differential­gleichungs­systeme:
()
Formel
()
Formel
Mit diesen normalisierten Differentialgleichungen können die Lösungen der Bewegungsgleichungen durch das bekannte Symplektische Lösungsverfahren (EULER-CAUCHY) gewonnen werden. Dies betrifft aber nur die Berechnung der Bewegungen im Stoß. Also ist noch die Unterscheidung zwischen den Bewegungen außerhalb und innerhalb des Stoßes (Kollision!) zu treffen. Deshalb werden die Gleichungen und modifiziert:
()
Formel
()
Formel
worin die Beschleunigungen entsprechend der Kollisionsbedingungen eingesetzt werden:
()
Formel
()
Formel
gilt, sobald die Stoßbedingung erfüllt und so lange bis die Eigenschwingung der Masse m2 abgeklungen ist.

Das folgende Beispiel stellt eine vereinfachte Situation des Stoßgeschehens dar. Das Geschehen wird mit Hilfe von zwei Feder-Masse-systemen, die - darin besteht die Vereinfachung - zunächst nur vertikal aufeinander treffen, modelliert. Diese Konstellation erlaubt es uns zu studieren, wie sich dieses System hinsichtlich Impuls- und Energeierhaltung verhält.
Zusätzlich zu den bekannten Bedienelementen, gibt es hier noch eine Debugging-Möglichkeit, die, wenn aktiviert, den Schrittbetrieb erlaubt. In diesem Fall werden noch weitere Parameter in der linken oberen Ecke angezeigt.

Bitte einen Augenblick Geduld
während das Programm geladen wird!


Abb. Vereinfachte Stoßsituation

Die Ergebnisse der mit diesem vereinfachten Modell gewonnenen Erkenntnisse machen deutlich, dass es sich hier um schwingungsfähige Feder-Masse-Systeme handelt. Die kinetische Energie, die von der Masse m1 in das System eingetragen wird, teilt sich zunächst auf die potentiellen Energien der beiden Federn (zwischen den Massen m1 und m2 sowie zwischen der Masse m2 und dem Untergrund) auf. Während die in der Feder n1 = 0.5·n (zwischen m1 und m2) im Zusammenstoß gespeicherte Energie, die beiden Massen wieder auseinander drückt und damit ein eine gegenläufige Bewegung versetzt, verbleibt die Energie in der Feder n2 = n (zwischen der Masse m2 und dem Untergrund) bzw. der Masse m2 als Schwingungsenergie im System. Somit dauert das Auseinanderdrücken der Massen m1 und m2 nur eine halbe Schwingungsperiode lang, dann trennen sich die Massen - mit den jeweiligen Geschwindigkeiten, die sie am Ende der halben Schwingungsperiode erreicht haben - wieder. Diesem Prozess fehlt natürlich die Energie, die in der Schwingung dem Feder-Masse-System m2 und Feder n2 gebunden ist. Hinzu kommt, dass genau diese Energie infolge der Reibung (die in einem realen System nicht vernachlässigtwerden darf) in Wärme umgewandelt wird. Mit der Folge, dass sowohl der Energie-Erhaltungssatz als auch der Impuls-Erhaltungssatz verletzt werden.
Mit den Schiebereglern für die Eigenschwingung ω0 und Dämpfung δ können unterschiedliche Materialien für die zusammenstoßenden Körper simuliert werden. Eine Erkenntnis ist sehr wichtig: je härter die Federn angenommen werden, desto näher kommt das System an die idealen Bedingungen, bei denen die Erhaltungssätze gelten.

In diesem allgemein gültigen Beispiel wird das Stoßgeschehen unter gleichen Bedingungen, wie im Kapitel Zwei Objekte, wovon ein Objekt auf einer harten Ebene aufliegt beschrieben, untersucht. Auch hier gibt es eine Debugging-Möglichkeit, die, wenn aktiviert, den Schrittbetrieb erlaubt.

Für die Lösung der Differentialgleichung verwenden wir den einfachen EULER-CAUCHY-Verfahren, weil er sehr unkompliziert auf größere Systeme, wie das hier aus vier verkoppelten Differentialgleichungen bestehende System, angewendet werden kann.
download p5.js
run program


Ergebnisdiskussion: Mit der Feder-Masse-Lösung ist die Simulation des Stoßes mit einem am Boden liegenden Objekt hinreichend gut gelungen, auch wenn die Forderungen der Erhaltungssätze (bei δ = 0) nicht sehr gut erfüllt werden. Die Frage ist, ob denn überhaupt nach der Einhaltung der Erhaltungssätze geurteilt werden sollte. Der hier gewählte Ansatz der verkoppelten Feder-Masse-Systeme schließt ja Energie-Verluste infolge der inneren Schwingungen ein. Damit die Schwingungen abklingen können, muss die in der Schwingung gebundene Energie in Wärme umgewandelt werden. Also ein Verstoß gegen die Energieerhaltung. Mit dem Impuls verhält es sich ähnlich.
Eine weitere Ursache liegt in der Zeit­diskretisierung infolge der Synchronisation mit der Bildwechsel­frequenz, die eine exakte Bestimmung der Kollisionsmomente verhindert. Eine Verbesserung ergibt sich, wenn die Übergänge zwischen den drei Phasen exakter ausgeführt werden. Im einfachsten Fall geschieht das durch die Verringerung der Schrittweite, was auch zu einer Verbesserung der Rechengenauigkeit des ODE-Solvers führt.
Im vorliegenden Beispiel werden zwischen zwei Bildwechseln I = 32 Schritte bei der Berechnung, vor allem aber der Erkennung der Kollision, ausgeführt.
Bei sehr harten Kugeln wäre zu erwarten, dass bei einem senkrechten Stoß auf die liegende Kugel, nur eine Reflexion der stoßenden Kugel an der ruhenden Kugel erfolgt, ohne dass sich diese bewegen würde. Hier ist das nicht der Fall. Auch die bisher ruhende Kugel erhält einen Impuls, so dass sich diese nach dem Stoß ebenfalls bewegt.

Dezentraler Stoß von drei Objekten

Im Kapitel Pragmatische Annäherung an das 3-Körper-Problem wurde darauf hingewiesen, dass eine Lösung dieser Aufgabe mit den Mitteln der Erhaltungssätze für Energie und Impuls allein nicht lösbar ist, deshalb wurde dort eine intuitive Ersatzlösung vorgestellt. Ob uns eine korrekte Lösung mit Hilfe von Feder-Masse-Systemen gelingt?
zeigt die Situation, wenn drei Bälle ohne zeitlichen Verzug aufeinander prallen. Dabei spielt es keine Rolle, aus welcher Richtung die Bälle aufeinander stoßen. Das legt die erweiterte Verwendung der Lösung für den dezentralen Stoß zweier Bälle, die durch ein Feder-Masse-System modelliert werden ( bis ).
Wir gehen wieder davon aus, dass alle drei Bälle gleiche Eigenschaften besitzen. Daraus können die "Federeigenschaften" der Bälle im Stoßmoment abgeleitet werden:
()
Formel
Drei Kugeln stoßen zusammen

Abb. Drei Kugeln stoßen zusammen

Mit den Werten für die Deformation Δ l i j = l i , j 2 R können die wirkenden Federkräfte F F i j berechnet werden:
()
Formel
Und die Bälle stoßen unter den Winkeln
()
Formel
zusammen.

Gemäß können jetzt in Analogie zur Vorgehensweise beim dezentralen Stoß die Differentialgleichungen aufgestellt werden:
Feder-Masse-System mit drei Kugeln

Abb. Feder-Masse-System mit drei Kugeln
(a)
Formel
(b)
Formel
(c)
Formel
Woraus schließlich die sechs Differentialgleichungen für je eine der Geschwindigkeits­komponenten jedes der drei Bälle folgen:
(a)
Formel
()
Formel
()
Formel

Für die Programm technische Umsetzung ist die Berechnung der Stoßwinkel βi,j nicht erforderlich, da diese Winkel ausschließlich im Zusammenhang mit den trigonometrischen Funktionen sin() bzw. cos() verwendet werden. Um den doppelten Aufwand für diese Berechnungen zu vermeiden, können die sin()- bzw. cos()-Werte direkt aus den geometrischen Beziehungen (siehe Geistesblitz) abgeleitet werden.

Das Beispielprogramm ermöglicht eine Konstellation der Bälle, die immer zu einem Tripel-Stoß führt. Um dies zu ermöglichen, werden die Startpositionen der Bälle entsprechend ihrer Geschwindigkeitsbeträge und -winkel angepasst. Der besseren Übersichtlichkeit sind nur die Winkel der Bälle B2 und B3 sowie die Startgeschwindigkeit des Balles B3 per Schieberegler veränderbar. Diese Einschränkung reduziert die Allgemeingültigkeit der Aussagen des Programms nicht.
download p5.js
run program

Ergebnisdiskussion: Mit der Einführung verformbarer Objekte können die Bewegungsabläufe eines Stoßes nachgebildet werden, wie sie laut Kapitel Beliebig viele Objekte stoßen aneinander nicht ausgeführt werden konnten. Diese Methode ist universell anwendbar, die sie auf beliebig viele Objekte erweitert werden kann.
Restfehler bei der Erhaltung von Impuls und Energie sind auf die Zeitdiskretisierung infolge der Synchronisation mit den Bildwechseln zurück zu führen. Diese Fehler können durch Verringerung der Schrittweite vermindert werden.
Die selbe Maßnahme ist auch erforderlich, sollte die Federsteifigkeit n sehr groß gewählt werden. Denn dann ist die Dauer des Zusammenstoßes klein und die Anzahl der berechneten Zwischenschritte reicht nicht mehr aus, den Stoß mit den Phasen Stauchung und Ausdehnung ausreichend genau zu modellieren.