Spielephysik (game physics): Federkräfte oder was einen Körper zusammenhält

Im heutigen Artikel werden wir der Frage nachgehen, wie sich die Stabilität des Massenpunktmodells und damit verbunden die Stabilität und Form eines Körpers gewährleisten lässt. Bedenken Sie in diesem Zusammenhang – damit ein Körper seine Form beibehalten kann, müssen die relativen Abstände (Bindungslängen) zwischen den Massenelementen nahezu konstant bleiben. Durch Kollisionen oder Rotationsbewegungen ändern sich diese Abstände zwischenzeitlich, wobei Kräfte auftreten, die es nun zu berechnen gilt.

Die Wirkung dieser Kräfte ist Ihnen mit Sicherheit vertraut, denn sie spielt nicht nur in der Welt der Atome und Moleküle eine wichtige Rolle, sondern macht sich darüber hinaus auch immer dann bemerkbar, wenn mechanische Federn zum Einsatz kommen – die Federkraft. Diese so wichtige Kraft wird durch das so genannte Hookesche Gesetz beschrieben. Dieses besagt, dass die rücktreibende Kraft einer Feder umso größer ist, je stärker man diese dehnt oder staucht. Die Stärke der Federkraft wird ferner durch eine Kraftkonstante (Federkonstante) bestimmt, die davon abhängig ist, wie leicht oder schwer sich eine Feder dehnen oder stauchen lässt. Generell gilt, je weicher die Feder ist, desto kleiner ist auch die Federkonstante.
Um die Stabilität und Form eines Körpers zu gewährleisten, müssen wir also nur die zugehörigen Massenelemente in einer fest vorgegebenen Weise durch „virtuelle Federn“ miteinander verbinden. Die Verformbarkeit des Körpers können wir dann durch eine kluge Wahl der Federkonstanten beeinflussen.

Die Arbeit mit solchen Masse-Feder-Systemen ist Fluch und Segen zugleich. Da sich die Kräfte, die auf einzelne Massenelemente einwirken, über die Federn auf alle übrigen Massenelemente verteilen, ergeben sich beispielsweise Änderungen des Rotationsverhaltens nach einer Kollision wie von selbst. Jedoch verteilen sich dabei nicht nur die tatsächlichen Kräfte sondern auch die durch numerische Fehler hervorgerufenen Zusatz-Kräfte. Bei Masse-Feder-Systemen mit besonders starren Federn werden diese Zusatz-Kräfte schnell so groß, dass die Simulation instabil wird und das Masse-Feder-System regelrecht explodiert.

Die nachfolgende Abbildung zeigt zwei solche Massenelemente, die durch eine Feder miteinander verbunden sind. Dargestellt sind ferner die wirksamen Kräfte, die beim Zusammendrücken der Feder hervorgerufen werden.






















Bei der Berechnung der wirksamen Federkräfte müssen wir im ersten Schritt die aktuelle Orientierung der Feder (Federausrichtung) im Raum bestimmen. Die Federausrichtung entspricht zugleich der Kraftrichtung. Diese wiederum ist abhängig von den aktuellen Positionen der durch die Feder miteinander verbundenen Massenelemente und entspricht dem normierten Differenzvektor aus den Massenelement-Positionsvektoren. Die Elongation (Auslenkung) der Feder berechnet sich aus der Differenz des aktuellen Abstands der Massenelemente und ihrem normalen Abstand. Der normale Abstand entspricht der normalen Länge der Feder, bei der keinerlei Federkräfte wirken.

F(Feder) = Kraftkonstante * Elongation * Kraftrichtung

Federkräfte mit Dämpfung

Wird eine Feder gedehnt oder gestaucht und dann sich selbst überlassen, so beginnt sie zu schwingen. Mit der Zeit nimmt die maximale Auslenkung (Amplitude) der Feder während der Schwingung mehr und mehr ab, bis schließlich die gesamte Schwingungsenergie vollständig in Wärme umgewandelt worden ist. Diesen Vorgang bezeichnet man als Dämpfung.
Um zu einer realistischeren Beschreibung der Federkräfte zu gelangen, werden wir nun das Hookesche Gesetz um einen Dämpfungsterm erweitern:

F(Feder) = Kraftkonstante * Elongation * Kraftrichtung  - Dämpfung

Geht man bei der Herleitung des Dämpfungsterms streng physikalisch vor, dann muss man unter anderem auch das Medium (Luft, Wasser, Öl, etc.) berücksichtigen, in dem sich die Feder augenblicklich befindet. Eine andere Möglichkeit besteht darin, durch „Ausprobieren“ verschiedener Ansätze einen Kraftausdruck zu finden, der eine möglichst realistische Beschreibung des Ganzen ermöglicht. Folgender Ansatz hat sich als sehr praktikabel erwiesen:

F(Feder) = Kraftkonstante * Elongation * Kraftrichtung - Dämpfungsfaktor*Geschwindigkeit

Ist man hingegen in erster Linie daran interessiert, die Simulation zu stabilisieren, dann bietet sich folgender Ansatz an:

F(Feder) = Kraftkonstante * Elongation * Kraftrichtung -
                  Dämpfungsfaktor * Elongation * SummeWeitererFederkräfte

Hierbei ist die Dämpfung proportional zu den bereits wirksamen Federkräften. Starke Federkräfte, die insbesondere durch numerisch bedingte Fehler hervorgerufen werden, führen zu einer verstärkten Dämpfung und helfen dabei, die Simulation wieder zu stabilisieren.


Nichtlineare Federkräfte

Lineare Federkräfte, wie sie das Hookesche Gesetz beschreibt, gehören zu den „harten Wechselwirkungen“. „Hart“ bedeutet in diesem Zusammenhang, dass schon eine relativ kleine Elongation eine relativ große Kraft verursacht. Hingegen gehören nichtlineare Federkräfte zu den so genannten „weichen Wechselwirkungen“, da kleine Auslenkungen zunächst nur schwache Kräfte zur Folge haben. Die nachfolgende Gleichung demonstriert Ihnen die Berechnung von nichtlinearen Federkräften, deren Stärke proportional zum Quadrat der Auslenkung ist:

F(Feder) = Kraftkonstante * Elongation * Elongation * Kraftrichtung