ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

inpolygon

多角形内の点

構文

IN = inpolygon(X,Y,xv,yv)
[IN ON] = inpolygon(X,Y,xv,yv)

説明

IN = inpolygon(X,Y,xv,yv)X および Y と同じサイズの行列 IN を返します。IN の各要素には点 (X(p,q),Y(p,q)) がベクトル xv および yv で指定される頂点の多角形領域内にあるかどうかに応じて値 1 または 0 が割り当てられます。以下に例を示します。

IN(p,q) = 1

(X(p,q),Y(p,q)) が多角形領域または多角形境界内にある場合

IN(p,q) = 0

(X(p,q),Y(p,q)) が多角形領域外にある場合

[IN ON] = inpolygon(X,Y,xv,yv)X および Y と同じサイズの 2 番目の行列 ON を返します。ON の各要素には、頂点がベクトル xv および yv で指定される多角形領域の境界内に点 (X(p,q),Y(p,q)) がある場合、値 1 または 0 が割り当てられます。以下に例を示します。

ON(p,q) = 1

(X(p,q),Y(p,q)) が多角形境界内にある場合

ON(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')

この情報は役に立ちましたか?