image thumbnail

Remove Unconnected Triangle

version 1.0.0.0 (3.93 KB) by David Gingras
This function takes a triangular mesh and remove the unconnected cells.

1.3K Downloads

Updated 25 Nov 2009

View License

This function takes a triangulation and remove the unconnected cells. The group of cells to keep can be specified with an index of triangle contained in this group. If no triangle index is specified, the filter will keep the group with the maximum number of cells.

Input :
"XYZ1" is nx3 matrix which are vertices coordinates
"TRI1" is mx3 matrix which are the standard indexes vertices "triID" is a triangle index of "TRI1" contained on the group of cells to keep. (optionnal)

Output :
"XYZ2" is px3 matrix which are vertices coordinates of output
"TRI2" is qx3 matrix which are the standard indexes of vertices

Simple example :

X=[2 1 3 2 5 5 8 6 7 5 8 9 10 12 10 12 13 15 1 0 2 1];
Y=[2 4 4 6 6 8 8 4 2 2 4 6 8 7 5 5 3 2 7 8 8 9];
Z=zeros(size(X));
TRI=[1 2 3;2 4 3;4 3 5;5 6 7;10 8 9;8 9 11;12 13 14;15 16 17;17 16 18;4 6 5;20 19 21;22 21 20];
[TRI2 XYZ2]=removeUnconnectedTri(TRI,[X' Y' Z']);

subplot(2,1,1)
trisurf(TRI,X,Y,Z), title('Before filter')
axis([min(X) max(X) min(Y) max(Y)]);
campos([7.5 6 10])
camtarget([7.5 6 0])
subplot(2,1,2)
trisurf(TRI2,XYZ2(:,1),XYZ2(:,2),XYZ2(:,3)), title('After filter')
axis([min(X) max(X) min(Y) max(Y)]);
campos([7.5 6 10])
camtarget([7.5 6 0])

Cite As

David Gingras (2021). Remove Unconnected Triangle (https://www.mathworks.com/matlabcentral/fileexchange/25953-remove-unconnected-triangle), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!