Получить неперекрывающуюся область двух прямоугольников - PullRequest
1 голос
/ 13 июня 2011

Как я могу получить «Полигон» или «Регион» области неперекрывающихся областей двух прямоугольников.

Как (AB), где «A» и «B» - прямоугольники.Мы можем легко получить пересекающийся прямоугольник, используя метод Rectangle.Intersect, но я хочу, чтобы часть прямоугольника не была обычной.

Спасибо

Ответы [ 2 ]

2 голосов
/ 13 июня 2011
Rectangle a, b;

var region = new Region(a);
region.Exclude(b);

Region.Exclude (прямоугольник) метод

2 голосов
/ 13 июня 2011

Вы можете получить пересечение двух прямоугольников, используя Intersect. Это означает, что вы можете получить площадь пересечения. Итак, возьмите площадь пересечения, умноженную на два (умноженную на два, потому что она занимает одну и ту же область по обоим прямоугольникам), и вычтите ее из суммы общей площади двух прямоугольников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...