Anda di halaman 1dari 2

Algoritma DDA (Digital Defferential Analyzer) 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 Algoritma DDA Langkah-langkah untuk membuat algoritma DDA adalah sebagai berikut: 1. 2. 3. 4. 5. 6. 7. 8. Tentukan 2 buah titik. Tentukan yang menjadi titik awal (X0,Y0) dan titik akhir (X1,Y1). Hitung Dx dan Dy. Dx = X1-X0 dan Dy = Y1 Y0 Bandingkan Abs(Dx) dan Abs(Dy). Jika Abs(Dx) > Abs(Dy) maka Steps = Abs(Dx) bila tidak Steps = Abs(Dy) Hitung penambahan koordinat pixel, yaitu:X_increment = dx/steps, danY_increment = dy/steps. Koordint selanjutnya, yaitu X+X_increment Y+Y_increment. Posisi pixel ditentukan dengan pembulatan nilai koordinat tersebut. Ulangi langkah 6 dan 7 untuk posisi selanjutnya sampai X = X1, Y = Y1 Algoritma Bressenham Tujuan dari algoritma Bressenham ini adalah untuk menghindari pembulatan nilai seperti pada algoritma DDA. Pada algoritma bressenham, 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 Algoritma Bressenham a. Langkah-langkah Algoritma Bressenham (Dx>Dy) 1. Tentukan 2 titik yang akan dihubungkan dalam pembentukan garis. 2. Tentukan salah satu titik disebelah kiri sebagai titik awal, yaitu (X0, Y0) dan titik lainnya sebagai titik akhir (X1, Y1). 3. Hitung Dx=x2-x1, Dy=y2-y1, d1=2*DX dan d2=2*Dy - 2*Dx, e=d1-dx, x=x1, y=y1 4. Gambar pixel di (x,y) 5. Untuk setiap e>=0 hitung e=e+d2 dan y=y+1 Jika tidak hitung e=e+d1 dan y=y 6. Hitung x=x+1 7. Jika x>=x2 stop, jika tidak kembali ke langkah 4 b. Langkah-langkah Algoritma Bressenham (Dx<Dy) 1. Tentukan 2 titik yang akan dihubungkan dalam pembentukan garis. 2. Tentukan salah satu titik disebelah kiri sebagai titik awal, yaitu (X0, Y0) dan titik lainnya sebagai titik akhir (X1, Y1) 3. Hitung Dx=x2-x1, Dy=y2-y1, d1=2*Dy dan d2=2*Dy - 2*Dx, e=d1-dy, x=x1, y=y1 4. Gambar pixel di (x,y) 5. Untuk setiap e>=0 hitung e=e+d2 dan x=x+1 Jika tidak hitung e=e+d1 dan x=x 6. Hitung y=y+1. Jika y>=y2 stop, jika tidak kembali ke langkah 4

Algoritma Midpoint Algoritma midpoint merupakan algoritma pembuatan garis dan kurva dengan dasar operasi bilangan integer yang menonjolkan ciri kecepatan. Sehingga algoritma ini dapat dipakai sebagai algoritma pembuatan grafik yang menuntut kecepatan sebagai hal yang diutamakan. Komputasi untuk membuat kurva lingkaran dimulai dengan mengidentifikasi bagian-bagian dari lingkaran yang dapat ditentukan dengan menggunakan sifat simetri, hal ini dilakukan dengan cara membagai lingkaran dengan masing-masing mempunyai sudut sebesar 45o , sehingga dalam sebuah lingkaran dibagi menjadi 8 bagian. Sebagai contoh, digambarkan bagian dari lingkaran dari sudut 90o sampai 45o. Langkah-langkah algotirma midpoint lingkaran 1. Input jari-jari r dan koordinat pusat lingkaran (xc, yc), kemudian tentukan koordinat untuk titik awal yaitu (xo, y0) = (0, r). 2. Hitung nilai awal untuk parameter keputusan p0 = 1 r 3. Untuk setiap xk, mulai dari k=0, lakukan langkah berikut : jika pk<0, maka titik selanjutnya pada lingkaran dengan pusat (0,0) adalah (xk +1, yk) dan pk+1 = pk + 2 xk+1, jika pk0, titik berikutnya adalah (xk+ 1, yk 1) dan pk+1 = pk + 2 xk+1 2yk dimana 2xk+1 = 2 xk + 2, dan 2 yk+1 = 2 yk 2 4. Untuk lingkaran dengan pusat bukan di (0,0). Pindahkan setiap posisi pixel hasil perhitungan (x, y) dengan rumus x = x + xc , y = y + yc 5. Ulangi langkah 3 sampai 5, hentikan ketika x >= y Flowchart algotirma midpoint

Anda mungkin juga menyukai