Я работаю с d3 в Javascript.
Используя алгоритм Бентли-Оттмана, я определил все точки, в которых линии, наложенные на прямоугольник, пересекаются друг с другом, а также с границы. Теперь я хотел бы получить массив путей, которые я могу передать d3-многоугольнику, чтобы нарисовать наложение сверху.
Мне нужно найти уникальный набор полигонов, которые перекрывают этот прямоугольник с учетом точек. Вы заметите, что в моей предыдущей попытке мне удалось поставить «1» в центре всех многоугольников, за исключением случая, когда у меня есть две наклонные линии, пересекающие две вертикальные линии, где мой пользовательский алгоритм терпит неудачу.
Есть ли алгоритм, который уже выполняет это?