Polycut2

版本 1.1.0.0 (5.8 KB) 作者: Paul
Remove polygon holes by connecting contours and holes
80.0 次下载
更新时间 2015/10/13

查看许可证

POLYCUT2(lat,long) connects the contour and holes of polygons. In contrast to POLYCUT, POLYCUT2 finds an output polygon with smaller total contour length and avoids cases where the cuts interesect with the polygon contours.
Example:
% outer contour
ov = [0,0; 0,1; 2,1; 2,2; 0,2; 0,3; 3,3; 3,0];
% hole 1
iv1 = [0.5,0.3; 1.5,0.3; 1.5,0.7; 0.5,0.7];
% hole 2
iv2 = [0.5,2.3; 1.5,2.3; 1.5,2.7; 0.5,2.7];
v = [ov;nan(1,2);iv1;nan(1,2);iv2];
[v1(:,1),v1(:,2)] = polycut(v(:,1),v(:,2));
[v2(:,1),v2(:,2)] = polycut2(v(:,1),v(:,2));

% red is old method, blue is new one
figure;
line(v1(:,1),v1(:,2),'Color','red');
figure;
line(v2(:,1),v2(:,2),'Color','blue');

引用格式

Paul (2024). Polycut2 (https://www.mathworks.com/matlabcentral/fileexchange/53469-polycut2), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2015a
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.0

Fixed case with degenerate holes (< 2 vertices)

1.0.0.0