Anda di halaman 1dari 30

Tugas Analisis Teknik #mplementasi $rafika Komputer

Analisis Algoritma Clipping, Rasterization, dan Hidden Surface Removal

ABSTRAK Di dalam makalah ini terdapat analisis algoritma-algoritma yang terbaik untuk diimplementasikan dalam library OpenGL. Dalam implementasinya untuk dapat menampilkan suatu objek dari titik-titik kordinat pixel hingga menjadi objek yang siap untuk ditampilkan dengan sempurna, dalam artian kadangkala saat menampilkan objek tersebut ada sedikit masalah misalnya objek tersebut berpotongan, koordinatnya melebihi batas window. Untuk mengatasinya diperlukan algoritma clpping, rasteri ation, dan !idden "ur#ace $emo%e. &etode clipping adalah metode yang digunakan untuk menentukan garis yang perlu digambar atau tidak.'lasan dilakukanna clpping adalah untuk menghindari perhitungankoordinat pixel yang rumit dan interpolasi parameter . Clpping dilakuakn sebelum proses rasterization. Setela proses clipping selan!utn"a dilakukan proses rasterization "ang mana dilakukan pengkonversian suatu citra vektor ke citra bitmap. Sedangkan Hidden Surface Removal merupakan suatu algoritma "ang digunakan untuk meng ilangkan penampilan bagian "ang tertutup ole ob!ek di depann"a. 'pabila ada dua bidang yang berpotongan, jika objek tersebut ditampilkan biasa tanpa menggunakan algoritma !idden sur#ace remo%al maka bagian yang berpotongan itu akan tidak kelihatan. 'lgoritma !idden "ur#ace $emo%al ini perlu dilakukan untuk menampilkan bidang perpotongan tersebut. (iap metode mempunya beberapa algoritma dan tentunya tiap algoritma memiliki kelebihan dan kekurangan untuk dianalisis. )ontohnya pada algoritma clpping didapatkan algoritma Liang-*arsky yang terbaik karena kecepatan waktu yang e#isien dan juga stabil. Untuk metode rasteri ation didapat algoritma &idpoint yang terbaik karena operasi bilangan pada &idpoint 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. "edangkan pada metode !idden "ur#ace $emo%e, algoritma yang terbaik adalah algoritma scan Line karena pada algoritma ini menggunakan memori yang lebih sedikit dan dari segi kecepatan juga lebih unggul. Kata kunci, clipping, rasterization, idden surface removal % sr& '()*AH+,+A) -ada bidang ilmu Gra#ika .omputer tentunya tidak dapat terlepas dari pembuatan dan manipulasi gambar /%isual0 secara digital. *entuk sederhana dari gra#ika komputer adalah gra#ika komputer 1D yang kemudian berkembang menjadi gra#ika komputer 2D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Gra#ika komputer sering dikenal juga dengan istilah %isualisasi data. Dalam makalah ini akan dijelaskan tiga metode tentang optimasi atau citra komputer. &etode-metode tersebut adalah clipping, rasteri ation, dan hidden sur#ace remo%al. .etiga metode ini tentu memiliki beberapa algoritma yang dapat dibandingkan algoritma mana yang terbaik. -ada metode clipping dilakukan pemrosesan untuk menentukan bagian mana yang perlu ditampilkan dalam clipping window. )lipping perlu dilakukan untuk meng indari per itungan koordinat pi-el "ang rumit dan interpolasi parameter. Setela itu dilakukan proses rasterization untuk mengkonversi suatu citra vektor ke citra bitmap. -ada langkah rasreti ation ini, koordinat dalam bentuk geometri dikon%ersi atau diubah kedalam #ragmen pada koordinat screen. "etelah langkah ini, tidak ada lagi kata 3poligon4. "emua geometri yang membentuknya ke dalam proses rasreti ation adalah dengan dinormalisasikan pembagian wilayah. -ada proses ini perlu mengkon%ersi kontinu /#loating pixel0 geometri ke dalam diskrit /integer0. "etelah itu ada metode !idden "ur#ace remo%al yang digunakan untuk menghilangkan penampilan bagian yang tertutup oleh objek yang didepannya. 'pabila ada dua bidang yang berpotongan, apabila ditampilkan biasa

tanpa menggunakan algoritma !idden sur#ace remo%al maka bagian yang berpotongan itu akan tidak kelihatan. 'lgoritma !idden "ur#ace $emo%al ini perlu dilakukan untuk menampilkan bidang perpotongan tersebut. Dari beberapa analisis nanti diharapkan mendapatkan algoritma terbaik dari masingmasing metode yang nantinya akan digunakan untuk pengimplementasian ke dalam library OpenGL.

.(T/*( C,#''#)$ 'da beberapa teknik yang dapat digunakan untuk melakukan proses clipping, diantaranya adalah +. 5ertex )lipping Untuk menentukan letak suatu titik di dalam clipping window dapat digunakan rumus 6min 7 x 7 6max 8min 7 y 7 8max Dimana 6min, 8min, 6max, 8max merupakan batas clip window untuk clipping window yang berbentuk persegi empat dengan posisi standar. .edua kondisi di atas harus terpenuhi agar teknik ini dapat dijalankan. 9ika salah satu tidak te rpenu i maka titik tersebut tidak berada dalam clipping 0indo0. Conto kasus 1 Terdapat dua bua titik, "aitu '2%3,3& dan '3%4,5& dengan 6min 7 2, 6ma- 7 8, 9min 7 2, dan 9ma- 7 8

Dari gambar di atas, dapat dilihat bahwa titik -1 berada diluar area )lipping :indow karena titik -1 koordinat ":n"a melebi i 9ma- dari clipping 0indo0 se ingga titik '3 tidak akan ditampilkan. &etode )lipping titik ini dapat diaplikasikan pada scene yang menampilkan ledakan atau percikan air pada gelombang laut yang dibuat model dengan mendistribusikan beberapa partikel. 1. Line )lipping Line clipping atau clipping garis diproses dengan inside-outside test dengan memeriksa endpoint dari garis tersebut. *erdasarkan test tersebut garis dapat dikategorikan menjadi empat jenis

<ama =n%isible /garis +0 ;isible %garis 3& Half partial %garis 4& <ull partial %garis =&

.ondisi (idak keliatan, terletak di luar clipping window (erletak di dalam clipping window (erpotong sebagian oleh clipping window (erpotong penuh oleh clipping window

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. +ntuk segmen garis dengan endpoint %-2,"2& dan %-3,"3& serta keduan"a terletak di luar clipping window memiliki persamaan, x > x+ ? u/x1 @ x+0 y > x+ ? u/x1 @ x+0 A > u > 2. 'ersamaan tersebut dapat digunakan untuk mengenali nilaiparameter u untuk koordinat pemotongan dengan batas clipping 0indo0. Secara umum algoritma line clipping dapat digambarkan sebagai berikut,

Baca garis

Baca Clipping Window

yes

Cek endpoint

Invisible

Tidak

Visible

Tidak

Line Clipping

Ya

Gambar Garis

'da beberapa algoritma dalam melakukan teknik line clipping, diantaranya adalah sebagai berikut )ohen @ "utherland, Liang @ *arsky, )yrus @ *eck, dan <icholl @ lee @ <icholl. Dan algoritma yang paling terkenal adalah algoritma )ohen"utherland dimana setiap endpoint atau titik ujung dari garis direpresentasikan ke dalam empat digit angka biner yang disebut region code dan Liang-*arsky. .etode Co en:Sut erland -ada metode )ohen-"utherland masing-masing digit tersebut akan menentukan posisi titik relati# terhadap batas clipping yang berbentuk segiempat. Untuk lebih jelasnya dapat dilihat pada gambar dan tabel di bawah ini. = 4 3 2 ? ? ? ?

*it ke-+ , region .iri /L0 *it ke-1 , region .anan /$0 *it ke-2 , region *awah /*0 *it ke-; , region 'tas /(0 *it dengan nilai + menandakan bahwa titik berada pada region yang bersangkutan. 9ika tidak maka diset nilai A.

Algoritma ,iang:Barsk" 'lgoritma ini menggunakan persamaan parameter garis dan gambaran pertidaksamaan dari range clipping box untuk menentukan titik temu antara garis dan clipping box. .ita harus melakukan pengujian sebanyak mungkin sebelum menghitung interseksi garis. &isalnya bentuk parameter biasanya garis lurus

Dan titik akan berada di clipping window jika dan Dinyatakan dalam empat pertidaksamaan dimana

Untuk perhitungannya adalah sebagai berikut

+. Garis paralel ke tepi clipping window mempunyai batas pk = 0 1. 9ika untuk setiap k, qk < 0, maka garis sepenuhnya berada di luar dan dapat dieliminasi. 2. *ila pk < 0 maka dihasilkan garis dari luar ke dalam clipping window. *ila pk > 0 maka dihasilkan garis dari dalam ke luar. ;. Untuk setiap pk tidak sama dengan A maka dihasilkan titik interseksi B. Untuk setiap line, hitung u1 dan u2. Untuk u1, lihat batas pk<0 /luardalam0. 'mbil u1 untuk menjadi yang terbesar di antara 9ika u1>u2 maka garis berada di luar dan ditolak. dan untuk u2, lihat batas . pk>0 /dalamluar0. 'mbil u2 untuk menjadi yang minimum dari

2.

-olygon )lipping -olygon merupakan bidang yang tersusun dari %erteks /titik sudut0 dan edge

/garis penghubung setiap %erteks0. Untuk dapat melakukan proses clipping pada polygon diperlukan algoritma yang lebih kompleks dari kedua teknik clipping yang telah di bahas sebelumnya. "alah satunya adalah algortima "utherland-!odgman. =de 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. 'da beberapa ketentuan dari algoritma "utherland!odgman, diantaranya adalah +. -olygon dapat dipotong dengan setiap edge dari window sekali pada suatu waktu 1. 5ertex yang telah dipotong akan disimpan untuk kemudian digunakan untuk memotong edge yang masih ada 2. -erhatikan bahwa jumlah %ertex biasanya berubah-ubah dan sering bertambah

.ata kata romantis 'ku ingin meraih kembali cintamu menjadi kenyataan. "aat diriku dalam siksaan cinta, dirimu melenggang pergi tanpa pernah memikirkanku. *uat apa berlari dalam kelamG "edang kabut pun tak mau menyibak. *iarlah semuanya berlalu, mimpi pun aku tak inginkan. &eskipun rindu ini tercipta untukmu. "aat bertemu, aku tak peduli. "aat kau pergi, aku selalu menantimu. 'pakah ini namanya cintaG .au datang disaat keegoisan akan cinta tengah mendera. &embawa cahaya dan kedamaian, membuatku tidak mudah menyerah untuk merengkuh kisah cinta bersamamu. Dalam hati aku menanti, kuserahkan hati sebagai tanda ketulusan cinta. &eski adakah cinta yang tulus setelah sekian lama lelah mencari. .apankah perjalanan ini kan berakhirG -enderitaanku adalah bayangan gelap bagi dirimu, saat kesetiaan menjadi alasan untuk mencampakankuH 'ku takkan lari dari cintamu yang selalu memasungku. "esuatu yang terbesar dalam hidup ialah mengampuni orang yang menyakiti kita dan tetap mengasihinya. 9angan pernah berkata selamat tinggal jika masih ingin mencoba. 9angan pernah menyerah selama merasa masih dapat maju. 9angan pernah berkata ya bila tidak menyukainya. Untuk apa bicara cinta, jika hatimu tak terbuka. Untuk apa bicara cinta, jika matamu tak bercahaya. Untuk apa bicara cinta, jika hanya membuatmu menderita. *agiku, dirimu adalah sang cinta 'pakah arti cinta jika tidak saling mengerti satu sama lain. 9ika keegoisan yang muncul, itu bukanlah cinta. .amu seorang interior desainer yaGG'bi , pas kamu masuk, ruangan ini jadi kelihatan lebih indah sih.. .amu mau sakit nggakG (api kalau kenalan ma aku, mau kanGG .ayaknya saya pernah &lht kamu deh....(p dmn yahG Oh iya, dalam mimpiku semalem. 'yah kamu pasti teroris. "oalnya kamu lah bom hatikuHH .amu yakin kita gak pernah ketemuGG 'ku yakin di

+A

kehidupan sebelumnya kita ini pacaranlooohhh.. !ai, kamu senang minum kopi yaG"oalnya aku nggak bisa tidur ngeliatin kamu/namanya juga rayuan, yang minum siapa, yang begadang siapa....0 .amu percaya ama cinta pada pandangan pertama gakGG 'tau aku perlu ngulang melewatimu lagiG'ku gak pernah percaya pada cinta pada pandangan pertama, hingga kamu melintas di depanmataku.. .amu punya peta gak sihGG "oalnya aku terus tersesat di matamu nih. Lukisan emang bisa ngejelasin ribuan kata. (api saat aku ngeliat kamu, gak ada kata-kata satu pun di dunia ini yang bisa ngejelasin. .alo kamu jadi cocacola. .ayaknya aku bakal kehausan terus deh.. (au gak, kayaknya badan kamu terbuat dari FAI air, yaGG "oalnya kamu bikin aku kehausan nihHH .alo aku jadi kanibal "umanto, aku pasti menghabisi kamu deh. !abis kamu menggoda banget sih. .amu tau gak yang namanya (eori $elati%itasGG 8aitu kalau kita menaruh tangan kita di atas panci selama satu menit, rasanya seperti satu jam. Dan kalau aku berduaan bersama wanita cantik seperti mu selama satu jam, rasanya seperti satu menit. &elewati satu jam mengenalmu, seperti menambah satu hari usiaku "aat aku melihat kamu tersenyum, hatiku berlomba seperti di pacuan mobil, yang lari dengan kecepatan dahsyat. !atiku meleleh setiap kali kamu memandangku seperti itu. (iap kali aku melihatmu, waktu seperti berhenti, dan aku menjadi seperti orang koma, terpaku dengan hati yang berdetak gak karuan. (au gakG :aktu kamu lewat, aku ngerasa mendadak silau. "oalnya ada bidadari lewat di depanku "ejak pertama melihat kamu, aku percaya kalau bidadari itu ada. .ayaknya aku harus telpon ke surga deh. "oalnya aku rasa mereka kehilangan satu malaikatnya nih. 'ku udah pernah lihat malaikat di surga. 'ku udah lihat hal-hal yang orang-orang cuma bisa bayangkan. (api aku belum pernah lihat ada makhluk lebih manis dari kamu. .atanya bidadari itu sebenernya gak ada. (api kenapa kamu ada di siniGG "aat aku bertemu denganmu, para malaikatku membisikkan "J&-U$<'HH :aktu mengandung ibu kamu, pasti ibu kamu dulunya ngidam minum kopi yaG "oalnya kamu bikin aku melek terus. 'ku gak tahu apa yang kamu pikir tentang aku. (api begitu ngelihat kamu, perutku seperti diserbu kupu-kupu. .amu seperti donat topping cokelat dehH !abis...kamu manis banget, sihHH Js krim ku kok manis banget yaGG -asti karena makannya sambil melihat kamu. .amu pasti sering dikerubungi semut ya, soalnya kamu manis sih. .amu tau gak de#inisi cantikG )antik, ya kamu ituH !ari ini mood saya jelek banget, biasanya saya bakal semangat lagi kalau lihat cewek cantik senyum. .amu mau, kan senyum buat sayaG &ata kamu gak hanya indah, tapi matamu juga gerbang menuju surga yang ingin kumasuki.. .alau ada yang bilang wanita-wanita di surga lebih cantik daripada wanita di bumi, mereka kayaknya belum lihat kamu di sini. :aktu menciptakanmu makhluk indah sepertimu, kayaknya (uhan menghabiskan banyak waktu lembur deh. 'ku heran kenapa para kumbang dan kupu-kupu di taman ngelewatin yang sangat indah sepertimu. .amu sangat cantik, sampai kereta api pun bisa keluar dari rel nya kalau ngeliat kamu. .amu makin cantik dan terus bertambah cantik, tiap kali aku memandangmu. 'ku cinta kamu, karena telah mendengarkan segala pikiranku, mengerti segala mimpiku, dan mengisi hidupku dengan rasa suka cita. (iap kali mengagumi kecantikanmu, seluruh bagian tubuhku seperti kesemutan, gak bisa ngapangapain. "enyum kamu manis banget deh, hatiku sampai lumer ngelihatnya. 'yah kamu ahli perbintangan yaG "ebab aku lihat banyak bintang di matamu. .erlip di matamu, kayaknya bisa bikin bintang-bintang iri deh. !ari sudah beranjak semakin siang, namum bayangan tentang mimpi semalam masih kuat dalam ingatan. *erdamailah dengan diri sendiri agar gundah itu segera pergi. 'ku memanglah bukan

++

wanita yang sebijaksana .hadijah, sepandai 'isyah, setangguh Katimah dan seikhlas "umayyah. <amun aku hanyalah wanita akhir aman yang selalu berusaha memberikan yang terbaik bagimu calon imamku kelak. (erkadang kita diberikan rasa kesepian yang mendalam, agar sadar betapa berharganya sebuah kebersamaan. -ernah ada suatu masa ketika aku tertawa bersamamu, dalam peluk hangatmu, bersama kita membunuh malam. (uhan ... jika boleh aku meminta, kuingin dialah sang belahan jiwaku kelak, penyempurna agama dan ibadahku, saling melengkapi apa yang belum lengkap saat ini. (erima kasih untuk kebahagian kecil yang selalu engkau hadirkan setiap harinya dalam hidupku. 'ku mencintaimu sejak pertama kali mengenalmu, kemarin, hari ini, esok dan entah sampai kapan. &emelukmu, membelaimu dan memberikan kehangatan padamu, itu yang akan aku lakukan ketika bertemu denganmu malaikat kecilku. "etiap detik dari kehadiran mu adalah keajaiban bagi hidupku. Dalam mimpi pun kamu masih menjadi penyemangat hidupku. &erenungi kejadian yang terjadi pada malam itu, benar-benar malam terindah yang pernah kulalui bersamamu. .adang selalu buat aku marah, kadang selalu buat aku kesal, dan kadang selalu buat aku menangis, namun anehnya aku tidak pernah bisa membencimu karena kamu juga yang selalu membuat aku tertawa bahagia 9ika dia adalah belahan jiwamu, maka dia akan memperlakukanmu dengan hormat dan tidak akan menelantarkanmu untuk mengemis perhatian &enikmati dinginnya malam sambil memandangi potret sosok yang selalu kurindukan. "emua hal yang ada pada dirimu membuat ku benar-benar tak berdaya dibuatnya, kamu istimewa karena kamu sempurna. 'ku menyayangimu tak seberapa dalam orang lain yang merasa menyayangimu, aku memilikimu tak seberapa hebat orang lain yang merasa telah memilikimu seutuhnya. 'ku ada karena rasa yang ada di dalam hatiku. &alam ini ingin kutuliskan sebuah catatan kecil, catatan kecil tentang dirimu, diriku, dan cinta kita. &eskipun sesaat, namun keindahan itu masih bisa aku nikmati. 9ika hat mu terluka karena ulahku, biarkan cintaku yang menyembuhkan luka hati mu *utuh ribuan detik bagi ku untuk mengartikan perasaan ini, hingga akhirnya aku sadari bahwa aku menyayangimu. "emangat dalam hidupku itu adalah kamu. "aat melihatmu semuanya jadi berubah. Dalam semua ketidakmungkinan ini, namun aku merasakan kenyamanan ketika berada di dekat mu. &eskipun bertemu dengan mu hanya lewat mimpi semalam, namun itu cukup mengobati rasa rinduku padamu. 9ika cinta adalah sebuah pengorbanan, maka perasaanlah yang harus dikorbankan. Dan untukmu aku rela korbankan semuanya hanya untuk melihatmu tersenyum bahagia $ead more at, http,LLoperatorku.blogspot.comL1A+1LADLkata-kata-romantis.html )opyright by operatorku.blogspot.com (erima kasih sudah menyebarluaskan aritkel ini .ata kata romantis 'ku ingin meraih kembali cintamu menjadi kenyataan. "aat diriku dalam siksaan cinta, dirimu melenggang pergi tanpa pernah memikirkanku. *uat apa berlari dalam kelamG "edang kabut pun tak mau menyibak. *iarlah semuanya berlalu, mimpi pun aku tak inginkan. &eskipun rindu ini tercipta untukmu. "aat bertemu, aku tak peduli. "aat kau pergi, aku selalu menantimu. 'pakah ini namanya cintaG .au datang disaat keegoisan akan cinta tengah mendera. &embawa cahaya dan kedamaian, membuatku tidak mudah menyerah untuk merengkuh kisah cinta bersamamu. Dalam hati aku menanti, kuserahkan hati sebagai tanda ketulusan cinta. &eski adakah cinta yang tulus setelah sekian lama lelah mencari. .apankah perjalanan ini kan berakhirG -enderitaanku adalah bayangan gelap bagi dirimu, saat kesetiaan menjadi alasan untuk mencampakankuH 'ku takkan lari dari cintamu yang selalu memasungku. "esuatu yang terbesar dalam hidup ialah mengampuni orang

+1

yang menyakiti kita dan tetap mengasihinya. 9angan pernah berkata selamat tinggal jika masih ingin mencoba. 9angan pernah menyerah selama merasa masih dapat maju. 9angan pernah berkata ya bila tidak menyukainya. Untuk apa bicara cinta, jika hatimu tak terbuka. Untuk apa bicara cinta, jika matamu tak bercahaya. Untuk apa bicara cinta, jika hanya membuatmu menderita. *agiku, dirimu adalah sang cinta 'pakah arti cinta jika tidak saling mengerti satu sama lain. 9ika keegoisan yang muncul, itu bukanlah cinta. .amu seorang interior desainer yaGG'bi , pas kamu masuk, ruangan ini jadi kelihatan lebih indah sih.. .amu mau sakit nggakG (api kalau kenalan ma aku, mau kanGG .ayaknya saya pernah &lht kamu deh....(p dmn yahG Oh iya, dalam mimpiku semalem. 'yah kamu pasti teroris. "oalnya kamu lah bom hatikuHH .amu yakin kita gak pernah ketemuGG 'ku yakin di kehidupan sebelumnya kita ini pacaranlooohhh.. !ai, kamu senang minum kopi yaG"oalnya aku nggak bisa tidur ngeliatin kamu/namanya juga rayuan, yang minum siapa, yang begadang siapa....0 .amu percaya ama cinta pada pandangan pertama gakGG 'tau aku perlu ngulang melewatimu lagiG'ku gak pernah percaya pada cinta pada pandangan pertama, hingga kamu melintas di depanmataku.. .amu punya peta gak sihGG "oalnya aku terus tersesat di matamu nih. Lukisan emang bisa ngejelasin ribuan kata. (api saat aku ngeliat kamu, gak ada kata-kata satu pun di dunia ini yang bisa ngejelasin. .alo kamu jadi cocacola. .ayaknya aku bakal kehausan terus deh.. (au gak, kayaknya badan kamu terbuat dari FAI air, yaGG "oalnya kamu bikin aku kehausan nihHH .alo aku jadi kanibal "umanto, aku pasti menghabisi kamu deh. !abis kamu menggoda banget sih. .amu tau gak yang namanya (eori $elati%itasGG 8aitu kalau kita menaruh tangan kita di atas panci selama satu menit, rasanya seperti satu jam. Dan kalau aku berduaan bersama wanita cantik seperti mu selama satu jam, rasanya seperti satu menit. &elewati satu jam mengenalmu, seperti menambah satu hari usiaku "aat aku melihat kamu tersenyum, hatiku berlomba seperti di pacuan mobil, yang lari dengan kecepatan dahsyat. !atiku meleleh setiap kali kamu memandangku seperti itu. (iap kali aku melihatmu, waktu seperti berhenti, dan aku menjadi seperti orang koma, terpaku dengan hati yang berdetak gak karuan. (au gakG :aktu kamu lewat, aku ngerasa mendadak silau. "oalnya ada bidadari lewat di depanku "ejak pertama melihat kamu, aku percaya kalau bidadari itu ada. .ayaknya aku harus telpon ke surga deh. "oalnya aku rasa mereka kehilangan satu malaikatnya nih. 'ku udah pernah lihat malaikat di surga. 'ku udah lihat hal-hal yang orang-orang cuma bisa bayangkan. (api aku belum pernah lihat ada makhluk lebih manis dari kamu. .atanya bidadari itu sebenernya gak ada. (api kenapa kamu ada di siniGG "aat aku bertemu denganmu, para malaikatku membisikkan "J&-U$<'HH :aktu mengandung ibu kamu, pasti ibu kamu dulunya ngidam minum kopi yaG "oalnya kamu bikin aku melek terus. 'ku gak tahu apa yang kamu pikir tentang aku. (api begitu ngelihat kamu, perutku seperti diserbu kupu-kupu. .amu seperti donat topping cokelat dehH !abis...kamu manis banget, sihHH Js krim ku kok manis banget yaGG -asti karena makannya sambil melihat kamu. .amu pasti sering dikerubungi semut ya, soalnya kamu manis sih. .amu tau gak de#inisi cantikG )antik, ya kamu ituH !ari ini mood saya jelek banget, biasanya saya bakal semangat lagi kalau lihat cewek cantik senyum. .amu mau, kan senyum buat sayaG &ata kamu gak hanya indah, tapi matamu juga gerbang menuju surga yang ingin kumasuki.. .alau ada yang bilang wanita-wanita di surga lebih cantik daripada wanita di bumi, mereka kayaknya belum lihat kamu di sini. :aktu menciptakanmu makhluk indah sepertimu, kayaknya (uhan menghabiskan banyak waktu lembur deh. 'ku heran kenapa para kumbang dan

+2

kupu-kupu di taman ngelewatin yang sangat indah sepertimu. .amu sangat cantik, sampai kereta api pun bisa keluar dari rel nya kalau ngeliat kamu. .amu makin cantik dan terus bertambah cantik, tiap kali aku memandangmu. 'ku cinta kamu, karena telah mendengarkan segala pikiranku, mengerti segala mimpiku, dan mengisi hidupku dengan rasa suka cita. (iap kali mengagumi kecantikanmu, seluruh bagian tubuhku seperti kesemutan, gak bisa ngapangapain. "enyum kamu manis banget deh, hatiku sampai lumer ngelihatnya. 'yah kamu ahli perbintangan yaG "ebab aku lihat banyak bintang di matamu. .erlip di matamu, kayaknya bisa bikin bintang-bintang iri deh. !ari sudah beranjak semakin siang, namum bayangan tentang mimpi semalam masih kuat dalam ingatan. *erdamailah dengan diri sendiri agar gundah itu segera pergi. 'ku memanglah bukan wanita yang sebijaksana .hadijah, sepandai 'isyah, setangguh Katimah dan seikhlas "umayyah. <amun aku hanyalah wanita akhir aman yang selalu berusaha memberikan yang terbaik bagimu calon imamku kelak. (erkadang kita diberikan rasa kesepian yang mendalam, agar sadar betapa berharganya sebuah kebersamaan. -ernah ada suatu masa ketika aku tertawa bersamamu, dalam peluk hangatmu, bersama kita membunuh malam. (uhan ... jika boleh aku meminta, kuingin dialah sang belahan jiwaku kelak, penyempurna agama dan ibadahku, saling melengkapi apa yang belum lengkap saat ini. (erima kasih untuk kebahagian kecil yang selalu engkau hadirkan setiap harinya dalam hidupku. 'ku mencintaimu sejak pertama kali mengenalmu, kemarin, hari ini, esok dan entah sampai kapan. &emelukmu, membelaimu dan memberikan kehangatan padamu, itu yang akan aku lakukan ketika bertemu denganmu malaikat kecilku. "etiap detik dari kehadiran mu adalah keajaiban bagi hidupku. Dalam mimpi pun kamu masih menjadi penyemangat hidupku. &erenungi kejadian yang terjadi pada malam itu, benar-benar malam terindah yang pernah kulalui bersamamu. .adang selalu buat aku marah, kadang selalu buat aku kesal, dan kadang selalu buat aku menangis, namun anehnya aku tidak pernah bisa membencimu karena kamu juga yang selalu membuat aku tertawa bahagia 9ika dia adalah belahan jiwamu, maka dia akan memperlakukanmu dengan hormat dan tidak akan menelantarkanmu untuk mengemis perhatian &enikmati dinginnya malam sambil memandangi potret sosok yang selalu kurindukan. "emua hal yang ada pada dirimu membuat ku benar-benar tak berdaya dibuatnya, kamu istimewa karena kamu sempurna. 'ku menyayangimu tak seberapa dalam orang lain yang merasa menyayangimu, aku memilikimu tak seberapa hebat orang lain yang merasa telah memilikimu seutuhnya. 'ku ada karena rasa yang ada di dalam hatiku. &alam ini ingin kutuliskan sebuah catatan kecil, catatan kecil tentang dirimu, diriku, dan cinta kita. &eskipun sesaat, namun keindahan itu masih bisa aku nikmati. 9ika hat mu terluka karena ulahku, biarkan cintaku yang menyembuhkan luka hati mu *utuh ribuan detik bagi ku untuk mengartikan perasaan ini, hingga akhirnya aku sadari bahwa aku menyayangimu. "emangat dalam hidupku itu adalah kamu. "aat melihatmu semuanya jadi berubah. Dalam semua ketidakmungkinan ini, namun aku merasakan kenyamanan ketika berada di dekat mu. &eskipun bertemu dengan mu hanya lewat mimpi semalam, namun itu cukup mengobati rasa rinduku padamu. 9ika cinta adalah sebuah pengorbanan, maka perasaanlah yang harus dikorbankan. Dan untukmu aku rela korbankan semuanya hanya untuk melihatmu tersenyum bahagia $ead more at, http,LLoperatorku.blogspot.comL1A+1LADLkata-kata-romantis.html )opyright by operatorku.blogspot.com (erima kasih sudah menyebarluaskan aritkel ini

+;

.(T/*( RAST(R#@AT#/) $asteri ation adalah sebuah proses mengkon%ersi sebuah penggambaran %ertex menjadi sebuah penggambaran pixel. $asteri ation juga biasa disebut scan con%ersion. 'lgoritma scan con%ersion menggunakan metode incremental yang meman#aatkan koherensi. "ebuah metode incremental menghitung sebua nilai baru dengan cepat dari nilai lama, bukan meng itung nilai baru dari a0al "ang dapat memperlambat. Ko erensi dalam ruang atau 0aktu adala "ang mirip dengan ob!ek. istila "ang digunakan untuk menun!ukkan ba 0a benda:benda didekatn"a %misaln"a pi-els& memiliki kualitas

-ada langkah rasreti ation ini, koordinat dalam bentuk geometri dikon%ersi atau diubah kedalam #ragmen pada koordinat screen. "etelah langkah ini, tidak ada lagi kata 3poligon4. "emua geometri yang membentuknya ke dalam proses rasreti ation adalah dengan dinormalisasikan pembagian wilayah. -ada proses ini perlu mengkon%ersi kontinu /#loating pixel0 geometri ke dalam diskrit /integer0.

2.

Rasterization Titik
Dalam keadaan de#ault, sebuah titik diraster dengan memotong kordinat 6w dan 8w /ingat bahwa subcript menunjukkan bahwa ini adalah x dan y clipping window0

+B

ke integer. 'lamat ini /x,y0, berdasarkan pada data terkait dengan simpul yang sesuai ke titik, dikirim sebagai sebuah #ragmen tunggal untuk tahap per-#ragme dari GL tersebut. J#ek dari lebar titik lebih dari +. A tergantung pada keadaan antialiasing titik. 9ika antialiasing dnonakti#kan, lebar aktual ditentukan oleh pembulatan lebar dipasok ke integer terdekat, kemudian mengapit ke titik lebar non-antialiasing maksimum implementation-dependent. &eskipun nilai implementation-dependent tidak dapatdiMuery, tapi harus tidak kurang dari lebar titik maksimum antialasing implementationdependent, dibulatkan ke nilai integer terdekat, serta tidak boleh kurang dari +. 9ika lebarnya merupakan ganjil maka

-ersamaan di atas dihitung dari 6w dan 8w %ertex dan grid persegi berlebar ganjil berpusat di /x,y0 mende#inisikan pusat #ragmen raster /ingat bahwa pusat-pusat #ragmen terletak pada nilai koordinat jendela hal#-integer0. 9ika lebarnya genap maka pusat titik adalah

-usat #ragmen raster adalah nilai koordinat hal#-integer window dalam persegi yang berpusat di /x,y0.

+C

3$asteri ation non-antialiasing. (anda silang menunjukkan pusat #ragmen yang dihasilkan oleh rasteri ation untuk setiap titik yang terletak di wilayang gelap. Garis putus-putus pada grid terletak pada koordinat hal#-integer.4

9ika antialasing diakti#kan, maka rasteri ation titik menghasilkan #ragmen untuk setiap persegi #ragmen yang memotong daerah yang berada dalamlingkaran berdiameter sama dengan lebar titik saat ini dan berpusat pada titik /6w, 8w0. -erhatikan gambar di bawah ini

+D

-ada gambar di atas, titik hitam menunjukkan titik yang akan diraster. Daerah gelap memiliki lebar yang ditentukan. (anda x menunjukkan pusat #ragmen yang dihasilkan oleh rasteri ation. -erhitungan #ragmen didasarkan pada bagian wilayah gelap yang menutupi persegi #ragmen.

3.

Rasterization ,ine
Line segmen rasteri ation dimulai dengan mengkarakterisasi segmen sebagai xmajor dan y-major. "egmen garis x-major mempunyai penurunan inter%al mendekati N-+,+O dan semua segmen garis lainnya merupakan y-major /slope atau turunan ditermain oleh endpoint segmen0. $asteri ation ditentukan hanya untuk segmen xmajor kecuali dalam kasus dimana memodi#ikasi untuk segmen y-major yang sudah jelas. =delanya, GL menggunakan aturan Pdiamond-exitQ untuk menentukan #ragmen yang diproduksi oleh rasteri ation segmen garis. Untuk setiap #ragmen # dengan pusat di window koordinat x dan y mendi#inisikan wilayah berbentuk PdiamondQ yang merupakan intersection empat hal# plan. .etika -a dan -b berada di pusat #ragmen, karakterissasi #ragmen mengurasi untuk algoritma *resenham dengan satu modi#ikasi. !asil baris dalam deskripsi ini adalah Psetengah terbukaQ. 'rtinya bahwa #ragmen terakhir /sesuai dengan -b0 tidak ditarik. =ni berati bahwa ketika proses raster segmen garis tersambung,endpoint akan diproduksi hanya sekai bukan dua kali /seperti yang terjadi pada algoritma *resenhamQs0. *eberapa algoritma yang digunakan a. 'lgoritma <ai%e 'lgoritma ini dimulai dari segmen garis pada koordinat dengan nilai bulat /integer0 untuk endpoint

+E

b.

m = (y2 - y1) (!2 - !1) y = m"!#$ 1 operasi #loating-point per piksel

'lgoritma DD' /Digital Di##erential 'naly er0

&isalkan po > /xo,yo0 dan p+ > /x+,y+0 menjadi dua endpoint dari suatu garis. .ita akan mengasumsikan bahwa titik tersebutberada di koordinat xo,yo,xi,yi. Dimana intersep titik dari po, p+ adalah y > mx ? b dan m > /y1-y+0L/x1-x+0 dan intersep y adalah b>y+-mx+.
void Line_DDA(intx1, inty1, intx2, inty2) { floatdy= y2-y1; floatdx = x2-x1; floatm = dy/dx; floaty = y1; for (intx=x1; x<=x2; x++) { !t ixel(x,ro!nd(y)); y += m; "

+F

"

c.

'lgoritma &idpoint Untuk menerapkan kriteria midpoint, kita hanya perlu menghitung
d = #($) = #(x +1, y +%&') (f d)%t*en move to +, el-e move to ,

Dari gambar diatas untuk memili )( atau ( "aitu dengan meng itung di mana sisi garis . terletak. y = dy/dx * x + b Oleh karena itu , F(x,y) = dy*x dx*y + b*dx = 0 A tepat di garis %(!,y) > RA di bawah garis SA di atas garis 9ika J maka , dnew = %(!p#2,yp#0.&) = dy"(!p#2) ' d!"(yp#0.&) # $"d! (d = dnew ' d = dy dnew = d # (d = d # dy

1A

9ika <J maka , dnew = %(!p#2,yp#1.&) = dy"(!p#2) 'd!"(yp#1.&) # $"d! (d = dnew ' d = dy ' d! dnew = d # (d = d # dy ' d!

4.

Rasterization 'ol"gon

Langkah pertama rasteri ation poligon adalah untuk menentukan apakah poligon back #acing atau #ront #acing. 'turan untuk menetukan #ragmen yang dihasilkan oleh rasteri ation disebut titik sampling. Kragmen pusat yang berada di dalam poligon ini diproduksi ole rasteri ation. -erlakuan khusus diberikan kepada sebuah #ragmen yang pusatnya terletak di tepi batas poligon.

1+

-oligon stippling bekerja dengan banyak cara yang sama sebagai garis stippling, maskinh #ragmen tertentu yang dihasilkan oleh rasteri ation sehingga mereka tidak dikirim ke tahap GL berikutnya. !al ini terlepas dari keadaan poligon antialiasing. -olygon )on%ex Untuk poligon con%ex pertama yang harus dilakukan adalah cari %ertex atas dan %ertex bawah. .emudian list edge yang berada di sepanjang sisi kiri dan kanan. Untuk setiap scan line dari atas ke bawah, cari jarak antara endpoint kiri dan kanan /xl,xr0 kemudian isi pixelnya.

-oligon )onca%e 'da tiga pendekatan yang bisa digunakan. 8ang pertama adalah dengan e%enodd rule yang mana untuk setiap scan linenya kita perlu mencari semua scan line atau interseksi poligon. .emudian urutkan dari kiri ke kanan dan mengisikan rentang interior diantara interseksi. -endekatan keduua adalah dengan winding rule yang berorientasi garis.

-erbedaan e%en-odd rule dan winding rule ,

11

-erbedaan hanya terdapat di interseksi polygon itu sendiri

=.

Resterization Antialiasing
'ntialiasing poligon merester poligon dengan memproduksi sebuah #regmen dimanapun interior poligon persegi berpotongan. "ebuah datum yang terkait ditugaskan untuk #ragmen dengan mengintegrasikan nilai datum yang sama dengan wilayah intersect dari #ragmen persegi dengan interior poligon dan membagi nilai integrasi dengan wilayah intersect. Untuk #ragmen persegi berada sepenuhnya di dalam poligon. <ilai suatu datum di pusat #ragmen mungkin digunakan sebagai pengganti mengintegrasikan nilai seluruh #ragmen. 'da dua algoritma yaitu 'lgoritma *resenham /'liased-line0 yang mana hanya satu point di setiap kolom dan 'lgoritma Grupta-"proull /'ntialiased-line0 yang mana intensitas point tergantung oleh jangkauan garis piksel.

12

.(T/*( H#**() S+R<AC( R(./;A,

2. Algoritma @ Buffer
'lgoritma Depth *u##er mempergunakan image space sebagai dasar proses perhitungan tampak atau tidaknya permukaan suatu objek. 'lgoritma ini menguji tampak atau tidaknya setiap pixel pada suatu permukaan objek yang satu terhadap permukaan objek yang lain dan harga permukaan yang paling dekat dengan bidang pandang yang akan tersimpan dalam Depth *u##er dan selanjutnya harga intensitas warna dari permukaan pixel tersebut disimpan di dalam $e#resh *u##er atau algoritma Depth *u##er ini akan menampilkan bagian permukaan objek berdasarkan posisi yang paling dekat dengan bidang pandang dengan proyeksi orthogonal atau proyeksi tegak lurus.

1;

-ada gambar + memperlihatkan tiga permukaan bidang pada berbagai kedalaman dengan posisi /x,y0 yang sama untuk setiap permukaan. "edangkan pada gambar 1 dapat dilihat bahwa permukaan "+ mempunyai harga sehingga harga implementasinya. Langkah-langkah algoritma )ept* +u,,er adalah sebagai berikut terkecil pada posisi /x,y0 disimpan pada Depth *u##er dan harga intensitas "+ pada /x,y0

disimpan pada $e#resh *u##er. 9adi, algoritma ini membutuhkan dua bu##er untuk

1B

+.

=nisialisasi Depth *u##er dan re#resh *u##er sehingga untuk semua koordinat posisi /x,y0 depth /x,y0 > A dan re#resh /x,y0 > background.

1.

Untuk setiap posisi pada permukaan, bandingkan harga kedalaman terhadap harga yang tersimpan pada Depth *u##er untuk menentukan penampakan. a. b. !itung harga untuk setiap posisi /x,y0 pada permukaan. jika Rdepth /x,y0, masukkan depth /x,y0 > dan re#resh /x,y0 > i, dimana i

adalah harga dari intensitas pada posisi /x,y0 di atas permukaan. -ada langkah terakhir, jika lebih kecil dari harga Depth *u##er untuk posisi

tersebut, titik tidak tampak. Depth *u##er berisi harga untuk permukaan yang tampak dan $e#resh *u##er berisi hanya harga intensitas. 'lur proses !idden "ur#ace $emo%al dengan menggunakan algoritma T bu##er adalah sebagai berikut &enginisialisasi isi *u##er &elakukan uji penampakan keseluruhan bagian permukaan setiap link mulai dari awal link hingga akhir link sebanyak satu kali &emindahkanLmenampilkan seluruh isi T bu##er

1C

3. Algoritma Scan:,ine
'lgoritma "can-Line digunakan untuk memecahkan masalah penggunaan memori yang besar dengan satu baris scan untuk memproses semua permukaan objek. 'lgoritma melakukan scan dengan arah sumbu y sehingga memotong semua permukaan bidang dengan arah sumbu x dan dan membuang garis-garis yang tersembunyi. -ada setiap posisi sepanjang baris scan, perhitungan kedalaman dibuat untuk setiap permukaan untuk menentukan mana yang terdekat dari bidang pandang. .etika permukaan yang tampak sudah ditentukan, harga intensity dimasukkan ke dalam bu##er.

1D

'lur proses algoritma "can Line secara garis besar adalah sebagai berikut &enginisialisasi *u##er secara berulang &elakukan scan baris yang diperlukan. *erpindah dari awal link ke akhir link sebanyak 8maks @ 8mins. &emindahkanLmenampilkan isi bu##er satu baris secara berulang.

1E

4. Analisis
Dari segi penggunaan memori, untuk algoritma bu##er, memori yang diperlukan adalah sebesar bidang layar yang akan digambar dikali dengan besar %ariabel kedalaman dan warna. "ebagai contoh, proses !iddden "ur#ace remo%eal dilakukan pada layar dengan bidang berukuran C;A x CEA pixel. Untuk bu##er diperlukan daerah pada memori dengan ukuran C;A 6 CEA U C byte sama dengan +E;21AA byte /+,E &*0. "edangkan untuk scan line memori yang diperlukan adalah sebesar jumlah kolom bidang layar yang akan digambar dikalikan dengan besar %ariabel kedalaman dan warna. Untuk bu##er scan depth hanya diperlukan C;AUC > 2E;A byte /2,DB .b0. Dengan dimensi yang sama maka dibutuhkan C;AU; byte /ukuran tiap integer %ariabel warna0 sama dengan C;AA byte /1,B .b0. 9adi total hanya membutuhkan C;AA .b /C,1B0. Untuk analisis perbandingan kecepatan dapat dilihat pada tabl di bawah ini

*A<TAR '+STAKA http,LLcaig.cs.nctu.edu.twLcourseL)G1AADLslidesLraster.pd# http,LLwww.opengl.orgLdocumentationLspecsL%ersion+.+Lglspec+.+Lnode;+.html http,LLre#erence.#indtarget.comLsearchL!iddenI1Asur#aceI1AdeterminationL

1F

http,LLcs.#it.eduLVwdsLclassesLgraphicsL$asteri eLrasteri eLrasteri e.html http,LLen.wikipedia.orgLwikiL$asterisation http,LLmeilgra#ico.wordpress.comL1A+AL+AL2ALcomputer-graphics-clipping-algoritmL *iktat Kulia $rafika Komputer BAB #; Clipping

2A

Anda mungkin juga menyukai