Folgendes Problem:
Bei meiner Wegsuche unterteile ich die sehr große Karte in kleinere Rechteckige Teile
Da die Karte in Gebiete unterteil ist, die durch teleporter verbunden sind, klappt das recht gut
das problem: ich hab 2 verschachtelte gebiete:
jetzt komme ich mit meinen schönen rechtecken nicht mehr hin und es ergeben sich einige probleme:
1) ich muss wege auf validität überprüfen: sprich: schneidet eine streck den rand des gebiets. wenn ja->fehler da weg außerhalb gebiet (u.U. Wasser)
wie kann ich das machen?
2) ich muss wissen, ob ein rechteck (ganz oder teilweise) in dem gebiet liegt
3) ich muss für eine beliebige strecke die schnittpunkt mit den ausrenrändern des gebietes ermitteln
meine idee war, statt eines TRect für die gebietsbezeichnung ein array of Trect zu nehmen
dann kann ich für 1) & 3) jeweils die schnittpunkte mit den außenrändern überprüfen und fertig
und bei 2) kann ich einfach die rectangle collisionsprüfung für alle rechtecke des gebietes ausführen (summe breiten/h.<=breite/h. umschließendes rechteck)
Problem: wie bekomme ich raus, was von den rechtecken der außenrand ist? ist ja manchmal sogar nur ein teil einer strecke
vl stattdessen ein polygon nehmen (array of TPoint)?
wie mach ich dann aber 2)?