sortboundaries

Сортировка polyshape контуры

Описание

пример

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

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

Примеры

свернуть все

Сортировка контуров многоугольника в соответствии с их количеством сторон в порядок для доступа к одному контуру за раз.

Создайте многоугольник, содержащую два контуров, один с тремя сторонами и один с четырьмя сторонами.

x1 = [0 1 1 0];
y1 = [0 0 1 1];
x2 = [2 3 2.5];
y2 = [2 2 3];
polyin = polyshape({x1,x2},{y1,y2});
plot(polyin)

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

Сортировка контуров в порядке убывания в соответствии с их количеством сторон, так что четырехсторонний контур индексируется первым в выходе polyshape объект.

polyout = sortboundaries(polyin,'numsides','descend');

Теперь можно ссылаться на четырехсторонний контур, основанную на ее индексе, например, когда необходимо получить доступ к вершинам контура или вычислить ее площадь.

[x,y] = boundary(polyout,1)
x = 5×1

     0
     0
     1
     1
     0

y = 5×1

     0
     1
     1
     0
     0

area(polyout,1)
ans = 1

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

свернуть все

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

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

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

  • 'area' - Сортировка по граничной области.

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

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

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

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

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

Введенный в R2017b