I need help to plot circle around the points and these points are in a circle. please response

29 views (last 30 days)
this code will generate points in a particular area
n=10; % number of points that you want
center = [2 ,2]; % center coordinates of the circle [x0,y0]
radius = 10; % radius of the circle
angle = 2*pi*rand(n,1);
r = radius*sqrt(rand(n,1));
X = r.*cos(angle)+ center(1);
Y = r.*sin(angle)+ center(2);
plot(X,Y,'.r')
and here is the circle can be drawn as...
center = [2 ,2]; % center coordinates of the circle [x0,y0]
radius = 10; % radius of the circle
angle = 0:.01:2*pi;
r = radius;
X = r.*cos(angle)+ center(1);
Y = r.*sin(angle)+ center(2);
plot(X,Y,'.r')
Problem is that I want to plot circles around each point which are lying inside a given circle. Please help

Accepted Answer

KSSV
KSSV on 5 Oct 2016
n=10; % number of points that you want
center = [2 ,2]; % center coordinates of the circle [x0,y0]
radius = 10; % radius of the circle
angle = 2*pi*rand(n,1);
r = radius*sqrt(rand(n,1));
X = r.*cos(angle)+ center(1);
Y = r.*sin(angle)+ center(2);
plot(X,Y,'.r')
hold on
%%Draw circle
R = 1. ; % radius
th = linspace(0,2*pi) ;
for i = 1:length(X)
x = R*cos(th)+X(i) ;
y = R*sin(th)+Y(i) ;
plot(x,y,'b')
end
hold on
center = [2 ,2]; % center coordinates of the circle [x0,y0]
radius = 10; % radius of the circle
angle = 0:.01:2*pi;
r = radius;
X = r.*cos(angle)+ center(1);
Y = r.*sin(angle)+ center(2);
plot(X,Y,'.b')
  2 Comments
Praveen Pawar
Praveen Pawar on 5 Oct 2016
Edited: Praveen Pawar on 14 Oct 2016
Thank you very much, sir, I tried it myself and it works,, again thanks for your response.
% code
x =2; y = 2; r=10;
th = 0:.01:2*pi;
xunit = r * cos(th) + x;
yunit = r * sin(th) + y;
plot(xunit, yunit)
hold on
plot(x, y, 'gs', 'MarkerSize', 15, 'LineWidth', 2)
n=7;
radius = 10;
angle = 2*pi*rand(n,1);
r = radius*sqrt(rand(n,1));
X = r.*cos(angle)+ x;
Y = r.*sin(angle)+ y;
plot(X,Y,'+r')
for k = 1:length(X)
xc = X(k);
yc = Y(k);
theta = 0:0.01:2*pi;
rc = 2;
X1 = rc.*cos(theta)+ xc;
Y1 = rc.*sin(theta)+ yc;
plot(X1,Y1,'--k')
end
hold off

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!