Преобразуйте полигональную область в патч-грани и вершины
[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