Polycut2

Version 1.1.0.0 (5,82 KB) von Paul
Remove polygon holes by connecting contours and holes
82 Downloads
Aktualisiert 13. Okt 2015

Lizenz anzeigen

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');

Zitieren als

Paul (2025). Polycut2 (https://www.mathworks.com/matlabcentral/fileexchange/53469-polycut2), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2015a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Veröffentlicht Versionshinweise
1.1.0.0

Fixed case with degenerate holes (< 2 vertices)

1.0.0.0