splitFV - split a mesh
FVOUT = SPLITFV(F,V) separates disconnected pieces inside a patch defined by faces (F) and
vertices (V). FVOUT is a structure array with fields "faces" and "vertices". Each element of
this array indicates a separately connected patch.
FVOUT = SPLITFV(FV) takes in FV as a structure with fields "faces" and "vertices"
For example:
fullpatch.vertices = [2 4; 2 8; 8 4; 8 0; 0 4; 2 6; 2 2; 4 2; 4 0; 5 2; 5 0];
fullpatch.faces = [1 2 3; 1 3 4; 5 6 1; 7 8 9; 11 10 4];
figure, subplot(2,1,1), patch(fullpatch,'facecolor','r'), title('Unsplit mesh');
splitpatch = splitFV(fullpatch);
colours = lines(length(splitpatch));
subplot(2,1,2), hold on, title('Split mesh');
for i=1:length(splitpatch)
patch(splitpatch(i),'facecolor',colours(i,:));
end
Note: faces and vertices should be defined such that faces sharing a coincident vertex reference
the same vertex number, rather than having a separate vertice defined for each face (yet at the
same vertex location). In other words, running the following command: size(unique(v,'rows') ==
size(v) should return TRUE. An explicit test for this has not been included in this function so
as to allow for the deliberate splitting of a mesh at a given location by simply duplicating
those vertices.
See also PATCH
Zitieren als
Sven (2026). splitFV - split a mesh (https://de.mathworks.com/matlabcentral/fileexchange/27667-splitfv-split-a-mesh), MATLAB Central File Exchange. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
| Version | Veröffentlicht | Versionshinweise | |
|---|---|---|---|
| 1.7.0.0 | Implemented Christopher's amendment to fix bug in following connectivity matrix. |
||
| 1.6.0.0 | Updated icon (thanks Tom Clark!) |
||
| 1.0.0.0 |
