# Umsetzung von einem Partikelsystem



## frostbyte (10. Aug 2008)

Hallo,

Ich möchte gerne eine Simulation programmieren, in der viele Gummibälle in einer Kiste herumhüpfen. Dabei sollen die Bälle einmal von den Wänden abprallen, das bekomme ich noch hin. Wie schaffe ich es aber, dass die Bälle auch voneinander abprallen?

Ich hatte gedacht, man könnte den Abstand von jedem zu jeden Ball ausrechnen und dann feststellen, ob es zu einer Kollision gekommen ist. Die Formeln für die Geschwindigkeiten nach dem Aufprall habe ich in einem Physikbuch, das bekomme ich vielleicht noch selber hin.

Ich habe versucht meine Idee mit der Kollisionsprüfung zu testen, das ist aber wirklich grottenlangsam. Gibt es vielleicht bessere Ansätze dafür?

Besten Dank,

Arthur Dent


----------



## Kim Stebel (10. Aug 2008)

warum das bei dir so langsam läuft lässt sich ohne details zur implementierung/sourcecode nicht sagen
guck dir doch mal http://en.wikipedia.org/wiki/Collision_checking an. vor allem was da unter optimization steht. wenn du für jedes paar von bällen prüfst, ob sie kollidieren, bekommst du ne komplexität von O(n²).


----------



## Gast (10. Aug 2008)

Vielen Dank für den Link, das ließt sich sehr gut, allerdings glaube ich, dass ich das nicht so einfach umsetzen kann.

Letztendlich prüfe ich jedes mögliche Paar, bei kleinen Mengen geht das noch gut, nur bei größeren haut dann O(n^2) die Bremse rein.


----------



## Kim Stebel (10. Aug 2008)

tja das konzept wirst du wohl ändern müssen...


----------



## Quaxli (11. Aug 2008)

Wie groß sind den "größere Mengen"?


----------

