Преобразуйте полигональную область в патч-грани и вершины
[F,V] = poly2fv(x,y)
[F,V] = poly2fv(x,y) преобразует полигональную область, представленную контурами (x,y) в матрицу граней, F, и матрица вершин, V, которые могут использоваться с patch функция для отображения области. Если многоугольник представлен x и y имеет несколько частей, либо NaN-отделенный формат вектора или формат массива ячеек. The poly2fv функция создает треугольные грани.
Большинство функций Mapping Toolbox™ соответствуют соглашению о том, что отдельные контуры с вершинами по часовой стрелке являются внешними контурами, а отдельные контуры с вершинами против часовой стрелки являются внутренними контурами. Хотя и poly2fv функция игнорирует порядок вершин, вы должны следовать соглашению при создании контуров, чтобы гарантировать согласованность с другими функциями.
Отображение прямоугольной области с двумя отверстиями с помощью одного объекта закрашенной фигуры.
% External contour, rectangle.
x1 = [0 0 6 6 0];
y1 = [0 3 3 0 0];
% First hole contour, square.
x2 = [1 2 2 1 1];
y2 = [1 1 2 2 1];
% Second hole contour, triangle.
x3 = [4 5 4 4];
y3 = [1 1 2 1];
% Compute face and vertex matrices.
[f, v] = poly2fv({x1, x2, x3}, {y1, y2, y3});
% Display the patch.
patch('Faces', f, 'Vertices', v, 'FaceColor', 'r', ...
'EdgeColor', 'none');
axis off, axis equal