How to find 2D data points within a specific distance (in X and Y) to the inside direction along boundary line ?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Faez Alkadi
 el 31 de Jul. de 2017
  
    
    
    
    
    Respondida: Faez Alkadi
 el 16 de Ag. de 2017
            In 2D data that has a boundary. How to find data points(x,y) which are laying within specific range from the boundary. For example :
x = gallery('uniformdata',30,1,1);
y = gallery('uniformdata',30,1,10);
plot(x,y,'.')
k = boundary(x,y);
hold on;
plot(x(k),y(k));
So, how can we get the data points(x,y) laying within distance of 0.5 in both directions x and y from the inside wall along the boundary. In other words, How can I get data points(x,y) that is (0.5 or less) away from the inside of the boundary wall in any direction (x,y).
Thanks
0 comentarios
Respuesta aceptada
  KSSV
      
      
 el 3 de Ag. de 2017
        Read about rangesearch
x = gallery('uniformdata',30,1,1);
y = gallery('uniformdata',30,1,10);
plot(x,y,'.')
k = boundary(x,y);
hold on;
plot(x(k),y(k));
%%get points at distance 0.5 from boundary 
idx = rangesearch([x y],[x(k) y(k)],0.5);
% plot the points
N = length(k) ;
for i = 1:N
    plot(x(idx{i}),y(idx{i}),'O','color',rand(1,3)) ;
end
2 comentarios
  John D'Errico
      
      
 el 3 de Ag. de 2017
				The nice thing about Answers is all of us can learn from it. I never saw rangesearch until now. Learn something new everyday.
Más respuestas (1)
Ver también
Categorías
				Más información sobre Data Type Identification 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!


