Kugel Kollision java /blueJ?

1 Antwort

Die Kollision zweier Kugeln ist an sich ganz einfach. Du berechnest den Abstand der Mittelpunkte der Kugeln zueinander und schaust, ob der Größer als die addierten Radii ist.

Wenn nicht, dann kollidieren die Kugeln.

Brinki2007 
Fragesteller
 11.05.2023, 07:10

Ja ich weiß..aber das ist leider nicht so schön. Es soll ja abprallen, sobald der Rand berührt wird

1
Destranix  11.05.2023, 07:21
@Brinki2007

Üblicherweise macht man es so. Man rechnet ja zumeist sowieso Zeitschritt für Zeitschritt, da fällt das nicht auf. Und in der Natur würden sich Gegenstände ja leicht verforem bevor sie abprallen, somit auch leicht überlappen bevor sie auseinandergehen.

Wenn du möchtest, dass es nicht zu einer Durchquerung des Randes kommt, dann müsstest du entweder den Zeitschritt anpassen (so, dass eine Kugel sich im nächstem Zeitschritt bei ihrer aktuellen Geschwindigkeit maximal bis zum Rand bewegen kann) oder ein komplexeres Gleichungssystem lösen (was echt kompliziert wird, da du Differentialgleichungen höherer Ordnung hast).

0