2015-05-28 4 views
0

У меня возникли проблемы с вычислением разницы между двумя простыми многоугольниками.Clipperlib polygon разница проблема

Вот рисунок случае я испытывал, когда проблема появилась enter image description here

Красный многоугольник слева является предметом многоугольник Желтый многоугольник клип многоугольник Многоугольник на право является результат после использования клипера 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)

ответ

0

проблема решена (см ИЗМЕНИТЬ в предыдущее сообщение)