alphaTriangulation

Триангуляция, которая заполняет альфа-форму

Синтаксис

tri = alphaTriangulation(shp)
tri = alphaTriangulation(shp,RegionID)
[tri,P] = alphaTriangulation(___)

Описание

пример

tri = alphaTriangulation(shp) возвращает триангуляцию, которая задает область альфа-формы. Каждая строка в tri задает треугольник или четырехгранник, заданный идентификаторами вершины (номера строк матрицы shp.Points).

tri = alphaTriangulation(shp,RegionID) возвращает триангуляцию для области альфа-формы. RegionID является ID для области и 1RegionIDnumRegions(shp).

[tri,P] = alphaTriangulation(___) также возвращает матрицу координат вершины, P, с помощью любого из предыдущих синтаксисов.

Примеры

свернуть все

Создайте набор 3-D точек.

[x1, y1, z1] = sphere(24);
x1 = x1(:);
y1 = y1(:);
z1 = z1(:);
x2 = x1+5;
P = [x1 y1 z1; x2 y1 z1];
P = unique(P,'rows');

Создайте и постройте альфа-форму для облака точек с помощью альфа-радиуса 1.

shp = alphaShape(P,1);
plot(shp)

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

tri = alphaTriangulation(shp);

Найдите общее количество тетраэдров, которые составляют альфа-форму.

numtetrahedra = size(tri,1)
numtetrahedra = 3729

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

свернуть все

Альфа-форма, заданная как объект alphaShape. Для получения дополнительной информации смотрите alphaShape.

Пример: shp = alphaShape(x,y) создает 2D объект alphaShape из координат точки (x,y).

Идентификационный номер для области в альфа-форме, заданной как положительный целочисленный скаляр между 1 и numRegions(shp).

Альфа-форма может содержать несколько меньших областей, в зависимости от набора точки и параметров. Каждая из этих меньших областей присвоена уникальный RegionID, который нумерует области от самой большой области или объема к самому маленькому. Например, рассмотрите 3-D альфа-форму с двумя областями. Область с самым большим объемом имеет RegionID 1, и меньшая область имеет RegionID 2.

Пример: shp.RegionThreshold = area(shp,numRegions(shp)-2); подавляет две самых маленьких области в 2D альфа-форме shp.

Типы данных: double

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

свернуть все

Триангуляция, возвращенная как матрица. tri имеет размер mtri-by-nv, где mtri является количеством треугольников или тетраэдров в альфа-форме, и nv является количеством вершин. Значением nv является 3 для 2D альфа-форм и 4 для 3-D альфа-форм.

Координаты вершины, возвращенные как матрица. P имеет размер N-by-dim, где N является числом точек в альфа-форме, и dim является или 2 или 3 (или для 2D или для 3-D альфа-формы).

Смотрите также

| | |

Введенный в R2014b