Ich möchte auf mehreren konzentrischen Kreisen mehrere Punkte zeichnen wie folgt aus:Wie können Punkte nacheinander auf mehrere konzentrische Kreise aufgetragen werden?
Die Anzahl der Punkte auf verschiedenen Kreisen gleich sind und bestimmt werden. Die Differenz des Radius ist gleich. Wenn ich die for
Funktion verwenden möchte, definiere ich i = 1:total number of points
. Ich weiß nicht, wie man den richtigen Winkelwert wählt. Kann mir jemand helfen? Hier
ist der Code, den ich schrieb:
R_steplength = 1; %difference of radius
angle_point = 20; %total number of points on one circle
max_R = 4; %outer radius of circle
central_x = 1; % origin of concentric circle
central_y = 1;
total_circle_points = (max_R/R_steplength) * angle_point; %calculate total
points
fin_x= zeros(1, total_circle_points); %define output points position
fin_y = zeros(1, total_circle_points);
for i = 1:total_circle_points
for j = 1:angle_point
if rem(i+1, 20)~= 1
k = floor(i/20);
angles = linspace(0,2*pi,angle_point);
fin_x(i) = R_steplength*(k+1)*cos(angles(j))+central_x;
fin_y(i)= R_steplength*(k+1)*sin(angles(j))+central_y;
else
fin_x(i) = central_x + R_steplength*(k+2);
fin_y(i) = central_y + R_steplength*(k+2);
end
plot(fin_x(:),fin_y(:),'ro')
end
end