我想绘制一个包含多个孔的多边形,如下所示:
P = [
0.5, 0.8;
1.0, 0.0; % outer boundary
0.0, 0.0;
0.5, 0.8;
%{
%}
0.5, 0.3;
0.3, 0.1; % inner boundary I
0.7, 0.1; % (hole)
0.5, 0.3;
%{
%}
0.5, 0.6;
0.3, 0.4; % inner boundary II
0.7, 0.4; % (hole)
0.5, 0.6;
];
figure, clf, hold on
patch(P(:,1),P(:,2), 'r', 'linestyle', 'none')
然而
patch
没有像我预期的那样工作。当我将最后一个洞改为这个洞时:
% ...
0.45, 0.6; % <- slightly offset in X-direction
0.3, 0.4;
0.7, 0.4;
0.45, 0.6; % <- slightly offset in X-direction
% ...
这种技术可以很好地用于单个孔,但我也可以将相同的技术应用于多个孔吗?还是我必须像图中所示那样将其拆分
here
?
注释
:最终,我将在3D空间中绘制数百个(可能部分透明)多边形,我希望能够“透过”这些孔。因此,具有“白色覆盖”多边形的解决方案不是我想要的。