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- для контуров M в виде массива ячеек векторов. Длина каждого xi может варьироваться, но должна совпадать с длиной соответствующего вектора yi.

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

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

y- контуров M в виде массива ячеек векторов. Длина каждого 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 — Не изменяйте входные вершины независимо от пересечений или неподходящего вложения. Вычисление с неточно указанными многоугольниками может привести к неточным или неожиданным результатам.

Типы данных: логический

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

  • false — Удалите коллинеарные точки так, чтобы выход polyshape содержит наименьшее количество вершин, необходимых, чтобы задать контуры.

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

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

Типы данных: логический

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

| |

Введенный в R2017b