2012-05-08 15 views
9

Il problema che sto affrontando è la seguente:Hai bisogno di un consiglio di un quadro per il percorso sulla mappa convalida

Dati due poligoni che definiscono i confini di un labirinto e un percorso in mezzo (vedi foto sotto), vorrei sapere quando ho varcato i confini del labirinto.

Rispetto agli ingressi ho:

  • un file bordi che definiscono i due poligoni (solo i punti che collegano linee rette)
  • Un file con tutte le tappe che avevo visitato, nella ordine di apparizione

Ho bisogno di calcolare un punteggio per quel percorso in base alla quantità di tempo trascorso nella zona riservata.

Qual è il modo migliore per farlo? (Algorithm/Technology/Library) Non ho restrizioni tecnologiche quindi la soluzione può essere qualsiasi, ad esempio Java, C, Perl (questo è il mio preferito), ecc.

Ho iniziato a lavorare su una soluzione, ma poi ho capito questo problema deve essere stato risolto milioni di volte in passato e non c'è ragione per "reinventare la ruota" :)

Sono nuovo al tipo di problemi di tipo Geografico/Geometrico, e sarei molto grato di qualsiasi consiglio su quale approccio dovrei prendere .

Acclamazioni

example map

risposta

5

Questa è una Point in polygon

  1. Crea un elenco di poligoni da "un file bordi che definiscono i due poligoni (solo i punti che collegano le linee rette)"
  2. Applica point_in_polygon() (perl implementation, il tuo preferito) per ogni "waypoint che avevo visitato"
+0

benvenuto in SO! grazie per la risposta acuta - funziona come un fascino! – aviad

Problemi correlati