perimeter

Периметр 2D альфа-формы

Описание

пример

L = perimeter(shp) возвращается общий периметр 2D альфы формируют shp, включая периметр любых внутренних отверстий в альфа-форме.

пример

L = perimeter(shp,RegionID) возвращает периметр области в альфа-форме. RegionID ID для области и 1RegionIDnumRegions(shp).

Примеры

свернуть все

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

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];

Создайте и постройте альфа-форму с помощью альфа-радиуса 2,5.

shp = alphaShape(x,y,2.5);
plot(shp)

Вычислите периметр альфа-формы.

totalperim = perimeter(shp)
totalperim = 62.6526

Вычислите периметры каждой из этих двух областей отдельно.

regionperims = perimeter(shp, 1:numRegions(shp))
regionperims = 1×2

   31.3263   31.3263

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

свернуть все

2D альфа-форма в виде 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

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

| |

Введенный в R2014b