⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patchpoly.m

📁 麻省理工学院的人工智能工具箱,很珍贵,希望对大家有用!
💻 M
字号:
function hcell = patchpoly(varargin)
%PATCHPOLY  Patch polygon.
%   PATCHPOLY(X,Y,C) plots polygon.
%
%   PATCHPOLY(MAT,C) uses the column vectors in MAT.


%  Written by:  A. Kim
%  Copyright 1996-2002 Systems Planning and Analysis, Inc. and The MathWorks, Inc.
%  $Revision: 1.3 $    $Date: 2002/03/20 21:26:49 $


 

if nargin==3
	xcell = varargin{1};
	ycell = varargin{2};
	c = varargin{3};
elseif nargin==2
	mat = varargin{1};
	c = varargin{2};
	xcell = mat(:,1);
	ycell = mat(:,2);
else
	error('Incorrect number of arguments')
end

% set up plot
% figure; hold on; axis equal; grid on
% set(gca,'xlim',[0 12],'ylim',[0 10])
% xl = [floor(min(x))-1, ceil(max(x))+1];
% yl = [floor(min(y))-1, ceil(max(y))+1];
% xl(1) = floor(min([get(gca,'xlim'), xl]));
% xl(2) = ceil(max([get(gca,'xlim'), xl]));
% yl(1) = floor(min([get(gca,'ylim'), yl]));
% yl(2) = ceil(max([get(gca,'ylim'), yl]));
% set(gca,'xlim',xl,'ylim',yl,'xtick',xl(1):xl(2),'ytick',yl(1):yl(2))

if ~iscell(xcell)
	xcell = {xcell};
	ycell = {ycell};
end

if length(c)<length(xcell)
	c = repmat(c,[1 ceil(length(xcell)/length(c))]);
end

for nc=1:length(xcell)

count = 1;

% cell element
x = xcell{nc};
y = ycell{nc};

% account for polygons with inner holes
% if isempty(find(isnan(x))) | ~isnan(x(end))
	x = [x; nan];
	y = [y; nan];
% end
nanindx = find(isnan(x));

% draw outer contour
indx = 1:nanindx(1)-1;
h(count,1) = patch(x(indx),y(indx),c(nc));

% draw inner holes
for n=1:length(nanindx)-1
	count = count + 1;
	indx = nanindx(n)+1:nanindx(n+1)-1;
	h(count,1) = patch(x(indx),y(indx),'k','zdata',.1*ones(size(indx)));
end

hcell{nc,1} = h;
clear h

end  % cell element

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -