![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/906450/image.png)
Why points inside a polygon can't be found completely by using "Inpolygon"
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear all,
I would like to find a set of points (red points in the below figure) whether inside another bunch of points (blue points in the below figure). Thus, I use the "inpolygon" command, but stragely only some of points located inside the polygon are returned. Why it happens? how to fix it?
load data.mat
ind=inpolygon(source_xtheta,source_ytheta,xloc,yloc);
figure;
plot(xloc,yloc,'bo');
hold on;
plot(source_xtheta(ind),source_ytheta(ind),'r*');
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/906380/image.png)
Figure 1: Problem Definition
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/906385/image.png)
Figure 2: Matlab Result
0 Kommentare
Akzeptierte Antwort
KSSV
am 25 Feb. 2022
Bearbeitet: KSSV
am 25 Feb. 2022
load('data.mat')
idx = boundary(xloc,yloc) ; % pick the boundary points which form a polygon
ind=inpolygon(source_xtheta,source_ytheta,xloc(idx),yloc(idx));
figure;
plot(xloc,yloc,'b.');
hold on;
plot(source_xtheta(ind),source_ytheta(ind),'r*');
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/906450/image.png)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!