Mi dispiace, sto avendo molti problemi a dare una risposta a questa domanda.La migliore struttura dati per archiviare poligoni contigui?
Sono bloccato su quale struttura dati (o combinazione di strutture dati) dovrei usare per memorizzare un accordo di poligoni che si confondono l'un l'altro (come qualsiasi mappa del mondo reale).
Devo chiarire: quello che intendo fare è avere un punto che si muove a una velocità fissa attraverso una mappa (un paesaggio) di questi poligoni. L'intero paesaggio è coperto di poligoni: nessuno spazio è non classificato; ogni punto della mappa appartiene a qualche poligono. Ciò significa che tutti i poligoni delimitano, su tutti i lati, un altro poligono o il bordo della mappa. La mappa è limitata, ma idealmente, non dovrebbe importare quanto è grande la mappa o quanti poligoni sono rappresentati. Ogni poligono ha un nome (questo è significativo, poiché ogni punto ora appartiene ad almeno due poligoni nominati). Il punto che si muove attraverso la mappa dovrebbe sempre conoscere il nome del poligono in cui si trova, e il punto dovrebbe anche essere notificato ogni volta che attraversa un confine da un poligono a un altro. (se sono necessari altri chiarimenti, si prega di commentare.)
Esiste un modo accettato per farlo?
--EDIT--
I poligoni sono fissi. Tutti i punti e i bordi dovranno essere hard-coded in anticipo. I punti e gli spigoli non cambieranno mai in modo imprevedibile o casuale (se cambiano, sarà in risposta a un evento fisso poco frequente).
I poligoni sono stati fissati in anticipo? Quanto è grande la mappa? I poligoni possono cambiare? Inoltre, i poligoni sono necessariamente convessi? – templatetypedef
Se si tratta di un panorama in prima persona, si potrebbe voler guardare qualcosa come [questo approccio] (http: //www.hindawi.com/journals/ijcgt/2008/753584 /) – dwn
Può essere pensato come una mappa bidimensionale di poligoni. Inoltre non ha bisogno di essere rappresentato graficamente. Il punto ha solo bisogno di sapere dove le sue variabili di posizione xey lo dicono che è rispetto ai poligoni memorizzati. Mentre una rappresentazione grafica mi aiuterebbe come un umano a capire la simulazione, per quanto riguarda il punto, non dovrebbe essere necessario. – 13rave