MATLAB Function Reference | ![]() ![]() |
表示
IN = inpolygon(X,Y,xv,yv)
詳細
IN = inpolygon(X,Y,xv,yv)
は、X
や Y
と同じサイズの行列IN
を出力します。IN
の各要素は、ベクトルxv
と yv
で指定される頂点をもつ多角形内に、点(X(p,q),Y(p,q))
があるかどうかにより、1,0.5, 0のどれかの値を割り当てられます。以下に詳細を示します。
IN(p,q) = 1 |
(X(p,q),Y(p,q)) が、多角形内にあります。 |
IN(p,q) = 0.5 |
(X(p,q),Y(p,q)) が、多角形の境界上にあります。 |
IN(p,q) = 0 |
(X(p,q),Y(p,q)) が、多角形の外にあります。 |
例題
L = linspace(0,2.*pi,6); xv = cos(L)';yv = sin(L)'; xv = [xv ; xv(1)]; yv = [yv ; yv(1)]; x = randn(250,1); y = randn(250,1); in = inpolygon(x,y,xv,yv); plot(xv,yv,x(in),y(in),'r+',x(~in),y(~in),'bo')
![]()
![]() | inmem | input | ![]() |