Прямо сейчас я использую линейный алгоритм Брезенхэма для прямой видимости. Проблема в том, что я нашел крайний случай, когда игроки могут смотреть сквозь стены. Происходит, когда игрок смотрит между двумя углами стены с зазором на другой стороне под определенными углами.
В результате я хочу, чтобы плитка между двумя стенами была помечена как недопустимая.
Какой самый быстрый способ изменить линейный алгоритм Брезенхэма, чтобы решить эту проблему? Если нет хорошего решения, есть ли лучший подходящий алгоритм? Любые идеи приветствуются. Обратите внимание, что решение также должно поддерживать 3d.
Редактировать: Моим простым решением было проверить, закрыты ли оба угла при изменении координат x и y линии. Рабочий исходный код и интерактивную демонстрацию готового продукта см. По адресу http://ashblue.github.io/javascript-pathfinding/.