Pathfinding innerhalb konkaven Polygon

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Ratchet

Betreff: Pathfinding innerhalb konkaven Polygon

BeitragSo, Okt 19, 2008 11:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde gerne den Weg von einem Punkt zum anderen innerhalb eines konkaven Polygons herrausfinden. Meine einzige Idee wie man es machen könnte wäre ein normales Pathfinding zu nutzen (im Moment nutze ich das von TheShadow/BlitzBase) indem man das Polygon Pixel für Pixel als Gitter abbildet, zB als Array. Allerdings erscheint mir das als nicht sehr elegant. Wenn ich zB eine große Bildschirmauflösung habe und die meisten Bereiche meiner Szene vom Spieler begehbar sein sollen wäre mein Array ja riesig und ob das dann noch performant ist...
Im Moment ist es auch so dass eine Zelle meines Gitters für die Pfadfindung 8x8 Pixel groß ist. Das könnte man zwar auch dann beim Polygon so machen, ist mir aber zu ungenau.
Hat jemand von euch eventuell eine geniale Idee?
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro]

BladeRunner

Moderator

BeitragSo, Okt 19, 2008 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Zerleg dein Polygon in einzelne Dreiecke, setzt deren Mittelpunkt als Wegpunkt fürs Pathfinding und hangel dich von Tri zu Tri. (Benachbarte Tris sind an 2 gemeinsamen Punkten zu erkennen).
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Ratchet

BeitragMo, Okt 20, 2008 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich dich richtig verstehe habe ich dann bei einem Viereck nur zwei Wegpunkte? Ein "bischen" ungenau oder? Laughing
Außerdem möchte ich mich ja nicht nur von Mittelpunkt zu Mittelpunkt der einzelnen Dreiecke (rote Punkte) bewegen können, sondern Pixelgenau von A nach B (gelbe Linie)

user posted image
Klick mich

Goodjee

BeitragMo, Okt 20, 2008 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
erstell in den poligonen dreiecke, die so weit vom rand entfernt sind wie der spieler breit ist und setz deren eckpunkte als waypoints...meiner meinung nach sollte es dann gehn
du kannst natürlich nich nur zum nächsten waypoint gehen sondern zu allen die keine massiven linien( seiten von dreiecken) shcneiden)
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

BladeRunner

Moderator

BeitragDi, Okt 21, 2008 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Jop, es ist 'ungenau'. Du sagtest jedoch in deiner Anfrage nicht wie genau du es gerne gehabt hättest, und mein Ansatz ist simpel und schnell. Wenn du es noch genauer brauchst könntest du theoretisch noch die entstehenden tris ihrerseits in 4 kleinere Tris zerlegen ( der vierte Punkt wäre der Mittelpunkt des Dreieckes) und dann darüber Astar laufen lassen, dieses Spiel lässt sich auch nahezu beliebig wiederholen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Ratchet

BeitragMi, Okt 22, 2008 9:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Idee mit dem zerlegen der Dreiecke in weitere kleinere hört sich interessant an. Ich werde mal damit rumspielen. Dankeschön.
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro]

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group