AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Aufwandsanalyse für Kollisionserkennung
Thema durchsuchen
Ansicht
Themen-Optionen

Aufwandsanalyse für Kollisionserkennung

Ein Thema von Nikolas · begonnen am 10. Jul 2007 · letzter Beitrag vom 11. Jul 2007
 
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: Aufwandsanalyse für Kollisionserkennung

  Alt 11. Jul 2007, 12:15
Ich habe jetzt zugegeben nicht versucht, deinen Algorithmus bis ins letzte Detail zu verstehen. Aber folgendes als Denkanregung:
Du kannst die Anzahl der benötigten Vergleiche reduzieren, indem du eine Achsensortierung vornimmst. Für die Kollisionsprüfung gehst du all deine Objekte also nicht in einer beliebigen Reihenfolge durch, sondern von links nach rechts und von oben nach unten (oder so in der Art). Ehrlich gesagt krieg ich den Algorithmus aus dem Kopf derzeit nicht auf die Reihe und finde ihn auch nicht (er war glaub ich in einem Buch zu finden, aber ich ziehe demnächst um und die Bücher sind in irgendwelchen Kartons ), aber sinngemäß kann man dadurch schnell ableiten, für welche Objekte eine Kollisionsprüfung überhaupt nicht erforderlich ist. Also wenn zum Beispiel auf der X-Achse Objekt 1 und 2 sich nicht überschneiden, kann sich Objekt 3 auch unmöglich mit Objekt 1 überschneiden.

Edit: Dir ging es eventuell weniger um die Kollisionen an sich als mehr um die Konsequenzen von Kollisionen auf spätere Kollisionen, richtig? Eventuell ist es dann möglich, innerhalb eines Frames die Kollisionen zeitlich nacheinander zu betrachten. Ein Frame-Skipping-Algorithmus kann dir helfen, die Granularität der Prüfung genau genug zu machen, damit du innerhalb eines Frames keine zwei aufeinanderfolgenden Kollisionen hast (schnelle Schüsse stellen da ein Problem da, wie von dir bereits erkannt). Ich sitze natürlich gerade auf der Arbeit und habe nicht genug Zeit, mir abschließend dazu genug Gedanken zu machen, aber ich denk bei Gelegenheit nochmal drüber nach

Dein Spiel wird bestimmt cool
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz