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

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

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

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

y0) dan titik akhir(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.x<x1.START Tentukan salah satu titik sebagai awal(x0.x++ Koordinat selanjutnya (x+x_increment. y+y_increment) Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut Keluaran titik Next Finish . dan y_increment=dy/langkah For x=x0.y1) Hitung dx=x1x0.

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

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

Sign up to vote on this title
UsefulNot useful