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