Это основная идея.
Я предполагаю, что проблема несколько более общая, но адаптировать ее к вашей проблеме будет намного проще: учитывая plan
, содержащий все фигуры, точку и набор геометрических фигур, мы хотим удалить из плана область, не видимую с этой точки.
Нам нужно получить для каждой фигуры starting_polar
и ending_polar
точек, которые являются 2 точками с минимальным и максимальным полярным углом, принадлежащим фигуре.
Теперь мы удалим из plan
фигуру и удалим quadrilateral
, образованный точками: starting_polar
, ending_polar
и пересечениями между двумя прямыми (x, starting_polar)
и (x, ending_polar)
и границы plan
.
В вашем случае план будет просто triangle
.