www.gusucode.com > matlab 案例源码 matlab代码程序 > matlab/PointsInsideMultiplyConnectedPolygonExample.m
%% Points Inside Multiply Connected Polygon % Find the points inside a square with a square hole. % Copyright 2015 The MathWorks, Inc. %% % Define a square region with a square hole. Specify the vertices of the % outer loop in a counterclockwise direction, and specify the vertices for % the inner loop in a clockwise direction. Use |NaN| to separate the % coordinates for the outer and inner loops. xv = [1 4 4 1 1 NaN 2 2 3 3 2]; yv = [1 1 4 4 1 NaN 2 3 3 2 2]; %% % Define x and y coordinates of 500 random points. Initialize the % random-number generator to make the output of |randn| repeatable. rng default xq = rand(500,1)*5; yq = rand(500,1)*5; %% % Determine whether each point lies inside or on the edge of the polygon area. in = inpolygon(xq,yq,xv,yv); %% % Plot the polygon and the query points. Display the points inside the % polygon with a red plus. Display the points outside the polygon with a % blue circle. figure plot(xv,yv,'LineWidth',2) % polygon axis equal hold on plot(xq(in),yq(in),'r+') % points inside plot(xq(~in),yq(~in),'bo') % points outside hold off %% % Query points in the square hole are outside the polygon.