Tuesday, October 26, 2010

Clipping (Episode 1) - Clipping Line

Wah, dah lama banget gak posting di ni blog... Biasanya Anis posting kalau emang lagi ada moodnya, nah sekarang kebetulan lagi ada semangat bwat ngerjain tugas.... Yah itung-itung bagi-bagi ilmu ke orang lain....


Berhubung kemaren pas kuliah Komputer Grafik a.k.a KomGraf, Anis baru aja belajar Clipping, sekarang anis mau ngasihsedikit step-step tentang bagaimana bikin Clipping terhadap Garis (Clipping Line) sama terhadap poligon (Clipping Polygon)...


Oiya sebelum kita melangkah lebih jauh, ada pepatah “Tak Kenal Maka Tak Sayang”, jadi mumpung belum kejauhan kita kenalan dulu sama “Clipping”. Clipping tu sebenarnya apaan si???

Clipping sebenarnya adalah pemotongan suatu objek dengan bentuk tertentu. Ada beberapa alasan kenapa clipping itu dilakukan :

  1. Menghindari perhitungan pixel yang rumit
  2. Intepolasi parameter

Nah, untuk mempermudah proses clipping ini sendiri maka dibutuhkan “Clipping Window” yang fungsinya adalah untuk mengidentifikasi objek yang akan di-clipping dan menastikan bahwa data yang diambilnya yang terdapat di dalam clipping window. Bentuk dari clipping window itu sendiri bisa bermacam-macam, bisa segitiga, segi empat, lingkaran atau elips, polygon, dll. Tapi pada kesempatan kali ini yang akan Anis pergunakan adalah clipping window berbentuk segi empat.


Kalau tadi kita udah kenalan sama yang namanya Clipping, berarti sekarang saatnya kenalan lebih jauh lagi sama yang namanya Clipping Line sama Clipping Polygon. Tapi biar gak bingung kita kenalannya gantian-gantian aja ya.Berhubung nenek moyangnya dari Clipping Polygon itu Clipping Line, ada baiknya kalau kita kenalan dulu sama Clipping Line dulu ya...


Clipping Line


Clipping Line dapat kita ilustrasi dngan menggunakan gambar berikut :

Terdapat sebuah Clipping Window yang dibatasi oleh garis L, T, R, dan B. Clipping window tersebut dilalui oleh garis dari titik P1 ke titik P2. Namun karena kedua titik tersebut terletak di luar dari clipping window yang telah ditentukan maka garis yang akan ditampilkan hanya garis P1’-P2’, sedangkan garis P1-P1’ dan garis P2’-P2 tidak akan ditampilkan.


Untuk menentukan letak suatu garis itu berada di dalam clipping window atau di luar clipping window maka dilakukan analisis untuk memastikan bahwa keberadaan garis tersebut adalah di dalam clippiing window.

Titik Asli

Titik Semu

Kondisi X

Kondisi Y

P1(x,y)

P1’(x,y)

P1(x)L

P1(y)T

P2(x,y)

P2’(x,y)

P2(x)R

P2(x)B

Secara garis besar, garis yang ditampilkan pada clipping line terbagi menjadi 4 kondisi, yaitu :


· Visible : Garis kelihatan seluruhnya, terletak di dalam clipping window

· Invisible : Garis tidak kelihatan sama sekali, terletak di luar clipping window

· Halfpartial : Garis terpotong sebagian oleh clipping window, bisa hanya dengan bagian atas, bawah, kiri, atau kanan.

· Vollpartial : Garis melewati window clipping atau terpotong penuh oleh clipping window.


Nah, dalam proses perhitungan clipping window ini sendiri ada banyak algoritma yang dapat digunakan, yaitu Cohen-Sutherland Line Clipping, Liang-Barsky Line clipping, dan Nicholl-Lee-Nicholl Line Clipping. Tapi pada kesempatan kali ini Anis akan memperkenalkan algoritma Cohen-Sutherland line Clipping dulu saja ya....


Algoritma Cohen-Sutherland Clipping Line


Pada Algoritma ini terdapat bit window yang fungsinya untuk merepresentasikan posisi dari suatu garis terhadap clipping window. Pada bit window tersebut terdapat pointcode yang fungsinya untuk mengidentifikasi posisi tehadap clipping window. Nilai dari pointcode ini adalah 1 dan 0, yang merupakan angka logika yang sama artinya dengan true dan false.

Berikut ini adalah gambaran dari posisi suatu pointcode :

Suatu titik itu visible dengan pointcode jika nilai L,R, T,dan B adalah nol, artinya jika salah satu nilai dari L, R, T, atau B tidak sama dengan nol maka dapat dipastikan bahwa titik tersebut berada di luar clipping window. Cara mudah memahaminya sebenernya cukup dengan mengetahui hal berikut :

  1. Jika,pointcode L+R+T+B=0, maka titik terletak di dalam clipping window.
  2. Jika,pointcode L+R+T+B>0, maka titik terletak di luar clipping window.

Susunan Region Code adalah seperti tabel berikut :

Bit ke

Region Bit

Isi

1

T

1 apabila y > ymax

0 apabila y ≤ ymax

2

B

1 apabila y <>

0 apabila y ≥ ymin

3

R

1 apabila x > xmax

0 apabila x ≤ xmax

4

L

1 apabila x <>

0 apabila x ≥ xmin


Nah, algoritma dari Cohen-Sutherland Clipping line sendiri adalah seperti berikut :

  1. Tentukan regioncode dari setiap endpoint.
  2. Jika kedua point code memiliki regioncode 0000, maka garis berada di dalam clipping window. Atau jika bit keduanya di-OR-kan hasilnya= 0 (Trivial Accepted)
  3. Jika tidak, lakukan operasi logika AND untuk kedua regioncode

a.Jika hasilnya 0000, maka buang garis tersebut (tolak)

b.Jika hasilnya tidak samadengan 0000, maka dibutuhkan clipping (Trivial Rejected)

·Pilih salah satu endpoint yang berada di luar clipping window

·Cari titik persinggungan pada batas window.

·Ganti endpoint dengan titik persinggungan dan update regioncode

Titik singgung dihitung berdasarkan bit=1 dari region code seperti berikut



Berikut adalah perhitungan x1’, x2’, y1’, dan y2’ dengan menggunakan persamaan ini :


· Ulangi langkah 2 hingga diperoleh garis klipping yang diterima dan yang ditolak

  1. Ulangi langkah 2 untuk garis yang lain.

Biar kita nggak bingung lagi, sekarang langsung aja ke contoh kasus berikut ya...

Dari gambar diatas dapat kita ketahui bahwa:

· xmin = 5

· xmax = 25

· ymin = 5

· ymax = 30

· Garis AB (6,4) (28,17)

· Garis CD (16,17) (10,25)

· Garis EF (19,25) (20,32)


  1. Garis AB
  1. Menentukan region dari setiap endcode

· Titik A (6,4)

L = 0 → Karena x > xmin yaitu 6> 5

R = 0 → Karena x <>

B = 1 → Karena y > ymin yaitu 4 <>

T = 0 → Karena y <>

Region code yang diperoleh dari titik A adalah 0100

· Titik B (28,17)

L = 0 → Karena x > xmin yaitu 28 > 5

R = 1 → Karena x <> 25

B = 0 → Karena y > ymin yaitu 17 > 5

T = 0 → Karena y <>

Region code yang diperoleh dari titik B adalah 0010

Karena kedua region code dari titik A & B bernilai 0000, dapat kita simpulkan bahwa garis yang terhubung terpotong penuh oleh clipping window (garis melintasi clipping window).

  1. Dengan menggunakan operasi logika AND maka diperoleh hasil 0100 AND 0010 = 0000.
  2. Titik singgung pada garis AB (6,4) (28,17)

Region code 0100 untuk titik A (6,4), maka B =1 Karena B = 1, maka yang dicari x1’


Maka titik singgungnya adalah (x1’,ymin) = (7.6, 5)


Region code 0010 untuk titik B (28,17), maka R =1 Karena R = 1, maka yang dicari y2’


Maka titik singgungnya adalah (xmax, y2’) = (25, 15.2)


  1. Garis CD
  1. Menentukan region garis dari setiao encode

·Titik C (16,17)

L = 0 → Karena x > xmin yaitu 16 > 5

R = 0 → Karena x <>

B = 0 → Karena y > ymin yaitu 17 > 5

T = 0 → Karena y <>

Region code yang diperoleh dari titik C adalah 0000


·Titik D (10,25)

L = 0 → Karena x > xmin yaitu 10 > 5

R = 0 → Karena x <>

B = 0 → Karena y > ymin yaitu 25 > 5

T = 0 → Karena y <>

Region code yang diperoleh dari titik D adalah 0000


Karena region code dari kedua titik adalah 0000 maka garis CD berada dalam kondisi Visible sehingga garis CD ini tidak perlu dipotong.


  1. Dengan melakukan operasi logika AND juga dapat dibuktikan bahwa garis CD merupakan garis yang Visible. Perhitungannya 0000 AND 0000 = 0000

  1. Garis EF
  1. Menentukan region garis dari setiap encode

·Titik E (19,25)

L = 0 → Karena x > xmin yaitu 19 > 5

R = 0 → Karena x <>

B = 0 → Karena y > ymin yaitu 25 > 5

T = 0 → Karena y <>

Region code yang diperoleh dari titik E adalah 0000


·Titik F (20,32)

L = 0 → Karena x > xmin yaitu 20 > 5

R = 0 → Karena x <>

B = 0 → Karena y > ymin yaitu 32 > 5

T = 1 → Karena y <> 30

Region code yang diperoleh dari titik F adalah 1000


Karena region code dari salah satu titik ada yang bernilai 1000, maka garis EF tersebut berda pada kondisi Halfpartial dan perlu dipotong.


  1. Dengan melakukan operasi logika AND maka dapat diperoleh hasil 0000 AND 1000 = 0000
  2. Titik singgung pada garis EF (19,25) (20,32)


Region code 1000 untuk titik F (20,32), maka T =1 Karena T = 1, maka yang dicari x2’



Maka titik singgungnya adalah (x2’,ymax) = (19.7, 30)


Akhirnya selesai juga proses Clipping Line dengan menggunakan Algoritma Cohen-Sutherlang Clipping Line....

Nah, perkenalan kita masih harus berlanjut ni... Berhubung yang pengen diajak kenalan (Clipping Polygon) dah capek seharian karena diajakin kenalan juga sama yang lainnya... Jadi, kita kenalan sama Clipping Polygon-nya besok aja ya...

Udah pagi ni, Ayo istirahat dulu...



Monday, May 03, 2010

Ternyata emang bener kalau.... Hidup tu Berawal Dari Mimpi...

yo’ kujelang matahari dengan segelas teh panas
di pagi ini ku bebas, karna nggak ada kelas
di ruang mata ini kamar ini srasa luas
letih dan lelah juga, lambat lambat terkuras

teh sudah habis, kerongkongan ku pun puas
mulai ku tulis semua kehidupan di kertas
hari hari yang keras, kisah cinta yang pedas
perasaan yang was was, dan gerakku yang terbatas

tinta yang keluar dari dalam pena
berirama dengan apa yang kurasa
dalam hati ini ingin kuubah semua
kehidupan monoton penuh luka putus asa

Reff
tinggalkanlah gengsi, hidup berawal dari mimpi
gantungkan yang tinggi, agar semua terjadi
rasakan semua, peduli ‘tuk ironi tragedi
senang bahagia, hingga kelak kau mati

yo’ yo’ dunia memang tak selebar daun kelor
akal dan pikiran ku pun tak selamanya kotor
membuka mata hati demi sebuah cita-cita
mlangkah pasti, pena dan tinta berbicara

tetapkan pilihan tuk satu kemungkinan
sbagai bintang hiburan, dan terus melayang
tak heran ragaku, terbalut lebel mewah
cerminan seorang raja dalam crita Cinderella

ini bukan mimpi atau halusinasi
sebuah anugerah yang akan ku nikmati nanti
hasil kerja keras ku terbayarkan lunas.. tuntas..

by Bondan Prakoso

Friday, April 23, 2010

Innovation, It starts from your daily life




Siapa sih orang di dunia ini yang nggak pernah naik sepeda?? Kalau istilah Jawa-nya "Nge-pit". Di Indonesia sendiri sepeda kembali menunjukkan eksistensinya, mulai dari khalayak muda sampai tua kembali "berusaha" melakukan segala aktivitasnya dengan bersepeda, sama halnya dengan Belanda. Di Belanda sendiri sepeda sudah menjadi icon kegita bagi negaranya setelah Bunga Tulip dan Kincir Angin.



Jalur sepeda khusus, idaman semua bikers ( sumber : http://solokomunitas.wordpress.com )

Kenapa bisa begitu??? Sebenarnya sepeda bukan berasal dari Belanda, namun orang Belanda sudah mulai membuat sepeda selama 140 tahun. Pemerintahnya pun mengenjurkan kepada warganya untuk beraktivitas dengan menggunakan sepeda. Hal tersebut dibuktikan langsung oleh pemerintah Belanda dengan menyediakan fasilitas jalur sepeda sejak 125 tahun yang lalu. Yah, setidaknya warga Belanda hanya membutuhkan waktu menunggu selama 15 tahun untuk dibuatkan jalur khusus sepeda. bandingkan dengan pemerintah Indonesia yang sampai saat ini hanya berwacana akan membuat jalur khusus sepeda.

Di Belanda yang penduduknya hanya sekitar 16 juta jiwa, 13,5 juta jiwa orang Belanda di atas usia 4 tahun (atau sekitar 84% dari seluruh populasi) seluruhnya memiliki 18 juta sepeda. Jadi bisa dibayangkan kalau populasi sepeda lebih besar daripada populasi penduduknya, mungkin kalau kita jejerkan semua sepeda itu jalan raya hanya akan penuh oleh lautan sepeda. Ibukota negara Belanda, Amsterdam alias "The Bike Capital of the World", 40% mobilitas lalu lintasnya adalah dengan menggunakan sepeda. Dengan demikian, Amsterdam telah menciptakan sebuah kota ramah sepeda yang mempromosikan gaya hidup sehat dan aktif bagi penduduknya.

Amsterdam, "The Bike Capital of the World" ( sumber : http://gallery.hd.org )

Dengan adanya fakta seperti di atas, tidaklah heran jika di Belanda terdapat 15 perusahaan penghasil sepeda. Hal ini juga yang menyebabkan Belanda menjadi negara produsen sepeda terbesar di Eropa. tak pelak lagi jika sepeda sudah mendarah daging di Belanda. Jadi jangan heran kalau di Belanda kita akan menjumpai para pria berdasi berkendara denga menggunakan sepeda, seorang ibu membawa anaknya jalan-jalan dengan menggunakan sepeda boks, seorang nenek mengajak jalan-jalan anjingnya berkeliling kota dengan bersepeda, itu semua bukanlah hal yang aneh lagi.

Sepeda, tak kenal strata sosial ( sumber : http://littleluddite.wordpress.com )

Tak hanya itu, ternyata sepeda memiliki tempat tersendiri di benak tiga orang desainer asal Belanda. Ketiga orang ini memutuskan untuk merancang, walaupun sebenarnya mereka dididik untuk mendesain meja atau kursi. Ada apa di "mata" mereka tentang sepeda???? Ayo kita tengok cerita di bawah ini.

Sepeda Desain Belanda

a. Desain Pertama, "Penyederhanaan"
"Sepeda itu barang yang murni, kita bisa lihat semuanya, dan sangat bermanfaat. Saya kira kita semua suka sepeda. Barangnya sederhana, tapi kita bisa melaju cepat. Dalam desain ini saya berupaya membuatnya lebih bermanfaat lagi, karena masih banyak yang bisa disederhanakan lagi pada sebuah sepeda."

Perancang pertama, Wytze van Wansum, merancang sepeda yang diberi nama "Duchess". Sepeda rancangannya ini ternyata berhasil menarik minat pasar di amerika. Dalam rancangannya, sepeda "Duchess" ini tidak butuh banyak perawatan karena semua kabel , yang dalam istilah Indonesia-nya "pating semrawut", akan dimasukkan ke dalam pipa. sehingga hasil akhirnya tak akan nampak kabel-kabel sepeda sedikit pun.

Wytze van Wansum ( sumber : http://www.nrw.nl )

Jika membaca ilustrasi di atas, sepeda "Duchess" sepertinya sangat simpel. sepintas, "Duchess tampak seperti sepeda biasa, dalam model yang disebut "pmafiets", sepeda nenek-nenek, dalam bahasa Belanda. Tetapi bila kita amati dengan seksama akan terlihat bentuk yang elegan dan sederhana.

Herman van Hulsteijn, salah satu dari dua desainer yang lainnya, terkesan akan model sepeda ini. Menurutnya: " Aneh juga karena di negara seperti Belanda terdapat berbagai macam sepeda, tetapi jarang sekali ada rancangan yang begitu indah. Saya tidak suka pada sepeda-sepeda yang banyak terlihat di jalan-jalan. Kalau kita lihat berapa banyak sepeda, hanya sedikit yang benar-benar sedap dipandang."

b. Desain Kedua, "Kurva Panjang"

Di sini akan diceritakan bahwa Herman van Hulsteijn menggambar apa yang nanti akn dikenal dengan nama sepeda model "Cyclone". Ciri utama dari "Cyclone" adalah kurva panjang yang melengkung dari sadel ke setir dan berakhir di ban belakang. Mereka yang naik sepeda rancangan Herman akan tampak seperti mengapung di udara.

"Cyclone" ( sumber : http://www.rnw.nl )

Untuk menguji coba sepeda rancangannya ini, Herman bersama teman-temannya akan melakukan perjalanan ke Milan, Itali, dan kembali lagi ke Belanda. Kalau kalau dikira-kira jarang yang akan mereka tempuh adalah sekitar 1000 kilometer. Bisa dibayangkan kawan, itu seperti kita bersepeda dari Jakarta samapai Surabaya. Uhhh, bakal seperti apa betis ini nantinya??? tapi untuk orang Eropa yang senang bertualang, hal tersebut aka tetap mereka lakoni asalkan mereka senang.

Back to topic, di Milan, Herman akan memamerkan aspek lain dari sepeda rancangannya, yaitu bentuk dari sepeda ini. Dan ia akan memamerkan sepeda rancangannya ini pada sebuah pameran desain paling bergengsi di dunia, The Salone Internazionale del Mobile and the International Furnishing Accessories Exhibition 2010, di pertengahan bulan April ini.

Desainer terakhir, Tjeerd Veenhoven, memuji desain ini, karena ia tahu betapa sulitnya membuat sepeda yang bukan saja elok tetapi juga sangat bermanfaat.

" Sudah banyak saya lihat sepeda yang indah-indah, tetapi tak mungkin memesan suku cadangnya. Orang tidak punya visi ketika memproduksinya, hanya ingin menghasilkan yang elok tetapi nan juga mahal. Sya pernah punya sepeda-sepeda yang seperti itu. Yang baik dari sisi desain adalah bahwa perancangnya berpikir lebih jauh sehingga orang lebih suka membelinya, apalagi kalau dibandingkan dengan sepeda-sepeda lain yang menyebalkan."
Tjeerd Veenhoven


3. Desain Ketiga, "Pengalaman Bersepeda"


"Ordinary Carbon Bike" ( sumber : http://www.rnw.nl )

Tjeerd Veenhoven, menamakan sepeda rancangannya "Ordinary Carbon Bike" atau Sepeda Karbon Biasa. Ada yang menyebutnya seperti pita, karena tampaknya memang terbuat dari pita yang digunakan untuk membungkus kado. Sepeda ini juga tidak tampak harus berdiri, apalagi membawa pengendaraannya.

" Saya datang dengan pendekatan yang sangat berbeda ketimbang dua perancang terdahulu. Saya tidak pernah benar-benar ingin mendesain sepeda, saya hanya ingin menggunakan serat arang, seperti bahan teknologi tinggi. Itulah pusat perhatian saya, dan sepeda merupakan medium yang baik untuk digunakan. "

Tjeerd Veenhoven ( sumber : http://www.rnw.nl )

Dari kesemua cerita di atas pasti akan muncul pertanyaan di benak kita, "Apakah hanya orang Belanda yang dapat merancang sepeda seperti itu?" Karena jika dapat kita simpulkan, ksemua rancangan di atas menganut aliran "Dutch Design", yang mengkombinasikan pragmatisme, manfaat, serta bentuk, di dalam satu wadah.

" Saya kira orang di negara lain juga bisa merancang sepeda seperti ini, tetapi karena kami orang Belanda dan orang Denmark paling punya pengalaman bersepeda, maka kamilah yang terdorong untuk merancangnya. Jumlah orang Belanda yang tak tertarik pada sepeda cukup banyak jadi perancang sepeda itu kebanyakan dari Belanda atau Denmark ketimbang negara lain."
by Wytze van Wansum
Setelah membaca cuplikan di atas, seharusnya hati kita tergugah karena bagi orang Belanda suatu hal yang dekat dengan keseharian kita dapat menggugah diri kita untuk menciptakan suatu inovasi baru yang bermanfaat bagi orang lain. Tak hanya untuk orang lain, namun juga sebagai media untuk "memuaskan hasrat" yang ingin terus berinovasi dan berkreasi. Mengapa orang Belanda selalu "haus" akan inovasi? Mungkin karena memang orang Belanda bawaannya sudah kreatif semenjak mereka masih di rahim ibunya, jadi saat mereka beranjak dewasa kreativitas tersebut telah terasah dengan sangat tajam. Terus bagaimana caranya supaya kreativitas mereka bisa menulari bangsa ini?? Jawabannya tentu sering-sering bermain, berdiskusi, bercakap dengan mereka. Klangkah yang harus kita ambil?? Sudah tentu belajarlah di negerinya... Negeri mana??? Negeri Belanda.........

Sumber :

http://www.ski-epic.com/amsterdam_bicycles/

http://www.virgin-vacations.com/11-most-bike-friendly-cities.aspx

http://www.volkskrant.nl/vk-online/VK/20100410___/1_001/#original

http://www.rnw.nl/bahasa-indonesia/article/kisah-tiga-sepeda-desain-belanda

http://www.cosmit.it/tool/home.php?s0,2,67,71,75



by
Zulaikha Siti Anisah