Diktat Kuliah Grafika Komputer
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
IF-UTAMA
Halaman VI-1
Diktat Kuliah Grafika Komputer
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 Ymin ≤ Y1 ≤ Ymax
IF-UTAMA
Halaman VI-2
Diktat Kuliah Grafika Komputer
P2 terletak di luar clipping window, karena : X2 ≥ Xmax walaupun Ymin ≤ Y2≤ ≤ Ymax ,,dan X2 ≥ Xmin
Ymax P1 Y1
P2 Y2
Ymin
Xmin
X1
Xmax
X2
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 :
IF-UTAMA
Halaman VI-3
Diktat Kuliah Grafika Komputer
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
IF-UTAMA
Halaman VI-4
Diktat Kuliah Grafika Komputer
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.
Bit 1 = left Bit 2 = Right Bit 3 = Below Bit 4 = Above
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
IF-UTAMA
Halaman VI-5
Diktat Kuliah Grafika Komputer
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
IF-UTAMA
Halaman VI-6
Diktat Kuliah Grafika Komputer
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
IF-UTAMA
Halaman VI-7