BAB VI
Clipping
OBJEKTIF :
Pada Bab ini mahasiswa mempelajari tentang :
1.
Operasi Clippling
2.
Antialiasing
TUJUAN DAN SASARAN:
Setelah mempelajari bab ini mahasiswa diharapkan:
1.
Memahami operasi Clipping
2.
Memahami Antialiasing
WAKTU dan TEMPAT
1.
1 (satu) kali pertemuan
2.
2 x 50 menit pertemuan di kelas
3.
4 x 50 menit latihan di rumah
6.1
Clipping
Berdasarkan asal katanya, clipping merujuk pada proses pemotongan objek dengan bentuk tertentu. Algoritma clipping bias didefinisikan sebagai Prosedur yang mendefinisikan bagian gambar, baik di dalam maupun di luar suatu bidang disebut. Dalam konteks grafika komputer, untuk melakukan clipping, kita lebih dulu harus menentukan bentuk window dan baru kemudian menentukan hanya objek yang terdapat di dalam window tersebut yang akan ditampilkan, window ini disebut juga clipping window.
Fungsi clipping window adalah Mengidentifikasi obyek yang akan di clip dan memastikan bahwa data yang di ambil hanya yang terletak di dalam clipping window. Bentuk Clipping Window bias berupa Segi empat, segi tiga, Lingkaran atau elips, Poligon dan lain-lain.
Aplikasi clipping diantaranya adalah :
1. identifikasi permukaan yang dapat dilihat dalam pandangan 3 Dimensi 2. antialiasing segmen garis atau bagian suatu objek
3. membuat objek dengan prosedur solid modeling 4. menampilkan beberapa window
5. membuat gambar dengan kemampuan memindahkan dan menghapus sebagian Pada bab ini akan dibahas mengenai clipping titik dan garis
6.1.1
Clipping titik
Untuk menentukan letak suatu titik di dalam clipping window dapat kita gunakan rumus sbb :
Xmin ≤≤≤≤ x ≤≤≤≤ Xmax
Ymin ≤≤≤≤ y ≤≤≤ Ymax ≤
Xmin,ymin, xmax dan ymax adalah batas clip window untuk clipping window yang berbentuk persegi empat dengan posisi standar. Kedua formula di atas harus dipenuhi dua-duanya, jika salah satu tidak terpenuhi maka titik tersebut tidak berada dalam clipping window.
Contoh :
Terdapat 2 buah titik P1(x1,y1) dan P2 (x2,y2), dengan : P1 terletak di dalam clipping window, karena :
Xmin ≤≤≤≤ X1 ≤≤≤≤ Xmax
P2 terletak di luar clipping window, karena :
X2 ≥≥≥ Xmax ≥ walaupun
Ymin ≤≤≤≤ Y2≤≤≤≤ Ymax ,,dan
X2 ≥≥≥ Xmin ≥
Clipping titik dapat diaplikasikan pada scene yang menampilkan ledakan atau percikan air ada gelombang laut yang dibuat model dengan mendistribusikan beberapa partikel.
6.1.2
Clipping Garis
Clipping garis diproses dengan inside-outside test dengan memeriksa endpoint dari garis tersebut. Dari test tersebut dapat dikategorikan sebagai berikut :
Ymax Ymin Xmin Xmax P1 P2 X2 X1 Y1 Y2
a. Garis yang kedua endpointnya ada di dalam batas clipping akan disimpan (garis 2)
b. Garis yang kedua endpoint tidak berada dalam batas clipping maka garis tersebut berada di luar window (garis 1)
c. Semua garis lain yang memotong satu atau lebih batas clipping memerlukan algoritma clipping yang dapat mengidentifikasi dengan efisien bahwa garis ada diluar batas clipping window. (garis 3 dan 4)
Kondisi garis terhadap clipping window dapat dikategorikan seperti table berikut :
NAMA KONDISI
Invisible Tidak kelihatan, terletak di luar clipping window Visible Terletak di dalam clipping window
Half partial Terpotong sebagian oleh clipping window
Full partial Terpotong penuh oleh clipping window, garis melintasi clipping window
Untuk kondisi garis yang invisible dan visible tidak perlu dilakukan aksi clipping,dimana untuk :
Invisible, tidak perlu ditampilkan Visible, langsung di tampilkan
Persamaan untuk segmen garis dengan endpoint (x1,y1) dan (x2,y2) dan keduanya terletak di luar clipping window adalah :
x = x1 + u(x2 – x1) y = x1 + u(x2 – x1) 0<=u<=1
Persamaan tersebut dapat digunakan untuk mengenali nilai parameter u untuk koordinat pemotongan dengan batas clipping window.
Secara sederhana algoritma clipping adalah : 1. Baca data garis
2. Baca data clipping window
3. Cek kondisi garis terhadap clipping window\ 4. Proses Clipping
Algoritma clipping garis yang paling popular adalah algoritma Cohen Sutherland Meskipun popular algoritma ini bukanlah algoritma yang paling efisien untuk melakukan clipping terutama pada objek yang mengandung jumlah segmen baris yang besar. Untuk image dengan baris yang sedikit algoritma ini cukup layak untuk digunakan.
Setiap endpoint dari garis dalam suatu gambar dinyatakan dalam 4 digit kode biner yang disebut region code yang mengidentifikasikan lokasi dari titik relative terhadap batas clipping yang berbentuk segiempat.
Nilai 1 pada masing-masing bit menerangkan bahwa titik berada pada posisi region tersebut. Bila tidak maka nilainya 0. Contohnya jika suatu titik berada disebelah kiri bawah bidang clipping mempunyai region code 0101.
Region code Arti Kode
0000 Terletak di dalam window 0001 Terletak di sebelah kiri window 0010 Terletak di sebelah kanan window 0100 Terletak di sebelah bawah window 1000 Terletak di sebelah atas window 1001 Terletak di sebelah kiri atas window 1010 Terletak di sebelah kanan atas window 0101 Terletak di sebelah kiri bawah window 0110 Terletak di sebelah kanan bawah window
Nilai bit pada region code ditentukan dengan membandingkan nilai koordinat endpoint terhadap batas clipping.
Setelah dilakukan penentuan region code, identifikasi garis yang sepenuhnya berada diluar atau di dalam window. Cara menentukannya adalah garis dengan region
Bit 1 = left Bit 2 = Right Bit 3 = Below Bit 4 = Above
code 0000 adalah garis yang berada di dalam window sedangkan garis yang hanya memiliki 1 bit ‘1’ adalah garis yang berada sepenuhnya di luar clipping window.
Garis dengan kondisi selain dua diatas harus diperiksa perpotongannya dengan clipping window. Pertama-tama bandingkan endpoint luar dengan garis batas clipping window, jika berada di luar batas maka garis tersebut dihilangkan.
6.2
Antialiasing
Efek samping yang dihasilkan oleh penggunaan alat display digital untuk penggambaran garis dan kurva adalah objek-objek ini cenderung menjadi kelihatan bergerigi atau seperti tangga (disebut juga ‘jaggies’). Penyimpangan ini disebut dengan aliasing, istilah ini diambil dari teori sampling yang awalnya bertitik berat pada sampling sinyal elektronik seperti gelombang radio, sedangkan proses untuk menghilangkan fenomena demikian disebut antialiasing.
Salah satu cara untuk menaikkan sampling rate pada raster system secara sederhana dilakukan dengan menampilkan objek pada resolusi tinggi, akan tetapi walaupun resolusi yang digunakan paling tinggi degnan Teknologi saat ini bentuk gerigi akan tetap kelihatan. Dengan raster system yang mampu menampilkan lebih dari dua tingkat intensitas atau grayscale, metode antialiasing dapat digunakan untuk modifikasi intensitas pixel. Penyesuaian intensitas dari pixel sepanjang batas primitive dapat menghasilkan batas yang halus dan mengurangi tampilan bergerigi. Teknik sampling pada objek dengan resolusi tinggi dan menampilkannya pada resolusi rendah disebut supersampling.
Alternative lain dari supersampling adalah menentukan intensitas pixel dengan menghitung area yang overlap setiap pixel dari suatu objek. Antialiasing dengan menghitung overlap area disebut area sampling.
6.3
Rangkuman
1. Algoritma clipping bias didefinisikan sebagai Prosedur yang mendefinisikan bagian gambar, baik di dalam maupun di luar suatu bidang disebut
2. Fungsi clipping window adalah Mengidentifikasi obyek yang akan di clip dan memastikan bahwa data yang di ambil hanya yang terletak di dalam clipping window 3. Algoritma clipping garis yang paling popular adalah algoritma Cohen Sutherland
6.4
Soal
1. Rumuskan algoritma clipping garis menggunakan cohen-sutherland algorithm
2. Analisis algoritma clipping garis selain cohen-sutherland algorithm dan bandingkan dengan cohen-sutherland algorithm
3. susunlah suatu algoritma untuk antialiasing batas suatu lingkaran
4. Modifikasi algoritma bresenham untuk menggambarkan garis dengan menambahkan prosedur antialiasing.
6.5
Referensi
[1] Fadlisyah, dkk.,Pengantar Grafika Komputer, ANDI, 2007
[2] Hearn, Donald, M. Pauline Baker, Computer Graphics, Prentice Hall. [3] Rowe, Glenn W, Computer Graphics with Java, Palgrave, 2001 [4] Sutopo, Ariesto Hadi, Pengantar Grafika Komputer, Gava Media, 2002