sortregions

Сортировка областей polyshape

Синтаксис

polyout = sortregions(polyin,criterion,direction)
polyout = sortregions(polyin,'centroid',direction,'ReferencePoint',point)

Описание

пример

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)

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

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

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

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

свернуть все

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

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

Критерий сортировки, заданный как одно из этих значений:

  • область Сортировка областью области.

  • периметр Сортировка периметром области.

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

  • центроид Сортировка расстоянием от центроида каждой области к контрольной точке (0,0).

Сортировка направления, заданного как 'ascend' или 'descend'.

Контрольная точка, заданная как двухэлементный вектор - строка. Первым элементом является x - координата контрольной точки, и вторым элементом является y - координата.

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

| |

Введенный в R2017b