exponenta event banner

freeBoundary

Класс: TriRep

(Не рекомендуемый), на Фасеты ссылается только один симплекс

Примечание

freeBoundary(TriRep) не рекомендуется. Используйте freeBoundary(triangulation) вместо этого.

TriRep не рекомендуется. Использование триангуляции вместо этого.

Синтаксис

FF = freeBoundary(TR)
[FF XF] = freeBoundary(TR)

Описание

FF = freeBoundary(TR) возвращает матричный FF, который представляет свободные граничные фасеты триангуляции. Фасет находится на свободном контуре, если на это ссылается только один симплекс (треугольник/четырехгранник, и т.д.). FF имеет размер m-by-n, где m является количеством граничных фасетов, и n является количеством вершин на фасет. Вершины индекса фасетов в массив точек, представляющих вершину, координируют TR.X. Массив FF мог быть пустым как в случае треугольной mesh, представляющей поверхность сферы.

[FF XF] = freeBoundary(TR) возвращает матрицу свободных граничных фасетов

Входные параметры

TRПредставление триангуляции.

Выходные аргументы

FF FF, которому задали вершины с точки зрения компактного массива координат XF.
XFXF имеет размер m-by-ndim, где m является количеством свободных фасетов, и ndim является размерностью пробела, где триангуляция находится

Примеры

Пример 1

Используйте TriRep, чтобы вычислить граничную триангуляцию импортированной триангуляции.

Загрузите 3-D триангуляцию:

load tetmesh;
trep = TriRep(tet, X);

Вычислите граничную триангуляцию:

 [tri xf] = freeBoundary(trep);

Постройте граничную триангуляцию:

trisurf(tri, xf(:,1),xf(:,2),xf(:,3), ...
     'FaceColor','cyan', 'FaceAlpha', 0.8);

Пример 2

Выполните прямой запрос 2D триангуляции, созданной с DelaunayTri.

Постройте mesh:

 x = rand(20,1);
 y = rand(20,1);
 dt = DelaunayTri(x,y);
 fe = freeBoundary(dt)';
 triplot(dt);
 hold on;

Отобразите свободные граничные ребра красного цвета:

plot(x(fe), y(fe), '-r', 'LineWidth',2) ; 
hold off;

В этом экземпляре свободные ребра соответствуют выпуклой оболочке (x, y).

Больше о

развернуть все