exponenta event banner

упростить

Упростить polyshape границы

Описание

пример

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

polyout = simplify(polyin,'KeepCollinearPoints',TF) указывает, следует ли сохранять или удалять коллинеарные точки в polyout.

Примеры

свернуть все

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

P = [0 0; 1 1; 1 0; 0.5 0.5; 0 1; 0 0];
polyin = polyshape(P,'Simplify',false)
polyin = 
  polyshape with properties:

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

plot(polyin)

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

Используйте simplify для удаления пересечения, которое создает хорошо определенный многоугольник. При упрощении многоугольника сохраняется форма границы, но многоугольник разделяется на две отдельные области.

polyout = simplify(polyin)
polyout = 
  polyshape with properties:

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

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

свернуть все

Вход polyshape, задается как скаляр, вектор, матрица или многомерный массив.

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

Индикатор коллинеарных вершин, указанный как false или true:

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

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

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

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

См. также

|

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