sortboundaries

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

Синтаксис

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

Описание

пример

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)

Сортировка контуров в порядке убывания согласно их количеству сторон, так, чтобы четырехсторонний контур был индексирован сначала в объекте вывода 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

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

  • область Сортировка граничной областью.

  • периметр Сортировка граничным периметром.

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

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

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

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

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

| | |

Введенный в R2017b

Была ли эта тема полезной?