Escolar Documentos
Profissional Documentos
Cultura Documentos
Garis di atas adalah ideal line yang kita inginkan Batasan yang ada: layar monitor terdiri dari sekumpulan pixel Yang bisa kita lakukan adalah membuat perkiraan bentuk garis ideal
Syarat yang harus dipenuhi adalah: Tampilan garis harus kontinyu, tidak putus-putus Ketebalan harus sama Harus sedekat mungkin dengan garis ideal Harus cepat
Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003 2
Y = mX + c
X dan Y : koordinat m : gradient c : konstanta
(x1, y1)
Gradient dihitung dari m = (y2-y1) / (x2-x1) Dari persamaan di atas, coba kita buat program sederhana untuk menggambar garis
Sempurnakan lagi
Buatlah pengecekan bila gradient > 1 Buatlah pengecekan bila x1>x2 atau y1>x2
Kelemahan DDA
Ingat dulu rule optimisasi berikut ini:
penjumlahan & pengurangan lebih cepat dari perkalian perkalian lebih cepat dari pembagian menggunakan tabel lebih cepat dari menghitung fungsi perhitungan integer lebih cepat dari float hindari if-then sebisa mungkin
Algoritma Bresenham
Algoritma yang jauh lebih cepat dibuat oleh Bresenham (1965) Algoritma ini cuma menggunakan integer Banyak yang percaya bahwa tidak ada cara menggambar garis yang lebih cepat lagi selain algoritma ini
Jack Bresenham
for ( int x = a.x; x <= b.x; x++ ) { setPixel( x,y ); if ( F<0 ) { F += 2*H; } else { y++; F += 2*(H-W); } } }
Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003
Conto
Gambarlah garis dengan algoritma Bresenham dari (4,1) ke (16,4).
W = 12 dan H = 3
x: 4 y: 1 F: -6 5 1 0 6 2 -18 7 2 -12 8 2 -6 9 2 0 10 3 -18 ... ... ...
10
11
Persamaan Lingkaran
(xc, yc) r
x= xc + r * cos y= yc + r * sin Persamaan ini lebih mudah Tapi ada cara yang lebih cepat!
Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003 12
Lalu setiap segmen digambar dengan Micheners Circle Algorithm (Mid-Point Algorithm)
13
Aliasing vs Anti-Aliasing
Fakta bahwa mata manusia lebih toleran terhadap pola yang buram daripada pola yang jelas Anti-aliasing dilakukan untuk menghilangkan jagginess
Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003 15
16
Beberapa algoritma dikembangkan setelah Bresenham. Misalkan: two-pass algorithm (Xiaolin Wu). Pelajarilah sendiri! Coba kembangkan algoritma untuk menggambar bentuk-bentuk lain
18