matlab中的inploygon( )函数

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');



猜你喜欢

转载自blog.csdn.net/shichunxue/article/details/79606677
今日推荐