Filter löschen
Filter löschen

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

3 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

KSSV
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*');

Weitere Antworten (0)

Produkte


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by