ispolygon

PURPOSE ^

ISPOLYGON - indicate if an outline is a polygon or not

SYNOPSIS ^

function bool=ispolygon(x,y);

DESCRIPTION ^

ISPOLYGON - indicate if an outline is a polygon or not

   Usage:
      bool=ispolygon(x,y)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function bool=ispolygon(x,y);
0002 %ISPOLYGON - indicate if an outline is a polygon or not
0003 %
0004 %   Usage:
0005 %      bool=ispolygon(x,y)
0006 
0007 bool=0;
0008 pairs_x=zeros(length(x),2);
0009 pairs_y=zeros(length(x),2);
0010 
0011 for i=1:length(x)-1,
0012    pairs_x(i,:)=[x(i) x(i+1)];
0013    pairs_y(i,:)=[y(i) y(i+1)];
0014 end
0015 pairs_x(length(x),:)=[x(length(x)) x(1)];
0016 pairs_y(length(x),:)=[y(length(x)) y(1)];
0017 
0018 for n=1:length(pairs_x)-1,
0019 
0020     pair_nx=zeros(length(x)-n,2);
0021    pair_ny=zeros(length(x)-n,2);
0022    for j=n:length(x)-1,
0023       pair_nx(j-n+1,:)=pairs_x(n,:);
0024       pair_ny(j-n+1,:)=pairs_y(n,:);
0025    end
0026    test_x=pairs_x(n+1:length(x),:);
0027    test_y=pairs_y(n+1:length(x),:);
0028 [IS,S]=iscross(pair_nx',pair_ny',test_x',test_y');
0029 bool=bool+length(find(IS==1));
0030 end
0031 if bool>=1,
0032    bool=1;
0033 end
0034 
0035 bool=-bool;
0036 
0037 disp('Attention, ispolygon a ete modifie, retourne 1 si oui, 0 si non');

Generated on Sun 29-Mar-2009 20:22:55 by m2html © 2003