exponenta event banner

sortregions

Вид polyshape регионы

Описание

пример

polyout = sortregions(polyin,criterion,direction) возвращает polyshape объект, области которого отсортированы по указанному criterion и direction. Например, polyout = sortregions(polyin,'area','ascend') возвращает polyshape твердые области которых такие же, как polyinи перечислены в порядке возрастания по их области.

polyout = sortregions(polyin,'centroid',direction,'ReferencePoint',point) возвращает polyshape области которых сортируются на основе расстояния центроида каждой области до опорной точки.

Примеры

свернуть все

Определите отдельные области многоугольника и получите к ним доступ, предварительно отсортировав их.

Создайте многоугольник с двумя сплошными областями и одним отверстием.

t = 0.05:0.5:2*pi;
x1 = cos(t);
y1 = sin(t);
x2 = 0.5*cos(t);
y2 = 0.5*sin(t);
x3 = 2*cos(t);
y3 = 2*sin(t);
polyin = polyshape({x1,x2,x3},{y1,y2,y3})
polyin = 
  polyshape with properties:

      Vertices: [41x2 double]
    NumRegions: 2
      NumHoles: 1

plot(polyin)

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

Сортировка областей многоугольника в порядке возрастания по периметру. Затем можно использовать regions для создания массива polyshape объекты R, где каждый элемент R соответствует одной области polyout. Элементы R индексируются в том же порядке, что и области polyout, чтобы можно было получать доступ и вычислять для каждой области на основе их индекса.

polyout = sortregions(polyin,'perimeter','ascend');
R = regions(polyout);
plot(R)

Figure contains an axes. The axes contains 2 objects of type polygon.

smallregion = area(R(1))
smallregion = 0.7541
bigregion = area(R(2))
bigregion = 9.0488

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

свернуть все

Вход polyshape, задается как скаляр, вектор, матрица или многомерный массив.

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

Критерий сортировки, указанный как одно из следующих значений:

  • 'area' - Сортировка по регионам.

  • 'perimeter' - Сортировка по периметру региона.

  • 'numsides' - Сортировка по количеству сторон каждой области.

  • 'centroid' - сортировка по расстоянию от центроида каждой области до опорной точки (0,0).

Направление сортировки, указанное как 'ascend' или 'descend'.

Опорная точка, заданная как двухэлементный вектор строки. Первый элемент является координатой X опорной точки, а второй элемент - координатой Y.

См. также

| |

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