Grafika Komputer : Algoritma Klipping (Clipping ) - Pertemuan 11
Pertemuan 11
ALGORITMA KLIPPING
( CLIPPING )
Clipping
⚫ Clipping adalah metoda untuk hanya menampilkan garis pada area yang visible (terlihat)
Visible dan Invisible Line
⚫ Berdasarkan posisi garis terhadap area gambar maka garis dapat dibedakan menjadi :
⚫ Bagaimana menentukan visible dan invisible line?
⚫ fully visible : (x1 ≥ xmin) dan (x1 ≤ xmax) dan (y1 ≥ ymin) dan (y1 ≤ ymax) dan (x2 ≥ xmin) dan (x2 ≤ xmax) dan (y2 ≥ ymin) dan (y2 ≤ ymax)
⚫ partially visible : -- coba sendiri dan anda akan menemukan bahwa tidak mudah melakukan hal tersebut ! --
Algorithma Clipping
⚫ Berbagai algorithma telah dikembangkan untuk menangani masalah pemotongan garis tersebut, antara lain :
⚫ Cyrus-Beck
⚫ Cohen-Sutherland
Algorithma Cohen-Sutherland
⚫ Area gambar dibatasi oleh xmin,xmax, ymin,ymax
⚫ Cohen dan Sutherland memberikan kode kepada tiap area yang mungkin dilewati oleh sebuah garis atau disebut sebagai region code. ⚫ Region code mempunyai panjang empat bit dan menggunakan urutan sebagai berikut :
T(op) = 1 jika ujung garis berada di atas area gambar selain itu 0 (nol)
B(ottom) = 1 jika ujung garis berada di bawah area gambar selain itu 0 (nol)
L(eft) = 1 jika ujung garis berada di kiri area gambar selain itu 0 (nol)
R(ight) = 1 jika ujung garis berada di kanan area gambar selain itu 0 (nol)
⚫ Garis kemungkinan partially visible atau fully invisible apabila region code dari ujung garis tersebut mempunyai bit bernilai 1
⚫ Pemotongan (clipping) dilakukan terhadap ujung-ujung garis yang region code berisi bit bernilai 1. ⚫ Contoh sebelumnya menunjukkan bahwa ujung Pa, Pb, Qc,Qd dan Re yang akan mengalami pemotongan.
⚫ Dengan menggunakan cara yang sama maka lokasi titik potong untuk tiap area akan sesuai tabel di bawah ini :
⚫ Contoh • Diketahui : area gambar : (1,2)-(5,5)
• Ditanyakan :
⚫ lokasi titik potong dari garis P (2,1) - (4,6) terhadap area gambar
⚫ lokasi titik potong dari garis S (2,6) - (6,3)
⚫ Untuk ujung-ujung garis dengan region code berisi bit 1 maka ada tiga kemungkinan perpotongan antara garis P dengan area gambar
⚫ Bagaimana pengertian "dekat" didefinisikan?
⚫ Tugas anda mendefinisikan pengertian "dekat" tersebut!
⚫ Algorithma Cohen-Sutherland dapat dituliskan sebagai berikut :
Ambil ujung pertama (Pa) dari garis P
rc = Tentukan Region Code dari Pa
switch (rc)
0 : p = Pa
1 : p = (xmin,yp1)
2 : p = (xmax,yp2)
4 : p = (xp2,ymin)
5 : p1 = (xp2,ymin) ; p2 = (xmin,yp1)
Tentukan mana yang lebih dekat antara p1 & p2
6 : p1 = (xp2,ymin) ; p2 = (xmax,yp2)
p = Tentukan mana yang lebih dekat antara p1 & p2
8 : p = (xp1,ymax)
9 : p1 = (xp1,ymax) ; p2 = (xmin,yp1)
p = Tentukan mana yang lebih dekat antara p1 & p2
10 : p1 = (xp2,ymax) ; p2 = (xmin,yp1)
p = Tentukan mana yang lebih dekat antara p1 & p2
Ambil ujung kedua (Pb) dari garis P
rc = Tentukan Region Code dari Pb
switch (rc)
0 : q = Pb
1 : q = (xmin,yp1)
2 : q = (xmax,yp2)
4 : q = (xp2,ymin)
5 : p1 = (xp2,ymin) ; p2 = (xmin,yp1)
q = Tentukan mana yang lebih dekat antara p1 & p2
6 : p1 = (xp2,ymin) ; p2 = (xmax,yp2)
q = Tentukan mana yang lebih dekat antara p1 & p2
8 : p1 = (xp1,ymax)
9 : p1 = (xp1,ymax) ; p2 = (xmin,yp1)
q = Tentukan mana yang lebih dekat antara p1 & p2
10 : p1 = (xp2,ymax) ; p2 = (xmin,yp1)
q = Tentukan mana yang lebih dekat antara p1 & p2
Gambar garis dari p menuju q
Komentar
Posting Komentar