Я реализую инкрементный CH 3D на С++ с помощью qt, но не могу решить эту проблему:
Я должен найти горизонт обзора заданной точки:
У меня есть карта со списком всех видимых граней данной точки "pr", но я не знаю, как получить только горизонт без изменения сложности алгоритма (это O(nlogn)).
Моя идея заключалась в следующем: для всех видимых ребер граней проверить, видна ли падающая грань близнеца или нет. Если его не видно, то добавьте его в список границ горизонта, но это изменяет сложность алгоритма (я думаю).
Обратите внимание, что у меня есть еще один список, где у меня есть набор всех точек, которые могут просматривать данное лицо (возможно, это поможет).
Заранее спасибо