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

4 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

KSSV
KSSV il 25 Feb 2022
Modificato: KSSV il 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*');

Più risposte (0)

Categorie

Scopri di più su Surfaces, Volumes, and Polygons in Help Center e File Exchange

Prodotti


Release

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by