![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/326930/image.png)
How to plot (n) circles with known center and radius
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Abdul Hamed Hatem
il 4 Lug 2020
Commentato: Abdul Hamed Hatem
il 4 Lug 2020
Hi,
I need to generat a plot of (n) circles. The radius of the circles is known and equals to 15m. The circles centers are separated by azimuthal angle equal to 10 degrees and they are located on the perimiter of biggr circle that it is radius is 120m.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
theta=10 % azimuthal distance between the centers of circles group
r=120 % The radius of the big circle
DM=12 % The radius of the group of circles
for i=1:38 % number of circles
x1(i)= r*cosd(90-(i-1)*theta); % the x comoenets of the circle group
y1(i)=r*sind(90-(i-1)*theta); % The y component of the circle group
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Would please advise.
Best Regards,
0 Commenti
Risposta accettata
Image Analyst
il 4 Lug 2020
If you have the Image Processing Toolbox, use viscircles(centers, radii):
theta=10 % azimuthal distance between the centers of circles group
r=120 % The radius of the big circle
DM=12 % The radius of the group of circles
numCircles = 38;
for k = 1 : numCircles % number of circles
xCenter(k) = r * cosd(90-(k-1)*theta); % the x comoenets of the circle group
yCenter(k) = r * sind(90-(k-1)*theta); % The y component of the circle group
end
plot(xCenter, yCenter, 'b.');
grid on;
viscircles([xCenter(:),yCenter(:)], 15 * ones(numCircles, 1));
axis square
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/326930/image.png)
Più risposte (1)
Rafael Hernandez-Walls
il 4 Lug 2020
I don't know is you want this:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
theta=10 % azimuthal distance between the centers of circles group
r=120; % The radius of the big circle
DM=15; % The radius of the group of circles
i=1:38;
x1= r*cosd(90-(i-1)*theta); % the x component of the circle group
y1= r*sind(90-(i-1)*theta); % The y component of the circle group
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
plot(x1,y1),axis equal
hold on
n=38;
for k=1:n
x=x1(k)+DM*cos([0:pi/16:2*pi]);
y=y1(k)+DM*sin([0:pi/16:2*pi]);
plot(x,y);
drawnow
end
Vedere anche
Categorie
Scopri di più su Geographic Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!