Найти все непересекающиеся многоугольники по заданному набору точек (d3 и Javascript) - PullRequest
0 голосов
/ 12 апреля 2020

Я работаю с d3 в Javascript.

Используя алгоритм Бентли-Оттмана, я определил все точки, в которых линии, наложенные на прямоугольник, пересекаются друг с другом, а также с границы. Теперь я хотел бы получить массив путей, которые я могу передать d3-многоугольнику, чтобы нарисовать наложение сверху.

Мне нужно найти уникальный набор полигонов, которые перекрывают этот прямоугольник с учетом точек. Вы заметите, что в моей предыдущей попытке мне удалось поставить «1» в центре всех многоугольников, за исключением случая, когда у меня есть две наклонные линии, пересекающие две вертикальные линии, где мой пользовательский алгоритм терпит неудачу.

Есть ли алгоритм, который уже выполняет это?

Red dots are vertexes of polygons

...