Implementazione di una sorta di sistema di navigazione

1

Quindi sto intraprendendo un progetto che fa qualcosa di navigazione. Ecco come appare la dichiarazione del problema.

Dire, data una mappa di un piano, con stanze diverse, ora in qualche modo, questa informazione è fornita al programma e ciò che fa il programma è, ci vogliono altri due ingressi,

La posizione di partenza. La posizione finale Ora che hanno avuto queste due posizioni, il programma disegna il percorso migliore possibile dall'inizio alla fine della posizione. Userò il linguaggio C per l'implementazione del codice.

Ora, i problemi:

  1. Come faccio a fornire le informazioni sul pavimento, vale a dire se c'è un muro o una porta o solo uno spazio vuoto, per il mio programma. Ecco la mia opinione su di esso. Avrò una matrice 2-D, dove nell'1 nella matrice mostra uno spazio vuoto e uno 0 indica un muro. Ma ora non sono sicuro, come contrassegnare una cella come 0. cioè come devono essere scelte le dimensioni della matrice? Ad esempio, supponiamo che il mio piano sia 8 per 8 (unità di lunghezza). Ora la mia matrice sarà 8 per 8 o 16 per 16 o cosa? E se, avendo scelto la dimensione di una singola cella, se una parte della cella è un muro e l'altra è uno spazio vuoto, deve essere uno 0 o un 1? Ma immagino, dopo tutto sarebbe un input manuale? Ma non mi aspetto che qualcuno possa creare questo tipo di matrice per me manualmente? Quindi, un aiuto in questa direzione sarà apprezzato? È questo modo di rappresentare i dati, oppure devo andare in una direzione diversa?
  2. Di ', se passo al modo sopra descritto di rappresentazione dei dati, cosa faccio dopo? Stavo pensando, in qualche modo, dovrò convertire quella matrice di dati in un grafico e dopo questo sarà un problema facile da affrontare. Non sono abbastanza sicuro, come lo farò, ma apprezzerò alcune fonti, in cui posso leggere qualcosa di simile.
  3. Ci sono altri suggerimenti, su cui andrò, per questo progetto?

PS: per navigazione intendo, dato il punto iniziale e finale e considerando che il punto di partenza è lo stesso della posizione corrente del dispositivo, deve spostarsi nella posizione finale da solo.

Grazie.

    
posta Kraken 23.01.2013 - 20:02
fonte

1 risposta

1

Per gli ambienti costruiti, probabilmente memorizzerai i muri come linee (ad esempio, memorizza le coordinate del punto finale). Quindi trovare una collisione è solo scoprire se la linea del tuo percorso attraversa una qualsiasi delle linee dei muri. Algoritmi per verificare se / dove le linee 2d si incrociano sono molto veloci e facili

    
risposta data 23.01.2013 - 20:20
fonte

Leggi altre domande sui tag