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

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

2dx dan 2dy2dx Hitung parameter :p0=2dydx For x=x0.y1). Hitung dx.x++ maka titik selanjutnya adalah (xk+1. Algoritma DDA Algoritma DDA bekerja bekerja atas dasar penambahan nilai x dan nilai y.yk). turunan pertama dari x dan y adalah konstanta.dy. dan pk+1=pk+2dy2dx Keluaran titik Next x Finish 2. dan pk+1=pk+2dy YES pk < 0 NO maka titik selanjutnya adalah(xk+1. yk+1). suatu garis dapat .start Tentukan salah satu titik di sebelah kiri sebagai titik awal yaitu(x0.x<x1. Sehingga untuk memperoleh suatu tampilan dengan ketelitian tinggi.y0) dan titik lainnya sebagai titik akhir(x1. Pada garis lurus.

Tentukan 2 buah titik. Posisi pixel ditentukan dengan pembulatan nilai koordinat tersebut. 6. 3. Y = Y1  Flowchart . Hitung Dx dan DyDx = X1-X0 dan Dy = Y1 – Y0 4. Ulangi langkah 6 dan 7 untuk posisi selanjutnya sampai X = X1.dibangkitkan dengan menambah nilai x dan y masing-masing sebesar eΔx dan eΔy. yaituX+X_incrementY+Y_increment 7. 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.Y0) dan titik akhir (X1. dengan besaran dengan nilai yang sangat kecil.Y1). Tentukan yang menjadi titik awal (X0. 8.Kondisi ideal ini sukar dicapai. Bandingkan Abs(Dx) dan Abs(Dy)Jika Abs(Dx) > Abs(Dy) makaSteps = Abs(Dx) bila tidak Steps = Abs(Dy) 5. danY_increment = dy/steps.  Langkah-langkah 1. 2. yaitu:X_increment = dx/steps. Koordint selanjutnya. Hitung penambahan koordinat pixel.

y1) Hitung dx=x1x0. y+y_increment) Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut Keluaran titik Next Finish .START Tentukan salah satu titik sebagai awal(x0. dan y_increment=dy/langkah For x=x0.x<x1. dan dy= y1y0 Absolut dari dy No Absolut dx>absolut dy Yes Absolut dari dx Hitung penambahan koordinat pixel yaitu x_increment=dx/langkah.y0) dan titik akhir(x1.x++ Koordinat selanjutnya (x+x_increment.

Tentukan radius r dengan titik pusat lingkarang(xc. yaitu oktan kedua dari x=0 ke x=R/Ö2.y) pada garis melingkar dari lingkaran dengan titik pusat (xc.  Langkah langkah untuk membentuk lingkaran algoritma Circle Midpoint: 1. Ulangi langkah ke-3 sampai 5. Hitung nilai dari parameter 3. Algoritma ini diturunkan dari algoritma Midpoint untuk pembentukan garis.yc) kemudian diperoleh 2. Gerakkan setiap posisi pixel(x. Algoritma MidPoint Algoritma Lingkaran Midpoint juga disebut algoritma lingkaran Bressenham.yk) dan Pk+i=Pk+2xk+i+1  Bila tidak. Dalam hal ini hanya diperhatikan bagian 45’ dari suatu lingkaran. Tentukan titik simetris pada ketujuh oktan yang lain 5. Bressenham mengembangkan generator lingkaran yang cukup efisien.3. sehingga x>=y . maka selanjutnya adalah 4. dan menggunakan CirclePoints untuk menampilkan titik dari seluruh lingkaran.yc) dan tentukan nilai koordinat: 6. Tentukan nilai awak k=0 untuk setiap posisi xk berlaku sebagai berikut:  Bila Pi<0. maka titik selanjutnya adalah (xk+i. Algoritma yang digunakan membentuk semua titik berdasarkan titik pusat dengan penambahan semua jalur sekeliling lingkaran.

yc) tentukan nilai koordinat: x=x+xc y=y+yc c c Next Keluaran titik Finish .y0)=(0.yk-1).x++ yes Bila Pk< 0 no titik selanjutnya adalah (xk+1.y) pada garis melingkar dari lingkaran dengan titik pusat (xc.r) Hitung nilai dari parameter P0=5/4r For x=x0. Flowchart start Tentukan radius r dengan titk pusat lingkaran(xc.yc) kemudian diperoleh (x0.x<y. dan Pk+1=Pk+2xk+1+12yk+1 Tentukan titik simetris pada ketujuh oktan yang lain Gerakkan setiap posisi pixel(x.yk))dan Pk+1=Pk+2xk+1+1 maka selanjutnya adalah(xk+1.