У меня есть 2D-рисунок с множеством прямых линий. Все эти линии математически известны. И они независимы от других.
Вы можете считать, что я знаю начальную и конечную точки каждой линии, и я могу заставить их пересекаться, чтобы найти все точки пересечения. (Подробно они есть в Autocad, но я могу работать только через код. Так что алгоритм мне нужен больше, чем решение Autocad, хотя решение Autocad тоже приветствуется).
Проблема в следующем: учитывая точку (где угодно), я хочу найти меньший многоугольник, который ее содержит. Этот многоугольник будет образован ближайшими линиями.
Подробности:
У меня нет заявленных полигонов. Просто линии. Любое количество строк, любой размер, любое положение. И заданная точка.
Эти линии могут образовывать один многоугольник, много или ни одного. Таким образом, нет никаких правил относительно того, как выглядят полигоны. Любое количество сторон, никакой регулярности. (Точки, образующие многоугольники, находятся путем пересечения линий. А линии конечны, если они не пересекаются, они не образуют многоугольник.)
Мой ответ — наименьший возможный многоугольник, содержащий заданную точку.