You are on page 1of 7

TUGAS 5 ALGORITMA DAN FLOWCHART BRESENHAM, DDA, DAN MIDPOINT

Untuk memenuhi salah satu tugas mata kuliah Grafika Komputer semester IV

Dosen Pembimbing: Muhammad Faisal, M.T

Oleh: Rizky Izatul L.R (10650028) Kelas : A

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG 2012

ALGORITMA DAN FLOWCHART

1. Algoritma Bressenham Tujuan dari algoritma Bressenham ini adalah untuk menghindari pembulatan nilai seperti pada algoritma DDA. Pada algoritma bresenham, nilai y kedua dan seterusnya, dihitung dari nilai y sebelumnya, sehingga hanya titik y pertama yang perlu dilakukan operasi secara lengkap. Perbaikan algoritma ini ternyata tidak menghasilkan perbaikan yang cukup siginifikan. Perbaikan berikutnya dilakukan dengan cara menghilangkan operasi bilangan riel dengan operasi bilangan integer. Operasi bilangan integer jauh lebih cepat dibandingkan dengan operasi bilangan riel, terutama pada penambahan dan pengurangan. Langkah-langkah: 1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis. 2. Tentukan salah satu titik di sebelah kiri sebagai titik awal, yaitu (x 0,y0) dan titik lainnya sebgai titik akhir (x1,y1). 3. Hitung dx,dy,2dx dan 2dy-2dx. 4. Hitung parameter P0 = 2dy-dx 5. Untuk setiap Xk sepanjang jalur garis, dimulai dengan k=0,bila pk <0,>k+1, yk), dan Pk+1 = Pk+2dybila tidak, maka titik selanjutnya adalah (xk+1,yk+1), dan Pk+1 = Pk+2dy-2dx 6. Ulangi langkah no 5 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1. Flowchart

start
Tentukan salah satu titik di sebelah kiri sebagai titik awal yaitu(x0,y0) dan titik lainnya sebagai titik akhir(x1,y1).

Hitung dx,dy,2dx dan 2dy2dx

Hitung parameter :p0=2dydx

For x=x0;x<x1;x++

maka titik selanjutnya adalah (xk+1,yk), dan pk+1=pk+2dy

YES

pk < 0

NO

maka titik selanjutnya adalah(xk+1, yk+1), dan pk+1=pk+2dy2dx

Keluaran titik

Next x

Finish

2. Algoritma DDA Algoritma DDA bekerja bekerja atas dasar penambahan nilai x dan nilai y. Pada garis lurus, turunan pertama dari x dan y adalah konstanta. Sehingga untuk memperoleh suatu tampilan dengan ketelitian tinggi, suatu garis dapat

dibangkitkan dengan menambah nilai x dan y masing-masing sebesar ex dan ey, dengan besaran dengan nilai yang sangat kecil.Kondisi ideal ini sukar dicapai, karenanya pendekatan yang mungkin dilakukan adalah berdasarkan piksel-piksel yang bisa dialamati/dicapai atau melalui penambahan atau pengurangan nilai x dan y dengan suatu besaran dan membulatkannya ke nilai integer terdekat. Langkah-langkah 1. Tentukan 2 buah titik. 2. Tentukan yang menjadi titik awal (X0,Y0) dan titik akhir (X1,Y1). 3. Hitung Dx dan DyDx = X1-X0 dan Dy = Y1 Y0 4. Bandingkan Abs(Dx) dan Abs(Dy)Jika Abs(Dx) > Abs(Dy) makaSteps = Abs(Dx) bila tidak Steps = Abs(Dy) 5. Hitung penambahan koordinat pixel, yaitu:X_increment = dx/steps, danY_increment = dy/steps. 6. Koordint selanjutnya, yaituX+X_incrementY+Y_increment 7. Posisi pixel ditentukan dengan pembulatan nilai koordinat tersebut. 8. Ulangi langkah 6 dan 7 untuk posisi selanjutnya sampai X = X1, Y = Y1 Flowchart

START
Tentukan salah satu titik sebagai awal(x0,y0) dan titik akhir(x1,y1)

Hitung dx=x1x0, dan dy= y1y0

Absolut dari dy

No

Absolut dx>absolut dy

Yes

Absolut dari dx

Hitung penambahan koordinat pixel yaitu x_increment=dx/langkah, dan y_increment=dy/langkah

For x=x0;x<x1;x++

Koordinat selanjutnya (x+x_increment, y+y_increment)

Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut

Keluaran titik Next

Finish

3. Algoritma MidPoint Algoritma Lingkaran Midpoint juga disebut algoritma lingkaran Bressenham. Bressenham mengembangkan generator lingkaran yang cukup efisien. Algoritma yang digunakan membentuk semua titik berdasarkan titik pusat dengan penambahan semua jalur sekeliling lingkaran. Algoritma ini diturunkan dari algoritma Midpoint untuk pembentukan garis. Dalam hal ini hanya diperhatikan bagian 45 dari suatu lingkaran, yaitu oktan kedua dari x=0 ke x=R/2, dan menggunakan CirclePoints untuk menampilkan titik dari seluruh lingkaran. Langkah langkah untuk membentuk lingkaran algoritma Circle Midpoint: 1. Tentukan radius r dengan titik pusat lingkarang(xc,yc) kemudian diperoleh

2. Hitung nilai dari parameter

3. Tentukan nilai awak k=0 untuk setiap posisi xk berlaku sebagai berikut: Bila Pi<0, maka titik selanjutnya adalah (xk+i,yk) dan Pk+i=Pk+2xk+i+1 Bila tidak, maka selanjutnya adalah

4. Tentukan titik simetris pada ketujuh oktan yang lain 5. Gerakkan setiap posisi pixel(x,y) pada garis melingkar dari lingkaran dengan titik pusat (xc,yc) dan tentukan nilai koordinat:

6. Ulangi langkah ke-3 sampai 5, sehingga x>=y

Flowchart
start

Tentukan radius r dengan titk pusat lingkaran(xc,yc) kemudian diperoleh (x0,y0)=(0,r) Hitung nilai dari parameter P0=5/4r

For x=x0;x<y;x++

yes

Bila Pk< 0

no

titik selanjutnya adalah (xk+1,yk))dan Pk+1=Pk+2xk+1+1

maka selanjutnya adalah(xk+1,yk-1), dan Pk+1=Pk+2xk+1+12yk+1

Tentukan titik simetris pada ketujuh oktan yang lain

Gerakkan setiap posisi pixel(x,y) pada garis melingkar dari lingkaran dengan titik pusat (xc,yc)

tentukan nilai koordinat: x=x+xc y=y+yc


c c

Next Keluaran titik

Finish

You might also like