解説:8−5−1
このプログラムも先ほどの解説のように、簡単にできる。
プログラム:
procedure TForm1.Button1Click(Sender: TObject);
var pai, th, incr, r1, r2, x, y : real;
i, n_div, xc, yc, xi, yi : integer;
begin
pai := 3.1415;
r1 := 200;
r2 := 100;
n_div := 100;
incr := 2*pai/n_div;
xc := 300; yc := 200;
while ( r1 >= 100 ) do begin
th := 0;
Canvas.MoveTo(xc+round(r1),yc);
for i := 1 to n_div do begin
th := th + incr;
x := r1 * cos(th);
y := r2 * sin(th);
xi := round(xc + x);
yi := round(yc - y);
Canvas.LineTo(xi,yi);
end;
r1 := r1 - 20;
end;
end;
end.
結果:
