Класс: TriRep
(Не рекомендуемый) Резкий край поверхностной триангуляции
featureEdges(TriRep) не рекомендуется. Используйте featureEdges(triangulation) вместо этого.
TriRep не рекомендуется. Использование триангуляции вместо этого.
FE = featureEdges(TR, filterangle)
FE = featureEdges(TR, filterangle) возвращает матрицу ребра FE. Этот метод обычно используется, чтобы извлечь резкий край в поверхностной mesh в целях отображения. Ребра, которые совместно используются только одним треугольником и ребрами, которые совместно используются больше чем двумя треугольниками, считаются ребрами функции по умолчанию.
Этот запрос только применим к треугольным поверхностным сеткам.
TR | Представление триангуляции. |
filterangle | Пороговый угол в радианах. Должен быть в области значений . featureEdges возвратит смежные треугольники, которые имеют двугранный угол, который отклоняется от π углом, больше, чем filterangle. |
FE | Ребра триангуляции. FE имеет размер m-by-2, где m является количеством вычисленных ребер функции в mesh. Вершины ребер индексируют в массив точек, представляющих координаты вершины, TR.X. |
Создайте поверхностную триангуляцию:
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(:,:);
Поднимите 2D mesh, чтобы создать поверхность:
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
Вычислите ребра функции с помощью угла фильтра 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;
Добавьте ребра функции в график:
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
