exponenta event banner

numRegions

Количество областей в альфа-форме

Синтаксис

Описание

пример

N = numRegions(shp) возвращает количество отдельных областей, составляющих альфа-фигуру. Для альфа-радиуса Infальфа-форма представляет собой выпуклый корпус, а число областей равно единице. По мере уменьшения значения альфа-радиуса форма может разбиваться на отдельные области в зависимости от набора точек.

Примеры

свернуть все

Создание и печать набора точек 2-D.

th = (pi/12:pi/12:2*pi)';
x1 = [reshape(cos(th)*(1:5), numel(cos(th)*(1:5)),1); 0];
y1 = [reshape(sin(th)*(1:5), numel(sin(th)*(1:5)),1); 0];
x = [x1; x1+15;];
y = [y1; y1];
plot(x,y,'.')
axis equal

Figure contains an axes. The axes contains an object of type line.

Создайте альфа-фигуру, используя альфа-радиус 7, и запросите количество отдельных областей фигуры.

shp = alphaShape(x,y,7);
nregions = numRegions(shp)
nregions = 1

Используйте меньший альфа-радиус 2,5, чтобы лучше захватить границу и затем извлечь новое число отдельных областей.

shp.Alpha = 2.5;
nregions = numRegions(shp)
nregions = 2

Постройте график альфа-формы для проверки качества границ.

plot(shp)

Figure contains an axes. The axes contains an object of type patch.

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

свернуть все

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

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

См. также

Представлен в R2014b