полибуфер

Синтаксис

polyout = polybuffer(polyin,d)
polyout = polybuffer(polyin,d,Name,Value)

Описание

пример

polyout = polybuffer(polyin,d) возвращает объект polyshape с контурами, которые буферизуют polyin расстоянием d. Для положительных значений d твердые контуры области polyin расширяются модулями d и уменьшением контуров дыры модулями d. Отрицательные величины d уменьшают твердые контуры и расширяют контуры дыры.

пример

polyout = polybuffer(polyin,d,Name,Value) задает дополнительные буферные опции с помощью одного или нескольких аргументов в виде пар "имя-значение". Например, считайте сплошной прямоугольник polyin. polyout = polybuffer(polyin,2,'JointType','square') команды создает прямоугольную форму, которая является 2 модулями, больше, чем polyin вдоль периметра, и имеет в квадрате - от углов.

Примеры

свернуть все

Создайте полигон с твердым контуром и контуром дыры. Затем создайте буфер на расстоянии 0,1 от контуров. По умолчанию буфер округлил соединения.

polyin = polyshape({[0 0 1 3],[0.5 1.5 1.5 0.5]},{[0 3 3 0],[0.5 0.5 1.5 1.5]});
plot(polyin)
polyout1 = polybuffer(polyin,0.1);
hold on
plot(polyout1)
hold off

Создайте буфер с помощью предельного угла стыка 2. Предельный угол стыка управляет заостренностью соединений.

polyout2 = polybuffer(polyin,0.1,'JointType','miter','MiterLimit',2);
plot(polyin)
hold on
plot(polyout2)

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

свернуть все

Введите polyshape, заданный как скаляр, вектор, матрица или многомерный массив. Когда polyin является массивом объектов polyshape, polybuffer применяет заданные буферные параметры к каждому элементу.

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

Буферное расстояние, заданное в виде числа.

  • Если d>0, то твердые контуры выращивают расстоянием d и уменьшение контуров дыры.

  • Если d<0, то твердое уменьшение контуров расстоянием d и контуры дыры растет.

  • Если d=0, то нет никакого изменения во входных контурах.

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: polyout = полибуфер (polyin, 'JointType', 'срез', 'MiterLimit', 4)

Объединенный тип для буферных контуров, заданных как пара, разделенная запятой, состоящая из 'JointType' и одно из следующего:

  • вокруг Закруглите граничные углы.

  • 'square' — Смело встретьте граничные углы.

  • 'miter' — Ограничьте отношение между расстоянием, объединенная вершина перемещена и буферное расстояние до 3. Этот предел предотвращает чрезмерную заостренность.

polybuffer только применяет параметр 'JointType' к твердым контурам, когда буферное расстояние положительно, или для контуров дыры, когда буферное расстояние отрицательно.

Предельный угол стыка, заданный как пара, разделенная запятой, состоящая из 'MiterLimit' и скаляра, больше, чем 2. Предельный угол стыка является отношением между расстоянием, объединенная вершина перемещена и буферное расстояние. Установка предельного угла стыка управляет заостренностью граничных соединений.

Задайте значение параметров 'JointType' как 'miter' при использовании параметра 'MiterLimit'.

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

| |

Введенный в R2017b

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