Obecnie używam algorytmu liniowego Bresenhama dla linii wzroku. Problem polega na tym, że znalazłem przypadek, w którym gracze mogą patrzeć przez ściany. Występuje, gdy gracz patrzy między dwoma rogami ściany ze szczeliną po drugiej stronie pod określonymi kątami.
Chcę, aby kafelek między dwiema ścianami został oznaczony jako nieprawidłowy.
Jaki jest najszybszy sposób modyfikacji algorytmu linii Bresenhama, aby rozwiązać ten problem? Jeśli nie ma dobrego rozwiązania, czy istnieje lepszy algorytm? Wszelkie pomysły są mile widziane. Pamiętaj, że rozwiązanie powinno także obsługiwać technologię 3d.
Edycja: Moim prostym rozwiązaniem było sprawdzenie, czy oba rogi są zamknięte, gdy zmienią się współrzędne xiy linii. Działający kod źródłowy i interaktywne demo ukończonego produktu można znaleźć na stronie http://ashblue.github.io/javascript-pathfinding/