procedure circle(x0,y0,x,y:integer); begin with form1.Canvas do begin pen.Color:=clred; brush.Color:=clred; brush.color:=clred; pixels[x0+x,y0+y]:=clred; pixels[x0+x,y0-y]:=clred; pixels[x0-x,y0-y]:=clred; pixels[x0-x,y0+y]:=clred; end; end; procedure TForm1.FormCreate(Sender: TObject); var x0,y0,x,y,a,b:integer; d1,d2:real; begin x0:=300; y0:=200; a:=200; b:=100; x:=0; y:=b; d1:=b*b+a*a*(-b+0.25); circle(x0,y0,x,y); while(b*b*(x+1)<a*a*(y-0.5))do if(d1<0) then begin d1:=d1+b*b*(2*x+3); x:=x+1; circle(x0,y0,x,y); end else begin d1:=d1+b*b*(2*x+3)+a*a*(-2*y+2); x:=x+1; y:=y-1; circle(x0,y0,x,y); end; circle(x0,y0,x,y); d2:=sqr(b*(x+0.5))+sqr(a*(y-1))-sqr(a*b); circle(x0,y0,x,y); while (y>0)do if(d2<0)then begin d2:=d2+b*b*(2*x+2)+a*a*(-2*y+3); x:=x+1; y:=y-1; circle(x0,y0,x,y); end else begin d2:=d2+a*a*(-2*y+3); y:=y-1; circle(x0,y0,x,y); end; end;
procedure circle(x0,y0,x,y:integer); begin with form1.Canvas do begin pen.Color:=clred; brush.Color:=clred; brush.color:=clred; pixels[x0+x,y0+y]:=clred; pixels[x0+x,y0-y]:=clred; pixels[x0-x,y0-y]:=clred; pixels[x0-x,y0+y]:=clred; end; end; procedure TForm1.FormCreate(Sender: TObject); var x0,y0,x,y,a,b:integer; d1,d2:real; begin x0:=300; y0:=200; a:=200; b:=100; x:=0; y:=b; d1:=b*b+a*a*(-b+0.25); circle(x0,y0,x,y); while(b*b*(x+1)<a*a*(y-0.5))do if(d1<0) then begin d1:=d1+b*b*(2*x+3); x:=x+1; circle(x0,y0,x,y); end else begin d1:=d1+b*b*(2*x+3)+a*a*(-2*y+2); x:=x+1; y:=y-1; circle(x0,y0,x,y); end; circle(x0,y0,x,y); d2:=sqr(b*(x+0.5))+sqr(a*(y-1))-sqr(a*b); circle(x0,y0,x,y); while (y>0)do if(d2<0)then begin d2:=d2+b*b*(2*x+2)+a*a*(-2*y+3); x:=x+1; y:=y-1; circle(x0,y0,x,y); end else begin d2:=d2+a*a*(-2*y+3); y:=y-1; circle(x0,y0,x,y); end; end;
begin
with form1.Canvas do begin
pen.Color:=clred;
brush.Color:=clred;
brush.color:=clred;
pixels[x0+x,y0+y]:=clred;
pixels[x0+x,y0-y]:=clred;
pixels[x0-x,y0-y]:=clred;
pixels[x0-x,y0+y]:=clred;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
x0,y0,x,y,a,b:integer;
d1,d2:real;
begin
x0:=300;
y0:=200;
a:=200; b:=100; x:=0; y:=b;
d1:=b*b+a*a*(-b+0.25);
circle(x0,y0,x,y);
while(b*b*(x+1)<a*a*(y-0.5))do
if(d1<0) then
begin
d1:=d1+b*b*(2*x+3);
x:=x+1;
circle(x0,y0,x,y);
end
else
begin
d1:=d1+b*b*(2*x+3)+a*a*(-2*y+2);
x:=x+1;
y:=y-1;
circle(x0,y0,x,y);
end;
circle(x0,y0,x,y);
d2:=sqr(b*(x+0.5))+sqr(a*(y-1))-sqr(a*b);
circle(x0,y0,x,y);
while (y>0)do
if(d2<0)then
begin
d2:=d2+b*b*(2*x+2)+a*a*(-2*y+3);
x:=x+1;
y:=y-1;
circle(x0,y0,x,y);
end
else
begin
d2:=d2+a*a*(-2*y+3);
y:=y-1;
circle(x0,y0,x,y);
end;
end;
begin
with form1.Canvas do begin
pen.Color:=clred;
brush.Color:=clred;
brush.color:=clred;
pixels[x0+x,y0+y]:=clred;
pixels[x0+x,y0-y]:=clred;
pixels[x0-x,y0-y]:=clred;
pixels[x0-x,y0+y]:=clred;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
x0,y0,x,y,a,b:integer;
d1,d2:real;
begin
x0:=300;
y0:=200;
a:=200; b:=100; x:=0; y:=b;
d1:=b*b+a*a*(-b+0.25);
circle(x0,y0,x,y);
while(b*b*(x+1)<a*a*(y-0.5))do
if(d1<0) then
begin
d1:=d1+b*b*(2*x+3);
x:=x+1;
circle(x0,y0,x,y);
end
else
begin
d1:=d1+b*b*(2*x+3)+a*a*(-2*y+2);
x:=x+1;
y:=y-1;
circle(x0,y0,x,y);
end;
circle(x0,y0,x,y);
d2:=sqr(b*(x+0.5))+sqr(a*(y-1))-sqr(a*b);
circle(x0,y0,x,y);
while (y>0)do
if(d2<0)then
begin
d2:=d2+b*b*(2*x+2)+a*a*(-2*y+3);
x:=x+1;
y:=y-1;
circle(x0,y0,x,y);
end
else
begin
d2:=d2+a*a*(-2*y+3);
y:=y-1;
circle(x0,y0,x,y);
end;
end;