In einem meiner Projekte habe ich einen Spielbereich in Form eines Kreises. Innerhalb dieses Kreises bewegt sich ein weiterer kleiner Kreis. Ich möchte verhindern, dass sich der kleine Kreis außerhalb des größeren Kreises bewegt. Unten sehen Sie, dass sich in Bild 2 der kleine Kreis teilweise außerhalb befindet. Ich brauche eine Möglichkeit, ihn zurück zu verschieben, kurz bevor er sich nach außen bewegt. Wie kann das gemacht werden?
Außerdem benötige ich den Kollisionspunkt entlang des Bogens des großen Kreises, damit ich die Geschwindigkeit des kleinen Kreises aktualisieren kann. Wie würde man diesen Punkt berechnen?
Bevor ich den kleinen Kreis bewege, sage ich seine nächste Position voraus und wenn er außerhalb liegt, finde ich die Kollisionszeit zwischen t = 0 und t = 1 (t = 1 Vollzeitschritt). Wenn ich die Kollisionszeit t habe, bewege ich einfach den kleinen Kreis während t anstelle eines Vollzeitschritts. Aber auch hier ist das Problem, dass ich nicht weiß, wie ich zu diesem Zeitpunkt die Kollision erkennen kann, wenn es um zwei Kreise geht und einer im anderen liegt.
BEARBEITEN:
Beispiel für einen Kollisionspunkt (grün), den ich finden möchte. Vielleicht ist das Bild ein bisschen anders, aber Sie haben die Idee.