In questo momento sto usando l'algoritmo di linea di Bresenham per la linea di vista. Il problema è che ho trovato un caso limite in cui i giocatori possono guardare attraverso i muri. Si verifica quando il giocatore guarda tra due angoli di un muro con uno spazio sull'altro lato con angoli specifici.
Il risultato che voglio è che la piastrella tra due pareti sia contrassegnata come non valida.
Qual è il modo più veloce per modificare l'algoritmo di linea di Bresenham per risolverlo? Se non esiste una buona soluzione, esiste un algoritmo più adatto? Tutte le idee sono benvenute. Si noti che la soluzione dovrebbe anche essere in grado di supportare 3d.
Modifica: la mia semplice soluzione era quella di verificare se entrambi gli angoli sono chiusi quando cambiano le coordinate xey di una linea. Per il codice sorgente funzionante e una demo interattiva del prodotto completato, consultare http://ashblue.github.io/javascript-pathfinding/