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)
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)
1.Pada Object Inspector-pilih Form1-events-OnPaint-double klik di sebelah kanan.
2.masukan kode program berikut :
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=)
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
Posting Komentar