Effacer les filtres
Effacer les filtres

Why points inside a polygon can't be found completely by using "Inpolygon"

3 vues (au cours des 30 derniers jours)
Jiali
Jiali le 25 Fév 2022
Modifié(e) : KSSV le 25 Fév 2022
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*');
Figure 1: Problem Definition
Figure 2: Matlab Result

Réponse acceptée

KSSV
KSSV le 25 Fév 2022
Modifié(e) : KSSV le 25 Fév 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*');

Plus de réponses (0)

Produits


Version

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by