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