Identification of overlapping points

4 次查看(过去 30 天)
Hi all,
I have the following code.
hold on
for r=10:5:24 % r is radius
circles(r,17,12); % using circles function
for i=1:1:20;
for j=1:1:20;
if mod(i,2)==1; % even case
if mod(j,2)==1; % odd case
plot(i,j, 'bo');
elseif mod(i,2)==0;
elseif mod(j,2)==0;
plot(i,j,"ro");
else
end
end
end
end
end
hold off
I have attached an image of the plot.
I want only the small circles (red and blue points) overlapping with the larger circles to appear. Any advice on how this can be achived. Many thanks.
Below is the circles function code.
function [x, y] = circles(r,Cx,Cy)
theta=linspace(0,2*pi,200);
x=r*cos(theta)+Cx;
y=r*sin(theta)+Cy;
plot(x,y)
end

采纳的回答

Image Analyst
Image Analyst 2022-8-18
I'd try pdist2 to see when the centers of the small circles are within their radius of any of the points on the larger circles.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by