Tugas Komputer Grafik – Clipping Polygon

Assalamualaikum.

Fiuh akhirnya pagi ini saya memutuskan untuk menyelesaikan tugas KomGraf. Okay dokay, harus semangat, ga boleh loyo, walaupun kepala agak sedikit berputar-putar T_T

Lanjut dari postingan kemarin, sekarang saya akan melanjutkan Clipping Polygon dan contoh kasusnya. Saya akan menggunakan algoritma Sutherland-Hodgman dalam hal ini.

Polygon adalah bentuk yang disusun dari serangkaian garis. Titik sudut dari polygon disebut vertex dan garis penyusun polygon disebut edge.

Poligon dapat dipotong terhadap setiap edge polygon tersebut yang melewati clipping window. Jika ada perpotongan pada edge dan koordinat X dan Y sudah diketahui, maka mudah untuk menemukan dimana titik perpotongan tersebut. Verteks yang disimpan setelah perpotongan akan menjadi titik perpotongan untuk edge yang berada di luar clipping window, dan edge yang berada di luar clipping window tersebut akan dipangkas. Nilai dari verteks sebenarnya biasanya berubah setelah menemukan verteks perpotongannya.

Dibawah ini merupakan contoh penyelesaian untuk polygon clipping menggunakan algoritma Sutherland-Hodgman.

Keterangan Gambar :

Xmax = 17 Xmin = 4
Ymax = 10 Ymin = 2
Verteks A =   (3,7) Verteks C =  (19,6)
Verteks B =   (10,12) Verteks D =  (12,1)

Jika melihat dari gambar, maka akan ada 8 titik perpotongan yang akan terjadi. Pada clipping window sebelah kiri akan dihasilkan 2 titik baru yaitu titik perpotongan antara A-B dan titik perpotongan antara A-D. Lalu pada clipping window sebelah bawah akan ada 2 titik baru pula yaitu titik perpotongan antara D-A dan titik perpotongan antara D-C. Begitu juga dengan clipping window sebelah kanan yaitu titik perpotongan antara C-B dan titik perpotongan antara C-D. Lalu terakhir, pada clipping window sebelah atas yaitu titik perpotongan antara B-A dan titik perpotongan antara B-C.

Di bawah ini merupakan langkah-langkah untuk menentukan 8 titik perpotongan yang telah diuraikan di atas tadi.

Interseksi Bagian Bawah

  • Mencari titik potong antara D dan A (perpotongan edge pada sisi bawah pada clipping window)

Mencari Slope


Maka lokasi perpotongan edge pada sisi bawah window antara D dan A adalah:

  • Mencari titik potong antara D dan C (perpotongan edge pada sisi bawah pada window)

Mencari Slope


Maka lokasi perpotongan pada edge pada sisi kanan window antara D dan C adalah:

Interseksi Bagian Kanan

  • Mencari titik potong antara C dan B (perpotongan edge pada sisi kanan pada window)

Mencari Slope

Maka lokasi perpotongan pada edge pada sisi kanan window antara C dan B adalah:

  • Mencari titik potong antara C dan D (perpotongan edge pada sisi kanan pada window)

Mencari Slope

Maka lokasi perpotongan pada edge pada sisi kanan window antara C dan B adalah:

Interseksi Bagian Atas

  • Mencari titik potong antara B dan A (perpotongan edge pada sisi atas pada window)

Mencari Slope

Maka lokasi perpotongan pada edge pada sisi atas window antara B dan A adalah:

  • Mencari titik potong antara B dan C (perpotongan edge pada sisi atas pada window)

Mencari Slope

Maka lokasi perpotongan pada edge pada sisi atas window antara B dan A adalah:

Interseksi Bagian Kiri

  • Mencari titik potong antara A dan D (perpotongan edge pada sisi kiri pada window)

Mencari Slope

Maka lokasi perpotongan pada edge pada sisi kiri window antara A dan D adalah:

  • Mencari titik potong antara A dan B (perpotongan edge pada sisi kiri pada window)

Mencari Slope

Maka lokasi perpotongan pada edge pada sisi kiri window antara A dan B adalah:

Alhamdulillah..
Akhirnya selesai juga tugas Clipping saya. Cape.
Sekian dulu ya postingan dari saya, semoga bermanfaat. Ciao…

Maka lokasi perpotongan edge pada sisi bawah window antara D dan A adalah:

Advertisement

One response to this post.

  1. [...] lokasi perpotongan pada edge pada sisi kiri window antara D dan A adalah: (IX, IY)=(3,5.8) aokihayyi Tags: clipping polygon, Sutherland-Hodgman Comments RSS [...]

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.