绘制具有随机半径的连续圆
Draw contiguous circles with random radiuses
好吧,我必须生成 10 个随机半径,然后绘制圆圈。但我不确定如何计算 X 坐标,以便它们是连续的。我得到了这段代码,但它不能正常工作
uses graphabc;
var
a: array [1..10] of integer;
i, x, y, r, rn: integer;
begin
i:=1;
while (i < 11) do begin
rn:= random(5,50);
a[i]:=rn;
i:=i+1;
end;
r:=a[1];
y:=300;
x:=100;
for i:=1 to 10 do begin
circle(x, y, r);
r:=a[i];
x:=x+r;
end;
end.
要使两个圆相互接触,圆心之间的距离必须是两个半径之和。简单更正(需要shift的去掉if i > 1
):
for i:=1 to 10 do begin
r:=a[i];
if i > 1 then
x:=x+r;
circle(x, y, r);
x:=x+r;
end;
end.
好吧,我必须生成 10 个随机半径,然后绘制圆圈。但我不确定如何计算 X 坐标,以便它们是连续的。我得到了这段代码,但它不能正常工作
uses graphabc;
var
a: array [1..10] of integer;
i, x, y, r, rn: integer;
begin
i:=1;
while (i < 11) do begin
rn:= random(5,50);
a[i]:=rn;
i:=i+1;
end;
r:=a[1];
y:=300;
x:=100;
for i:=1 to 10 do begin
circle(x, y, r);
r:=a[i];
x:=x+r;
end;
end.
要使两个圆相互接触,圆心之间的距离必须是两个半径之和。简单更正(需要shift的去掉if i > 1
):
for i:=1 to 10 do begin
r:=a[i];
if i > 1 then
x:=x+r;
circle(x, y, r);
x:=x+r;
end;
end.