У меня возникли проблемы с вычислением разницы между двумя простыми многоугольниками.Clipperlib polygon разница проблема
Вот рисунок случае я испытывал, когда проблема появилась
Красный многоугольник слева является предметом многоугольник Желтый многоугольник клип многоугольник Многоугольник на право является результат после использования клипера lib polygon разница.
Вместо того, чтобы иметь 2 квадрата (красные квадраты на средней форме), у меня есть это (красный многоугольник справа). Я тестировал операцию пересечения, и это дает мне желтый полигон, который отлично подходит для проблем с пересечением. Я также тестировал операцию XOR, выход которой должен быть таким же, как разница в этом конкретном случае, и на самом деле это тот же (неправильный) вывод.
Кто-нибудь испытал это?
РЕДАКТИРОВАТЬ: Ок, на самом деле выходной полилит содержит 1 полинод с контуром 8 точек. В этом контуре дважды появляется точка (2,2). входе в контур ниже: (2,2) (3,2) (3,3) (2,3) (2,2) (1,2) (1,1) (2,1)
Так что я думаю, что это нормально, и я могу обрабатывать выходные данные нарисовать 2 квадрата, изменив мой метод рисования (например, с помощью метода ClipperLib SimplifyPolygon)