Clipping
Metode clipping adalah metode yang
digunakan untuk menentukan garis yang perlu digambar atau tidak. Alasan
dilakukanna clpping adalah untuk menghindari perhitungan koordinat pixel yang
rumit dan interpolasi parameter. Clpping dilakukan sebelum proses
rasterization. Setelah proses clipping selanjutnya dilakukan proses
rasterization yang mana dilakukan pengkonversian suatu citra vektor ke citra bitmap.
Tiap metode mempunya beberapa
algoritma dan tentunya tiap algoritma memiliki kelebihan dan kekurangan untuk
dianalisis. Contohnya pada algoritma clipping didapatkan algoritma Liang-Barsky
yang terbaik karena kecepatan waktu yang efisien dan juga stabil. Untuk metode
rasterization didapat algoritma Midpoint yang terbaik karena operasi bilangan
pada Midpoint dilakukan dengan cara menghilangkan operasi bilangan riel dengan
bilangan integer yang mana bilangan integer jauh lebih cepat dibandingkan dengan
operasi bilangan riel. Oleh karena itu, komputasi midpoint lebih cepat delapan
kali pada pembuatan garis lurus dan lima belas kali pada penggambaran
lingkaran. Sedangkan pada metode Hidden Surface Remove, algoritma yang terbaik
adalah algoritma scan Line karena pada algoritma ini menggunakan memori yang
lebih sedikit dan dari segi kecepatan juga lebih unggul.
Clipping adalah pemotongan suatu objek dengan bentuk
tertentu. Alasan dilakukannya clipping:
1. Menghindari perhitungan koordinat pixel yang rumit (karenanya
Clipping dilakukan sebelum rasterisasi).
2. Interpolasi Parameter
Sarana pemotong objek disebut jendela kliping. Fungsi
jendela Clipping adalah untuk mengidentifikasi
objek yang
akan di-clipping dan memastikan bahwa data yang diambil ha nya yang terletak di
dalam jendela
Clipping.
Bentuk jendela Clipping :
1. Segi empat,
segi tiga
2. Lingkaran atau ellips
3. Polygon dan lain-lain.
2.1.1 Point Clipping
Untuk
menentukan letak suatu titik di dalam Clipping window dapat digunakan rumus:
Xmin ≤ x ≤ Xmax
Ymin ≤ x ≤ 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.
Contoh
Kasus:
Terdapat dua
buah titik, yaitu P1(2,2) dan P2(3,6) dengan Xmin = 1, Xmax = 5, Ymin = 1, dan
Ymax = 5
Dari gambar di atas, dapat di lihat
bahwa titik P2 berada di luar area Clipping Window karena titik P2 koordinar
Y-nya melebihi Ymax dari Clipping window sehingga titik P2 tidak akan
ditampilkan.
Metode Point Clipping ini dapat
diaplikasikan pada svene yang menampilkan ledakan atau percikan air pada
gelombang laut yang dibuat model dengan mendistribusikan beberapa partikel.
2.1.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.
2.1.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.
2.1.4 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.
2.1.5 ALGORITMA LIANG BARSKY
Algoritma
ini menggunakan persamaaan parameter garis dan gambaran pertidaksamaan dari
range clipping box untuk menentukan titik temu antara garis dan clipping box.
Kita harus melakukan pengujian sebanyak mungkin sebelum menghitung interseksi
garis.
Polygon Clipping
Polygon
merupakan bidang yang tersusun dari vertex (titik sudut) dan edge (garis
penghubung setiap vertex). Untuk dapat melakukan proses clipping pada polygon
diperlukan algoritma yang lebih kompleks dari kedua teknik clipping yang telah
dibahas sebelumnya. Salah satunya adalah algoritma Sutherland-Hodgman. Ide
dasarnya adalah memperhatikan edge pada setiap arah pandang, lalu clipping
polygon dengan persamaan edge kemudian lakukan clipping tersebut pada semua
edge hingga polygon terpotong sepenuhnya. Ada beberapa ketentuan dari algoritma
Sutherland-Hodgman, diantaranya adalah:
1. Polygon
dapat dipotong dengan setiap edge dari window sekali pada suatu waktu.
2. Vertex
yang telah dipotong akan disimpan untuk kemudian digunakan untuk memotong edge
yang masih ada.
3. Perhatikan
bahwa jumlah vertex, biasanya berubah-ubah dan sering bertambah.
2.1.6 METODE RASTERIZATION
2.1.6 METODE RASTERIZATION
Rasterization adalah sebuah proses
mengkonversi sebuah penggambaran vertex menjadi sebuah penggambaran pixel.
Rasterization juga biasa disebut scan conversion. Algoritma scan conversion
menggunakan metode incremental yang memanfaatkan koherensi. Sebuah metode
incremental menghitung sebuah nilai baru dengan cepat dari nilai lama, bukan
menghitung nilai baru dari awal dapat memperlambat. Koherensi dalam ruang atau
waktu adalah istilah yang digunakan untuk menunjukkan bahwa benda-benda
didekatnya
(misalnya pixels) memiliki kualitas
yang mirip dengan objek.
Tidak ada komentar:
Posting Komentar