inpolygon
给个例子。
%%
% 要判断的点
p1 =[0.5, 0];
p2 =[0.5, 0.4];
p3 =[0.5, 1];
p4 =[1.5, 1.5];
p5 =[-0.2, 4];
xv = [0 0 1 1] % 多边形的横坐标 向量
yv = [0 1 1 0] % 多边形的横坐标 向量
X = [p1(1),p2(1),p3(1),p4(1),p5(1)] ; % 要判断点的横坐标
Y = [p1(2),p2(2),p3(2),p4(2),p5(2)] ; % 要判断点的纵坐标
IN = inpolygon(X,Y,xv,yv) %在多边形线上 也称在内部
%%
figure,
h = fill(xv,yv,'r')
axis([-0.5 1.6, -0.2, 4.5])
hold on
h2 = plot(X,Y,'o','markersize',10)
set(h2, 'markerfacecolor',[0 1 0])
str = {'out','in(/on)'};
for i =1: length(X)
text(X(i),Y(i)+.2,str(IN(i)+1))
end
[attach]153728[/attach]