How select data just out from a polygon, considering a constraint
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Francesco Porretta
el 13 de Sept. de 2021
borders % matrix 20x2 with the x and y coordinates of the generic polygon perimeter
datas % matrix 550x2 containing the x and y coordinates of all my datas
Using the function "inpolygon" I'm able to find all the points of "datas" that are inside the polygon perimeter defined by "borders".
However, I also want to take into account all the points that are outside the polygon and near the perimeter.
More precisely, I want to consider all the points outside the polygon for which the distance in x is lower than 0.3 and the distance in y is lower than 0.1, with respect to the border.
Hoping to be clear, thanks for help!
0 comentarios
Respuesta aceptada
Matt J
el 13 de Sept. de 2021
Editada: Matt J
el 13 de Sept. de 2021
borders=[0,0;0,1;1 1;1 0];
p=polyshape(borders);
p=blurHull(p,[0.3,0]);
p=blurHull(p,[0, 0.1]);
isinterior(p,datas)
function ps=blurHull(p,v)
N=100;
t=linspace(-1,1,N).'*v;
ps=p;
for i=1:size(t,1)
ps=union(ps,translate(p,t(i,:)));
end
d=2/N;
ps=polybuffer(ps,d,'JointType','square');
ps=polybuffer(ps,-d,'JointType','square');
end
0 comentarios
Más respuestas (1)
KSSV
el 13 de Sept. de 2021
Read about knnsearch. This will give you indices of points lying closer to the given set of points from a set of points along with distances. You can play around with distances obtained from here.
0 comentarios
Ver también
Categorías
Más información sobre Elementary Polygons en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!