delphi 7, menggambar garis dengan menggunakan algoritma DDA,POLINOM, dan BRESENHAM

Assalamualaikum Warahmatullahi Wabarakatuh

Pada kesempatan kali ini saya akan mencoba menjelaskan sedikit cara / tutorial, menggambar garis dengan menggunakan algoritma  DDA,POLINOM dan BRESENHAM, cara ini saya dapatkan pada kegiatan studi saya di kampus


1.buka aplikasi delphi 7, buat project baru (file-new-application), lalu desain program sehingga seperti berikut :

adapun tools yang digunakan seperti berikut :


LABEL
Buat label, dengan pilih seperti gambar di atas, yang berlingkaran merah

keterangan :
Label1 : caption = (Menggambar garis menggunakan algoritma DDA,Bresenham, dan Polinom)
Label2 : caption = (X1)
Label3 : caption = (Y1)
Label4 : caption = (X2)
Label5 : caption = (Y1)
Label6 : caption = (Xawal)
Label7 : caption = (Xakhir)
Label8 : caption = (Nilai A =)
Label9 : caption = (Nilai B=)



GroupBox
Buat GroupBox, dengan pilih seperti gambar di atas, yang berlingkaran merah


Edit
Buat edit, dengan pilih seperti gambar di atas, yang berlingkaran merah

keterangan :
Edit1 : Name = (edX1)
            Text = (Kosongkan)
Edit2 : Name = (edY1)
            Text = (Kosongkan)
Edit3 : Name = (edX2)
            Text = (Kosongkan)
Edit4 : Name = (edY1)
            Text = (Kosongkan)
Edit5 : Name = (edXAwal)
            Text = (Kosongkan)
Edit6 : Name = (edXAkhir)
            Text = (Kosongkan)
Edit7 : Name = (edA)
            Text = (Kosongkan)
Edit8 : Name = (edB)
            Text = (Kosongkan)


Button 
Buat Button, dengan pilih gambar seperti di atas, yang berlingkaran merah


keterangan :
Button1 : Name = (DDA)
                Caption = (DDA)
Button2 : Name = (Bresenham)
                Caption = (Bresenham)
Button3 : Name = (Polinom)
                Caption = (Polinom)
Button4 : Name = (Ulang)
                Caption = (Ulang)
Button5 : Name = (Keluar)
                Caption = (Keluar)




Source Code

1.Pada Object Inspector-pilih Form1-events-OnPaint-double klik di sebelah kanan.



2.masukan kode program berikut :
procedure TForm1.FormPaint(Sender: TObject);
var x,y:integer;
begin
//sumbu x
for x :=0 to ClientWidth do
Canvas.pixels[x,ClientHeight div 2]:=clRed;
//sumbu y
for y :=0 to ClientHeight do
canvas.Pixels[ClientWidth div 2,y]:=clBlue; end;


2.double klik pada Button1 DDA, lalu masukan kode program berikut :

procedure TForm1.DDAClick(Sender: TObject);
var k,delta,x0,y0,x1,y1,x2,y2: Integer; xNaik,yNaik,x,y:real;
begin
x0 :=ClientWidth div 2; y0:=ClientHeight div 2;
x1 :=StrToInt(edX1.Text); x2:=StrToInt(edX2.Text);
y1 :=StrToInt(edY1.Text); y2:=StrToInt(edY2.Text);
for k :=0 to ClientWidth do //sumbu x dan y(3)
canvas.Pixels[k,y0]:=clGreen;
for k :=0 to ClientHeight do
canvas.Pixels[x0,k]:=clRed;
delta:=ABS(x2-x1);//persamaan metode DDA(4)
if abs(y2-y1)>delta then
xNaik:=(x2-x1)/delta; yNaik:=(y2-y1)/delta;
x:=x1; y:=y1;
for k:=1 to delta do
begin //menggambar garis(5)
canvas.Pixels[Trunc(x0+x), Trunc(y0-y)]:=clBlue;
x:=x+xNaik; y:=y+yNaik; end; end;


3.double klik pada Button2 Bresenham, lalu masukan kode program berikut :
procedure TForm1.BresenhamClick(Sender: TObject);
var x,y,k,e,deltay,deltax,x0,y0,x1,x2,y1,y2:Integer;
begin
x0:=ClientWidth div 2; y0:=ClientHeight div 2;
x1:=StrToInt(edX1.Text); x2 :=StrToInt(edX2.Text);
y1:=StrToInt(edY1.Text); y2:=StrToInt(edY2.Text);
deltax :=abs(x2-x1); deltay:=abs(y2-y1);
e:=(2*deltay)-deltax; x:=x1; y:=y1;
for k:=1 to deltax do
begin
canvas.Pixels[x0+x,y0-y]:=clBlue;
if e > 0 then
begin
y:=y+1; e:=e+2*(deltay-deltax);end
else
e:=e+(2*deltay); x:=x+1; end; end;


4.double klik pada Button3 Polinom, lalu masukan kode program berikut :

procedure TForm1.PolinomClick(Sender: TObject);
var x,xAwal,xAkhir,a,b,x0,y0,y:integer;
begin
x0:=ClientWidth div 2; y0:=ClientHeight div 2;
a:=StrToInt(edA.Text);b:=StrToInt(EDb.Text);
xAwal:=StrToInt(edXAwal.Text); xAkhir:=StrToInt(edXAkhir.Text);
for x:=xAwal to xAkhir do
begin
y:=(a*x)+b;
begin
canvas.Pixels[x0+x, Trunc(y0-y)]:=clGreen; end; end;

end;


5.double klik pada Button4 Ulang, lalu masukan kode program berikut :
procedure TForm1.UlangClick(Sender: TObject);
begin
edX1.Text:=''; edY1.Text:=''; edX2.Text:=''; edY2.Text:='';
edXAwal.Text:=''; edXAkhir.Text:=''; edA.Text:=''; edB.Text:='';
edX1.SetFocus; end;



6.double klik pada Button5 Keluar, lalu masukan kode program berikut :

procedure TForm1.KeluarClick(Sender: TObject);
begin
CLOSE; end;

end.


7. lakukan eksekusi program, dengan menekan tombol F9



Sekian tutorial singkat tentang implementasi algoritma DDA,POLINOM, dan Bresenham pada pembuatan garis, terimakasih.

tinggalkan komentar anda


WassalamualaikuWarrahmatullahiWabarrakatuh

Komentar

Postingan populer dari blog ini

delphi 7, Membuat garis sederhana membentuk suatu gambar primitif menyerupai mobil

Delphi 7, Menggambar translasi dasar