matlab如何判断点在多边形内部或边界上?
来源:网络收集 点击: 时间:2024-03-29如何判断一个点在多边形内部?
xv=; %x坐标
yv=;%y坐标
x=1.5;
y=1.5;
in=inpolygon(x,y,xv,yv)
plot(xv,yv,x(in),y(in),.r,x(~in),y(~in),.b)


xv=; %x坐标
yv=;%y坐标
x=4;
y=4;
in=inpolygon(x,y,xv,yv)
plot(xv,yv,x(in),y(in),.r,x(~in),y(~in),.b)


对于多个点判断时,依然可以
xv= ; %x坐标
yv= ;%y坐标
x = rand(10,1)*4; y = rand(10,1)*4;%生成随机坐标
in=inpolygon(x,y,xv,yv)
plot(xv,yv,x(in),y(in),.r,x(~in),y(~in),.b)


点在边界上时是什么情况?属于四边形内部吗?
xv=; %x坐标
yv=;%y坐标
x=0;
y=0;
in=inpolygon(x,y,xv,yv)
plot(xv,yv,x(in),y(in),.r,x(~in),y(~in),.b)
当然依然属于四边形内部!


那么如何判断点在边界上呢?
xv=; %x坐标
yv=;%y坐标
x=0;
y=0;
=inpolygon(x,y,xv,yv)
plot(xv,yv,x(in),y(in),.r,x(~in),y(~in),.b)
on=1表示点在边界上;on=0表示点不在边界上。

那么如何判断点在真实的内部而非边界上呢?
xv=; %x坐标
yv=;%y坐标
x=1;
y=1;
=inpolygon(x,y,xv,yv)
plot(xv,yv,x(in),y(in),.r,x(~in),y(~in),.b)
很明显 in=1且on=0时,表示点真正的在内部而非边界上。
排队了in=1时,点在边界上也属于内部的情况。

希望对你有所帮助!
matlab版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_377524.html