Halaman

Kamis, 12 Juni 2014

Metode Clipping



1.     Metode Clipping
1.1  Definisi Metode Clipping
              Metode clipping merupakan metode untuk menghilangkan garis yang tidak 
              perlu digambar apabila melebihi window viewing ( area gambar). Metode  
              clipping saat ini cukup banyak, karena perkembangannya searah dengan
              berkembangnya dunia grafik computer. Dalam metode clipping terdapat  
              beberapa cara, yaitu Line clipping, Point clipping, dan Algoritma clipping.

1.2  Macam-Macam Metode Clipping
1.2.1    Point Clipping
Teknik yang digunakan untuk mengimplementasikan point clipping cukup sederhana yaitu dengan menggunakan rumus umum sebagai berikut :
             Xmin ≤ x ≤ Xmax
             Ymin  y ≤  Ymax
Dimana Xmin, Ymin, Xmax, Ymax merupakan batas clip window untuk clipping window yang berbentuk persegi empat dengan posisi standar. Kedua kondisi di atas harus terpenuhi agar teknik ini dapat dijalankan.Jika salah satu tidak terpenuhi maka titik tersebut tidak berada dalam clipping window.
       


1.2.2    Line Clipping
Line Clipping atau kliping garis diproses dengan inside-outside test dengan memeriksa endpoint dari garis tersebut. Berdasarkan test tersebut garis dapat dikategorikan menjadi empat jenis.
Kondisi garis terhadap jendela Clipping :
1. Invisible     Tidak kelihatan, terletak di luar jendela Clipping.
2. Visible       Terletak di dalam jendela Clipping.
3. Halfpartial : Terpotong sebagian oleh jendela Clipping, bisa hanya  
                         dengan bagian atas, bawah, kiri atau kanan.
4. Vollpartial : Terpotong penuh oleh jendela Clipping. Garis melintasi  
                         jendela Clipping.
Untuk garis yang invisible dan visible tidak perlu dilakukan aksi clipping karena pada kondisi invisible, garis tidak perlu ditampilkan, sedangkan pada kondisi visible garis bisa langsung ditampilkan. Untuk segmen garis dengan endpoint (x1, y1) dan (x2, y2) serta keduanya terletak di luar clipping window memiliki persamaan.
Y = x1 + u(x2 - x1)
X = x1 + u(x2 - x1)
0 ≤ u ≤ 1.
Persamaan tersebut dapat digunakan untuk mengenali nilai parameter u untuk koordinat pemotongan dengan bata clipping window.

1.2.3    Algoritma Clipping
Ada beberapa Algoritma dalam melakukan teknk line clipping, diantaranya: Cohen-Sutherland dan Liang-Barsky. Dimana setiap endpoint atau titik ujung dari garis direpresentasikan ke dalam empat angka biner yang disebut region code dan Liang-Barsky.



1.2.3.1              Algoritma Cohen-Sutherland

Seperti diketahui, titik merupakan elemen terkecil dari suatu gambar.Sehingga, kita bisa mentest setiap titik yang merupakan bagian dari gambar yang dipilih. Hal ini tentu akan memakan waktu yang cukup lama. Sehingga, berdasarkan pemotongan titik yang dijelaskan di atas , dikembangkan suatu algoritma untuk mentest apakah suatu garis berada di dalam atau di luar jendela dengan hanya mentest apakah suatu penggal paris berada di dalam atau di luar jendela ditemukan Cohen-Sutherland, sehingga disebut dengan algoritma Cohen-Sutherland.
4
3
2
1
0
0
0
0

Bit ke-1 : Region Kiri (L)
Bit ke-2 : Region Kanan (R)
Bit ke-3 : Region Bawah (B)
Bit ke-4 : Region Atas (T)
Bit dengan nilai 1 menandakan bahwa titik berada pada region yang bersangkutan. Jika tidak maka di-set nilai 0.

1.2.3.2              Algoritma Liang-Barsky
Clipping yang lebih cepat dikembangkan berdasarkan persamaan parametrik dari segmen garis dapat ditulis dalam bentuk:
 x = x1 + u.dx
 y = y1 + u.dy
Dimana dx = x2 – x1 dan dy = y2-y1. Dimana nilai uЄ[0,1]. Menurut Liang dan Barsky bentuk pertidaksamaan sebagai berkut:
xwmin <= x1 + u.dx <= xwmax
ywmin <= y1 + u.dy <= ywmax
Dengan
u.pk <= qk, k=1,2,3,4
Dimana parameter p dan q ditentukan sebagai berikut:
k = 1 (Kiri):                 p1 = -dx, q1= x1-xwmin
k = 2 (Kanan):             p2 = dx, q2= xwmax – x1
k = 3 (Bawah):            p3 = -dy, q3= y1-ywmin
k = 4 (Atas):                p4 = dy, q4= ywmax-y1
Garis yang sejajar dengan salah satu batas clipping mempunyai pk = 0 untuk nilai k=1,2,3,4 yaitu left, right, botton, dan top. Untuk setiap nilai k, juga diperoleh qk<0, maka garis sepenuhnya diluar batas clipping. Bila qk>=0, maka garis didalam dan sejajar batas clipping.
Bila pk<0, garis memotong batas clipping dari luar ke dalam, dan bila pk>0, garis memotong batas clipping dari dalam ke luar. Untuk nilai pk yang tidak sama dengan 0, nilai u dapat diperoleh dengan
u = qk / pk
 Untuk setiap garis, dapat dihitung nilai dan parameter u1 dan u2 yang menentukan posisi garis dalam bidang clipping. Nilai u1 diperlihatkan dengan batas clipping dimana garis memotong batas clipping dari luar ke dalam (p<0).
              rk = qk / pk
Dengan nilai u1 adalah nilai maksimum dari nilai 0 dan bermacam-macam nilai r. Sebaliknya nilai u2 ditentkan dengan memeriksa batas dimana clipping dipotong oleh garis dari dalam keluar (p>0). nilai rk dihitung untuk setiap batas clipping, dan nilai u2 merupakan nilai minimum dari sekumpulan nilai yang terdiri dari 1 dan nilai r yang dihasilkan. Bila u1>u2, maka garis sepenuhnya berada di luar clip window dan dapat dihilangkan . sebaliknya bila tidak endpoint dari garis yang di clip dihitung dari dua nilai parameter u.
Untuk (pi < 0) → t1 = Max (rk)
Untuk (pi > 0) → t2 = Min (rk)



Jika t1 < t2 cari nilai endpoint yang baru.
t1 → ( x1 + dx * t1 , y1 + dy * t1) titik awal garis yang baru
t2 → ( x1 + dx * t1 , y1 + dy * t1) titik ujung garis yang baru
Algoritma Liang-Barsky lebih efisien dibandingkan dengan Cohen-Sutherland karena perhitungan titik potong dihilangkan.


STUDI KASUS dan PEMBAHASAN

          Di bab ini kami mengambil beberapa contoh  soal untuk dijadikan studi kasus dalam tulisan ini. Studi kasus yang diambil berhubungan dengan Point Clipping.

Terdapat 2 buah titik, yaitu P1(2,2) dan P2(3,6) dengan Xmin = 1, Xmax = 5, Ymin = 1, dan Ymax = 5.


Pembahasan
Dari gambar di atas dapat dilihat bahwa titik P2 tidak memenuhi kedua kondisi umum dari vertex clipping berada sehingga titik P2 tidak akan di tampilkan.
Clipping titik dapat diaplikasikan pada scene yang menampilkan ledakan atau percikan air pada gelombang laut yang dibuat dengan mendistribusikan beberapa partikel.

Jika diketahui area gambar ditentukan dengan xMin = 1, yMin = 1 dan xMax = 4, yMax
= 5 dan dua buah garis:
1. P(-1,-2) – (5,6)
2. Q(-1,5) – (6,7)
Maka tentukan region code dari masing-masing ujung garis tersebut.

                             

Pembahasan:
1. Garis P:
Ujung garis P(-1, -2)
L = 1; karena x < xMin atau -1 < 1
R = 0; karena x < xMax atau -1 < 4
B = 1; karena y < yMin atau -2 < 1
T = 0; karena y < yMax atau -2 < 5
Dengan demikian region code untuk ujung P(-1,-2) adalah 0101, ujung garis P(5,6).
L = 0; karena x > xMin atau 5 > 1
R = 1; karena x > xMax atau 5 > 4
B = 0; karena y > yMin atau 6 > 1
T = 1; karena y > yMax atau 6 > 5
Dengan demikian region code untuk ujung P(5,6) adalah 1010, karena region
code dari kedua ujung garis tidak sama dengan 0000 maka garis P bersifat
kemungkinan partialy invisible dan perlu dipotong.

2. Garis Q:
Dengan cara yang sama pada garis P maka akan ditentukan region code:
Ujung garis Q(-1,5) mempunyai region code = 0001
Ujung garis Q(6,7) mempunyai regian code = 1010
Karena region code tidak sama dengan 0000 maka garis Q bersifat kemungkinan
partialy invisible dan perlu dipotong.




Referensi:
xa.yimg.com/kq/groups/23340420/787728629/name/Pertemuan9.pdf

-FEBISARFINA-
        

Tidak ada komentar:

Posting Komentar