exponenta event banner

addboundary

Добавить polyshape граница

Описание

пример

polyout = addboundary(polyin,x,y) возвращает polyshape объект, который состоит из существующего polyshape плюс дополнительная граница, определяемая координатами x и y, содержащимися в векторах x и y.

polyout = addboundary(polyin,P) добавляет границу, определяемую координатами, содержащимися в матрице N-by-2 P, где N - число вершин.

polyout = addboundary(polyin,{x1,x2,...,xM},{y1,y2,...,yM}) добавляет M границ, где векторы x-координат для каждой границы перечислены вместе в массиве ячеек. Соответствующие векторы координат y также перечислены вместе в массиве ячеек. Каждая xi должна иметь ту же длину, что и соответствующая yi, но число вершин может изменяться между границами.

polyout = addboundary(___,Name,Value) задает дополнительные параметры для добавления границ к polyshape для любого из предыдущих синтаксисов.

Примеры

свернуть все

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

polyin = polyshape([0 0 1 1],[0 0.5 0.5 0])
polyin = 
  polyshape with properties:

      Vertices: [4x2 double]
    NumRegions: 1
      NumHoles: 0

plot(polyin)

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

polyout = addboundary(polyin,[2 3 2.5],[2 2 3])
polyout = 
  polyshape with properties:

      Vertices: [8x2 double]
    NumRegions: 2
      NumHoles: 0

plot(polyout)

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

Входные аргументы

свернуть все

Вход polyshape, указывается как скаляр.

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

x - координаты граничных вершин, заданные как вектор. Можно представить координаты нескольких границ одновременно, разместив NaN между каждой границей. Например, polyout = addboundary(polyin,[0 0 1 NaN 1 5 5],[1 0 0 NaN 5 5 1]) возвращает polyshape объект, составленный из polyin плюс два дополнительных треугольника.

Числовые входные вершины, не относящиеся к типу double автоматически преобразуются в тип double.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

y - координаты граничных вершин, заданные как вектор. Можно представить координаты нескольких границ одновременно, разместив NaN между каждой границей. Например, polyout = addboundary(polyin,[0 0 1 NaN 1 5 5],[1 0 0 NaN 5 5 1]) возвращает polyshape объект, составленный из polyin плюс два дополнительных треугольника.

Числовые входные вершины, не относящиеся к типу double автоматически преобразуются в тип double.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Граничные вершины, заданные как матрица из 2 столбцов. Первый столбец P содержит координаты x вершин, а второй столбец содержит координаты y. P должен иметь не менее 3 строк.

Можно представить координаты нескольких границ одновременно, разместив NaN между каждой границей. Например, polyout = addboundary(polyin,[1 0; 0 0; 0 1; NaN NaN; 1 5; 5 5; 5 1]) возвращает polyshape объект, составленный из polyinплюс два дополнительных треугольника.

Числовые входные вершины, не относящиеся к типу double автоматически преобразуются в тип double.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

x-координаты для М границ, заданные как массив ячеек векторов. Длина каждого xi может изменяться, но должна соответствовать длине соответствующего вектора yi.

Числовые входные вершины, не относящиеся к типу double автоматически преобразуются в тип double.

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

y - координаты М границ, определяемые как клеточный массив векторов. Длина каждого yi может изменяться, но должна соответствовать длине соответствующего xi-вектора.

Числовые входные вершины, не относящиеся к типу double автоматически преобразуются в тип double.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: polyout = addboundary(polyin,x,y,'SolidBoundaryOrientation','ccw')

Граничная ориентация, заданная как разделенная запятыми пара, состоящая из 'SolidBoundaryOrientation' и одно из этих значений:

  • 'auto' - автоматически выбирать ориентацию вершины по часовой стрелке или против часовой стрелки для сплошных границ.

  • 'cw' - рассматривать ориентацию вершины по часовой стрелке как сплошную границу.

  • 'ccw' - рассматривать ориентацию вершины против часовой стрелки как сплошную границу.

Ориентация вершин не важна для большинства приложений и в первую очередь является алгоритмическим инструментом для определения граничного вложения. Этот параметр обычно задается в целях обеспечения согласованности и эффективности, когда данные полигонов создаются другим программным обеспечением с использованием определенного соглашения.

Изменение вершины, указанное как пара, разделенная запятыми, состоящая из 'Simplify' и одно из этих значений:

  • true - изменение вершин многоугольника для создания хорошо определенного многоугольника, когда входные вершины создают пересечения или неправильную вложенность.

  • false - не изменять входные вершины независимо от пересечений или неправильной вложенности. Вычисления с плохо определенными многоугольниками могут привести к неточным или неожиданным результатам.

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

Коллинеарные вершины, заданная как разделенная запятыми пара, состоящая из 'KeepCollinearPoints' и одно из следующих:

  • false - Удалить коллинеарные точки так, чтобы выход polyshape содержит наименьшие вершины, необходимые для определения границ.

  • true - Сохранить все коллинеарные точки в виде вершин.

Когда 'KeepCollinearPoints' не указано, его значение автоматически устанавливается в значение, используемое при создании ввода polyshape.

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

См. также

| |

Представлен в R2017b