Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

featureEdges

Class: TriRep

(Not recommended) Sharp edges of surface triangulation

Syntax

FE = featureEdges(TR, filterangle)

Description

FE = featureEdges(TR, filterangle) returns an edge matrix FE. This method is typically used to extract the sharp edges in the surface mesh for the purpose of display. Edges that are shared by only one triangle and edges that are shared by more than two triangles are considered to be feature edges by default.

    Note:   This query is only applicable to triangular surface meshes.

Input Arguments

TRTriangulation representation.
filterangleThe threshold angle in radians. Must be in the range (0,π). featureEdges will return adjacent triangles that have a dihedral angle that deviates from π by an angle greater than filterangle.

Output Arguments

FEEdges of the triangulation. FE is of size m-by-2 where m is the number of computed feature edges in the mesh. The vertices of the edges index into the array of points representing the vertex coordinates, TR.X.

Examples

Create a surface triangulation:

x = [0 0 0 0 0 3 3 3 3 3 3 6 6 6 6 6 9 9 9 9 9 9]';
y = [0 2 4 6 8 0 1 3 5 7 8 0 2 4 6 8 0 1 3 5 7 8]';
dt = DelaunayTri(x,y);
tri = dt(:,:);

Elevate the 2-D mesh to create a surface:

z = [0 0 0 0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0]';
subplot(1,2,1);
trisurf(tri,x,y,z, 'FaceColor', 'cyan'); 
axis equal;
% TRISURF display of surface mesh
% showing mesh edges

Compute the feature edges using a filter angle of pi/6:

tr = TriRep(tri, x,y,z);
fe = featureEdges(tr,pi/6)';
subplot(1,2,2);
trisurf(tr, 'FaceColor', 'cyan', 'EdgeColor','none', ...
     'FaceAlpha', 0.8); axis equal;

Add the feature edges to the plot:

hold on; 
plot3(x(fe), y(fe), z(fe), 'k', 'LineWidth',1.5); 
hold off;
% TRISURF display of surface mesh
% suppressing mesh edges
% and showing feature edges

Was this topic helpful?