| MATLAB Function Reference | ![]() |
Detect points inside a polygonal region
Syntax
Description
IN = inpolygon(X,Y,xv,yv)
returns a matrix IN the same size as X and Y. Each element of IN is assigned one of the values 1, 0.5 or 0, depending on whether the point (X(p,q),Y(p,q)) is inside the polygonal region whose vertices are specified by the vectors xv and yv. In particular:
IN(p,q) = 1 |
If (X(p,q),Y(p,q)) is inside the polygonal region |
IN(p,q) = 0.5 |
If (X(p,q),Y(p,q)) is on the polygon boundary |
IN(p,q) = 0 |
If (X(p,q),Y(p,q)) is outside the polygonal region |
Examples
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 | ![]() |