Recent Posts

Modifikasi Dari Algoritma Treeleaf




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;

Post a Comment

0 Comments