inploygon( )函数
函数功能:判断给出的坐标是否在闭合的多边形中
举例:判断存在数组x0,y0中的坐标点是否在数组xv,yv所定义的多边形中
[in,on]= inpolygon(x0,y0,xv,yv);
函数说明:
(1)存在数组xv,yv中的多边形顶点坐标,必须按照顺时针或者逆时针的方向存;
(2)返回的in数组存放的是逻辑值1或0,表示坐标是否在多边形内部;
(3)返回的on数组存放的是逻辑值1或0,表示坐标是否在多边形边界上;
注意:x0,y0中的坐标数量一定要相同,也就是说横纵坐标一定要成对出现!否则会报错
实例:
[in,on]= inpolygon(x0,y0,xv,yv); %判断给出的坐标是否在闭合的多边形中
fprintf('多边形内部点的个数:%d\n',sum(in));%输出在多边形中点的个数
%图形化表示多边形中的点标记为红色'+',多边形外的点标记为绿色'o'
plot(xv,yv,x0(in),y0(in),'r+',x0(~in),y0(~in),'go');