Pertama buat form delphi, buat satu buah tombol. Klik dua kali tombol tersebut dan isilah listing berikut ini:
procedure TForm1.Button1Click(Sender: TObject);
var r,s,d,c,x,y,theta,thetf: real;
a,xc,yc:integer;
begin
a:=100;xc:=200;yc:=100;
// xc, yc sebagai titik awal
thetf:=0.0;
//dalam derajat
d:=2*PI*PI;
theta:=d;
c:=1/a;
while (thetf<theta) do
begin
r:=a*cos(3*thetf);
x:=r*cos(thetf);
s:=r+thetf;
y:=-s*sin(thetf);
canvas.pixels[trunc(xc+x),trunc(yc+y)]:=clblue;
canvas.Pixels[trunc(xc+x),trunc(yc-y)]:=clblue;
canvas.Pixels[trunc(xc-x),trunc(yc+y)]:=clblue;
canvas.Pixels[trunc(xc-x),trunc(yc-y)]:=clblue;
canvas.Pixels[trunc(xc+y),trunc(yc+x)]:=clblue;
canvas.Pixels[trunc(xc+y),trunc(yc-x)]:=clblue;
canvas.Pixels[trunc(xc-y),trunc(yc+x)]:=clblue;
canvas.Pixels[trunc(xc-y),trunc(yc-x)]:=clblue;
thetf:=thetf+c;
end; procedure TForm1.Button1Click(Sender: TObject);
var r,s,d,c,x,y,theta,thetf: real;
a,xc,yc:integer;
begin
a:=100;xc:=200;yc:=100; //xc dan yc sebagai titik awal
thetf:=0.0; //dalam derajat
d:=2*PI*PI; //diameter
theta:=d;
c:=1/a;
while (thetf<theta) do
begin
r:=a*cos(3*thetf);
x:=r*cos(thetf);
s:=r+thetf;
y:=-s*sin(thetf);
//perulangan penggambaran dari titik tertentu sebanyak 8 kali
canvas.pixels[trunc(xc+x),trunc(yc+y)]:=clblue;
canvas.Pixels[trunc(xc+x),trunc(yc-y)]:=clblue;
canvas.Pixels[trunc(xc-x),trunc(yc+y)]:=clblue;
canvas.Pixels[trunc(xc-x),trunc(yc-y)]:=clblue;
canvas.Pixels[trunc(xc+y),trunc(yc+x)]:=clblue;
canvas.Pixels[trunc(xc+y),trunc(yc-x)]:=clblue;
canvas.Pixels[trunc(xc-y),trunc(yc+x)]:=clblue;
canvas.Pixels[trunc(xc-y),trunc(yc-x)]:=clblue;
thetf:=thetf+c;
end;
0 Comments