Hallo ActiviT,
Aber ich kann doch gar nicht wissen, wann eine Kollision stattfinden wird. Es kann doch passieren, dass eine Kugel A 10 Wegeinheiten zurückgelegt. Eigentlich würde Kugel A die Kugel B gar nicht treffen. Nun kommt aber Kugel C ins Spiel, die Kugel B in ihrer Richtung verändert.
Kugel C kommt ja nicht aus dem nichts, die hatte vorher schon eine Geschwindigkeit und eine Richtung. Du würdest also berechnen, dass das nächste Ereignis ist, dass Kugel C Kugel B trifft. Nun würdest Du diesen Zeitpunkt ausrechnen. Danach würdest Du feststellen, dass jetzt als nächstes Kugel B Kugel A trifft usw.
Du kannst nicht alle Kollisionen voraus berechnen, sondern nur die nächste, das reicht aber um zu wissen, dass Du keine Kollisionen "bersiehst".
Innerhalb desselben Zeitabschnitts, kracht Kugel B also gegen Kugel A, obwohl es in einem Schleifendurchlauf vorher noch gar nicht so ausgesehen hat.
Eben das ist der Punkt, es gibt keine fixen Zeitabschnitte in diesem Ansatz. Der Zeitabschnitt wird immer so gewählt, dass er gerade bis zur nächsten Kollision reicht.
Elliptische Kurven kann es bei mir doch genauso geben. Da müsste ich ja alles vorberechnen.
Nuja irgendwann brauchst Du dann natürlich Numerik, um die Schnittpunkte der Bahnen zu berechnen. Aber bist Du Dir sicher, dass Du so etwas brauchst. Willst Du irgendwie angedrehte Kugeln simulieren? ;-)
Aber auch für nahezu beliebige Kurven dürfte das machbar sein. Du musst eben die Bahnen der Kugeln berechnen können (so oder so), diese Bahnen schneiden (geht mit numerischen Verfahren problemlos, so hässlich werden die Kurven sowieso nicht sein) und dann berechnen, ob sich die Kugeln irgendwo zur gleichen Zeit auf dem Schnittbereich der Bahnen befinden (auch kein Problem). Um das zu machen brauchst Du aber wirklich erstmal ziemlich Grundlagen in Mathematik und Numerik.
Für Dein Spieleszenario brauchst Du das aber eigentlich alles nicht. Spielfiguren laufen ja eigentlich immer nur gerade aus (Ausnahme wohl Rennspiele). Das mag nicht so erscheinen, wenn man sehr oft die Richtung ändert, aber die Prognose funktioniert natürlich nur bis zu dieser Richtungsänderung. So bald eine KI oder ein Benutzer irgend welche Ereignisse auslöst (z.B. Richtungsänderung) musst Du natürlich den Systemzustand für dieses Ereignis berechnen.
Grüße
Daniel