Friday, October 29, 2010

Clipping (Episode 2 - End) - Clipping Polygon


Annyeonghaseyo!!!! Apa kabar ni??? Wah, udah pada semangat aja ni mau ngelanjutin yang kemaren ya... Ayooo SEMANGAT PAGI!!!

Nah, sekarang berarti saatnya kita kenalan sama yang namanya Clipping Polygon. Sebelum kenal lebih jauh sama yang namanya Clipping Polygon, ada baiknya kalau kita kenalan dulu sama yang namanya Polygon. Polygon adalah gabungan ruas garis dari bagian yang bertemu hanya di titik akhir sehingga sebesar dua ruas garis bertemu di satu titik, dan tiap ruas garis bertemu tepat dua ruas garis lainnya. Polygon sendiri terdiri dari dua aspek berikut, yaitu Vertex(Titik) dan Edge(Garis).

Jika kita melihat contoh gambar di bawah, maka ada bagian dari poligon yang tidak akan ditampilkan pada layar komputer, karena bagian tersebut berada di luar clipping window yang telah tersedia. Untuk mengetahui bagian mana saja yang dapat kita gambarkan pada viewport kita, maka kita dapat menggunakan Algoritma Sutherland-Hodgman Clipping Polygon.

Untuk memulai Algoritma Sutherland-Hodgman Clipping Polygon, kita harus dapat menentukan intersection dari tiap-tiap edge. Intersection sendiri adalah letak titik potong dari setiap edge yang bersinggungan dengan batas maksimum atau batas minimum. Untuk mengetahui intersection dari masing-masing edge, maka kita perlu mengetahui rumusan berikut :

a. Titik potong pada viewport kiri (IX,IY)

b. Titik potong pada viewport kanan (IX,IY)

c. Titik potong pada viewport bawah (IX,IY)

d. Titik potong pada viewport atas (IX,IY)

Pada Algoritma Sutherland-Hodgman Clipping Polygon juga terdapat 4 kondisi yang harus kita perhatikan :

1. Out In, Vertex baru yang dihasilkan {Vertex perpotongan, Vertex dalam}

2. In → In, Vertex baru yang dihasilkan {Vertex tujuan}

3. In → Out, Vertex baru yang dihasilkan {Vertex perpotongan }

4. Out →Out, Vertex baru yang dihasilkan { }

Berikut ini adalah contoh kasus pemecahan masalah dengan menggunakan Algoritma Sutherland-Hodgman Clipping Polygon.


A. Left Clipper

1. Mencari Titik Potong pada garis AB (3,13)(30,3)(Karena berada pada kondisi out in, maka akan dihasilkan Vertex baru)

2. Mencari Titik Potong pada garis BC (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

3. Mencari Titik Potong pada garis CD (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

4. Mencari Titik Potong pada garis DE (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

5. Mencari Titik Potong pada garis EA (12,38)(3,13)(Karena berada pada kondisi in out, maka akan dihasilkan Vertex baru)


B. Right Clipper

1. Mencari Titik Potong pada garis A’B (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

2. Mencari Titik Potong pada garis BC (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

3. Mencari Titik Potong pada garis CD (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

4. Mencari Titik Potong pada garis DE (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

5. Mencari Titik Potong pada garis EE’ (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

6. Mencari Titik Potong pada garis E’A (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)


C. Bottom Clipper

1. Mencari Titik Potong pada garis A’B (5,12.26)(30,3)(Karena berada pada kondisi in out, maka akan dihasilkan Vertex baru)

2. Mencari Titik Potong pada garis BC (30,3)(31,40)(Karena berada pada kondisi out in, maka akan dihasilkan Vertex baru)

3. Mencari Titik Potong pada garis CD (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

4. Mencari Titik Potong pada garis DE (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

5. Mencari Titik Potong pada garis EE’ (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

6. Mencari Titik Potong pada garis E’A’ (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)


D. Top Clipper

1. Mencari Titik Potong pada garis A’A’’(Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

2. Mencari Titik Potong pada garis A’’B’ (Karena berada pada kondisi in in, maka tidak akan dihasilkan Vertex baru)

3. Mencari Titik Potong pada garis B’C (30.05 , 5)(31,40)(Karena berada pada kondisi in out, maka akan dihasilkan Vertex baru)

4. Mencari Titik Potong pada garis CD(31,40)(20,30)(Karena berada pada kondisi out in, maka akan dihasilkan Vertex baru)

5. Mencari Titik Potong pada garis DE(20,30)(12,38)(Karena berada pada kondisi in out, maka akan dihasilkan Vertex baru)

6. Mencari Titik Potong pada garis EE’(12,38)(5,19.1)(Karena berada pada kondisi out in, maka akan dihasilkan Vertex baru)


Dari proses perhitungan dengan menggunakan Algoritma Sutherland-Hodgman Clipping Polygon. Akan diperoleh Poligon baru yang telah melalui proses Clipping, berikut adalah Vertex-Vertex baru yang akan membentuk Poligon hasil clipping :

· Vertex A’(5,12.26)

· Vertex A’’(24.6,5)

· Vertex B’(30.05,5)

· Vertex B’’(30.8,35)

· Vertex C’(25.5,35)

· Vertex D’(15,35)

· Vertex E’’(10.9,35)

· Vertex E’(5,19.1)


Nah, karena perbincangan kita tentang Clipping telah usai, dan kayaknya udah kenal banget ni sama yang namanya Clipping, itu artinya saatnya bagi kita untuk berpisah...

Eits, tapi jangan bersedih kawan, karena Anis bakal kembali lagi dengan topik-topik yang nggak kalah menarik lainnya. Soalnya kalau dipikir-pikir nge-blog kayak gini bisa jadi salah satu cara belajar yang Efektif. Selain mengulang kita juga bisa nyari referensi yang lain biar gak asal posting...

Moga-moga bermanfaat KAWAN!!!

Annyeong!!!! @_@

No comments:

Post a Comment