Forum: Object-Pascal / Delphi-Language
Delphi
by jfheins,
8. Mai 2007
Könnte es sein, dass ich den Bug entfernt habe, indem ich die Kollisionserkennung aus der Schleife rausgenommen habe?
Also so nach dem Motto dass vorher die Kollision zweimal erkannt wurde und folglich die Geschwindigkeitsvektoren doppelt vertauscht wurden - also im Endeffekt gleich blieben, womit es so aussah, als wenn keine Kollision stattgefunden hätte?
Forum: Object-Pascal / Delphi-Language
Delphi
by jfheins,
8. Mai 2007
Also ich hab jetzt mal ein bisschen am Code geändert, und es funktioniert - glaube ich ;)
u solltest allerdings beachten, dass diese art der Simulation nicht sehr realistisch ist - deine Formel für die Geschwindigkeitsäderung gillt nur, wenn die beiden Bälle sich direkt treffen ... wenn sie sich streifen, also gerade berühren, dann wirkt das doch etwas komisch ... :stupid:
Der neue Code...
Forum: Object-Pascal / Delphi-Language
Delphi
by jfheins,
8. Mai 2007
Kannst du das Problem noch irgendwie einschränken?
Also z.B. ob der Bug/das Problem in der Kollisionserkennung, oder in der Handhabung liegt ...
Ausserdem: wenn mich nicht alles täuscht, prüfst du sogar ein bisschen zuviel - du brauchst pro Zyklus nur 0.5n*(n+1) oder so ... Überprüfungen (mit sqrt(sqr+sqr)) nicht n² oder mehr, wie du es machst ...