Нарисуйте прозрачные прямоугольники без области пересечения в Matlab

Я хотел бы нарисовать много прямоугольников в Matlab. Я знаю, что могу использовать команду «прямоугольник», чтобы нарисовать прямоугольник любой формы. Однако, когда есть два прямоугольника с пересечением, он по-прежнему показывает линии прямоугольников в области перекрытия введите здесь описание изображения

Есть ли способ рисовать без этих линий в области пересечения, как на следующем графике? Спасибо!

введите здесь описание изображения


person dinex    schedule 31.05.2017    source источник
comment
Я бы рекомендовал использовать PolygonClip для выполнения этой операции.   -  person Suever    schedule 31.05.2017
comment
Хитрое решение может состоять в том, чтобы найти пересечения и нарисовать прямоугольник с белой рамкой, покрывающий эту внутреннюю часть, а затем нарисовать черные точки на пересечениях.   -  person Zizy Archer    schedule 31.05.2017
comment
если вы можете найти все углы и точки пересечения и устранить углы, которые появляются внутри другого прямоугольника, вы можете использовать это: stackoverflow.com/ а/38679053/4183191   -  person Tasos Papastylianou    schedule 31.05.2017
comment
Пересадить? Вы имеете в виду прозрачный? если да, то мой ответ вам не поможет.   -  person M--    schedule 31.05.2017


Ответы (1)


Как я предполагаю, вы имеете в виду прозрачные, тогда это решение было бы желательным:

%set the coordinates of your t-shaped polygon considering order of plotting points:
x=[0 2 2 6 6 2 2 0 0];
y=[0 0 1 1 3 3 4 4 0];
plot(x,y)  % to plot polygon


Это будет вывод:

Т-образный многоугольник

person M--    schedule 31.05.2017