Entwickler-Ecke
Delphi Tutorials - Schnelle Kollisionserkennung von konvexen Polygonen
F34r0fTh3D4rk - Do 29.03.07 18:17
Titel: Schnelle Kollisionserkennung von konvexen Polygonen
Schnelle Kollisionserkennung von konvexen Polygonen
mit dem Separating Axis Theorem
Einleitung
Das Separating Axis Theorem ermöglicht es, eine performante Kollision zwischen
zwei Polygonen oder einem Polygon und einem Kreis etc. zu implementieren.
Der Ansatz geht darauf zurück, dass zwei Polygone nicht kollidieren, wenn man eine
Gerade finden kann, die zwischen den beiden liegt, ohne eines der Polygone zu schneiden.
Dieses Verfahren ist deshalb so schnell, weil man nur eine bestimmte Anzahl Geraden
testen muss und man im besten Fall sehr schnell eine Achse findet, die die beiden Polygone trennt
(daher auch Separating
Axis Theorem).
Das Tutorial
Das Tutorial ist ab sofort unter folgender Adresse zu finden:
http://wiki.delphigl.com/index.php/Tutorial_Separating_Axis_Theorem
Dies habe ich deshalb gemacht, damit Grafiken und Quellcodes in sicheren Händen und somit dauerhaft und
beständig verfügbar sind.
Viel Spass damit!
mfg
matze - Do 29.03.07 19:49
mal ne ganz blöde Frage: meinst du echt konvexe Polygone oder meinst du komplexe ?
matze - Do 29.03.07 20:48
ahhhh... danke dir. Ich bin nun wieder ein bisschen schlauer :D
F34r0fTh3D4rk - Sa 31.03.07 16:09
wenn man sehr viele polygone hat, bzw generell sehr viele vertices, wäre es sinnvoll, für jedes polygon den kleinsten umschließenden kreis zu berechnen und dann erst zu prüfen, ob sich die kreise schneiden, bevor man das SAT einsetzt, denn kreiskollisionen zu berechnen geht deutlich schneller ;) das ist lediglich eine abfrage.
mfg
F34r0fTh3D4rk - Sa 22.09.07 10:35
UPDATE: Das Tutorial wurde nun offiziell auf DelphiGL.com veröffentlicht. Diese Version ist ein wenig überarbeitet und wird dort auch auf dem aktuellsten Stand gehalten, wenn erforderlich.
mfg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!