Einzelnen Beitrag anzeigen

Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#1

Viele Objekte - Movement / Kollision in 1 Schleife?

  Alt 11. Okt 2006, 21:05
Hi
Ich habe hier sehr viele Objekte (Partikel) die miteinander agieren sollen (sagen wir mal eine Art Kollision).
Nun habe ich also meine Prozedur für die Bewegung (Geschw.vektoren auf die Positionsvektoren addieren) und die für die Kollision mit einem anderem Partikel.
Das sieht in etwa so aus:

Delphi-Quellcode:
for i:=0 to NumberOfParticles do
     ParticleList[i].DoMove;
for i:=0 to NumberOfParticles do
begin
     for j:=0 to NumberOfParticles do
     begin
          if i<>j then
               ParticleList[i].DoCollision(ParticleList[j]);
     end;
end;
(Nur sinngemäß kurz getippt).

Wie man sieht habe ich 2 Schleifen.
Warum? Nunja...ich muss zuerst die Bewegung aller Partikel ausrechnen und dann die Kollision, sonst sieht das Ganze leicht seltsam aus.

Gibt es trotzdem eine Möglichkeit 2 Schleifen zu umgehen? (Ich ahne dass das in einem Bereich einer gewissen Anzahl zu langsam wird)

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat