Rondell
Physik

Physik

Die zentralen Aspekte zur Berechnung der Ballbewegung sind die folgenden:

Die Spiegelung an den Seitenwänden wird durch Umkehren derjeniger Koordinaten, die den Rand des Spielfeldes überschritten haben, bewerkstelligt. Wenn für den Ball z.B. ein x-Wert kleiner als Null berechnet wurde, wird bei der Spiegelung der x-Wert wieder auf den positiven Wert des gleichen Betrages gesetzt und die x-Komponente der Geschwindigkeit umgekehrt. Der y-Wert der Geschwindigkeit wird gleich bleiben. Wenn gleichzeitig die x-Komponente und die y-Komponente den Randwert überschreiten, was an einer Ecke geschehen kann, werden beide Werte umgekehrt, ebenso beide Geschwindigkeitsvektoren.

Die Reibung am Boden berechnet sich aus folgender Formel:

Geschwindigkeitsvektor = Geschwindigkeitsvektor * (1 - Reibungskoeffizient)              (1)

Die Reibung ist also ein meist kleiner Float-Wert, der auf die x- und y-Komponenten des Geschwindigkeitsvektors gleich wirkt.

Die Bodengeschwindigkeit eines Rads berechnet sich aus dem Vektorprodukt des Geschwindigkeitvektors, der vom Mittelpunkt des Rads aus in positiver bzw. negativer z-Richtung zeigt, und des Radiusvektors vom Mittelpunkt des Rads zu dem Punkt, dessen Bodengeschwindigkeit berechnet werden soll. Grafisch sieht das folgendermassen aus:

Bild 1: Berechnung der Bodengeschwindigkeit eines Rads

Zur Überprüfung, ob der Ball sich auf einem Rad befindet, wird der Abstand des Balls vom Radmittelpunkt mit Hilfe der Formel des Pythagoras gebildet und mit dem Radius des Rads verglichen.

Die Reibung auf dem Radboden bestimmt, wie stark die Ballgeschwindigkeit von der Bodengeschwindigkeit des Rads beeinflusst wird. Die Geschwindigkeitsänderung berechnet sich aus folgender Formel:

Beschleunigungsvektor = (Bodengeschwindigkeit - Ballgeschwindigkeit) * Reibungskoeffizient              (2)

Geschwindigkeitsvektor = Geschwindigkeitsvektor + Beschleunigungsvektor              (3)

und schliesslich

Ballposition = Alte Ballposition + Geschwindigkeitsvektor              (4)

Die Ballbewegung wird in einstellbaren Zeitschritten ausgeführt, so dass die Werte nicht pro Sekunde gelten, sondern pro Zeitschritt. (in der Regel 25 Schritte/s)

Ball-Stillstand

Um unnötige Wartezeit zu vermeiden, wenn der Ball stillzustehen droht, wird mit jedem Zeitschritt der Weg, den der Ball noch gehen kann, ohne von einem Rad beschleunigt zu werden oder in ein Ziel zu kommen, berechnet.

s: Verbleibende Weglänge
v:
Ballgeschwindigkeit
r0: Reibungskoeffizient am Boden

Bild 2: Berechnung der verbleibenden Weglänge des Balls

Wird die verbleibende Weglänge kleiner als der Abstand zur nächsten Radfläche oder zum nächsten Ziel, so kann die Runde nicht mehr gewonnen werden und wird abgebrochen.

copyright: Arthur Fritzsche, Pascal Gohl, Reto Gadient