Jumat, 09 Desember 2011

Tugas Ke 5

(COHEN-SUTHERLAND)

Polygon adalah bentuk yang disusun dari serangkaian garis. Titik sudut dari polygon disebut vertex dan garis penyusun polygon disebut edge.
Algoritma Sutherland-Hodgman membandingkan setiap garis polygon dengan garis window, dan akan menyimpan informasi garis polygon yang ada di dalam garis window, dan juga titik perpotongan ketika garis polygon melewati garis window. Ketika garis polygon tidak berpotongan dengan garis window maka tampilkan polygon. ketika garis polygon ada di luar garis window maka tidak tampilkan apa-apa, ketika garis polygon melewati garis window(terjadi perpotongan garis) maka akan disimpan titik potongnya dan vertex polygon yang ada di dalam.
Nilai dari verteks sebenarnya biasanya berubah setelah menemukan verteks perpotongannya, rumus :










 Contoh :
























Xmax = 14
Xmin = 3
Ymax = 8
Ymin = 2
Verteks A =   (7,9) Verteks C =  (10,1)
Verteks B  =   (15,5) Verteks D =  (2,5)









Jika melihat dari gambar, maka akan ada 8 titik perpotongan yang akan terjadi, perpotongan terjadi di setiap sisi viewport, untuk sisi bagian atas maka ada titik potong pada garis AB, dan AD, pada sisi bagian kanan maka titik potong terjadi pada garis BA, dan BC, pada bagian bawah titik potong terjadi pada garis CB, dan CD, dan pada sisi kiri titik potong terjadi pada garis DC, dan DA.
Di bawah ini merupakan langkah-langkah untuk menentukan 8 titik perpotongan yang telah diuraikan di atas tadi.
Interseksi Bagian Bawah
Mencari titik potong antara C dan D (perpotongan edge pada sisi bawah window) C(10,1) D(2,5)

Maka lokasi perpotongan edge pada sisi bawah window antara C dan D adalah: (IX,IY) = ( 8,2 )
Mencari titik potong antara C dan B (perpotongan edge pada sisi bawah window) C(10,1) B(15,5)

Maka lokasi perpotongan pada edge pada sisi bawah window antara C dan B adalah:(IX,IY) = ( 11.25 , 2 )
Interseksi Bagian Kanan
Mencari titik potong antara B dan A (perpotongan edge pada sisi kanan pada window) B(15,5) A(7,9)

Maka lokasi perpotongan pada edge pada sisi kanan window antara B dan A adalah:(IX,IY) = (14,5.5)
Mencari titik potong antara B dan C (perpotongan edge pada sisi kanan window) B(15,5) C(10,1)

Maka lokasi perpotongan pada edge pada sisi kanan window antara B dan C adalah: (IX,IY) = ( 14, 4.2 )
Interseksi Bagian Atas
Mencari titik potong antara A dan D (perpotongan edge pada sisi atas window) A(7,9) D(2,5)

Maka lokasi perpotongan pada edge pada sisi atas window antara A dan D adalah:(IX,IY) = ( 5.75,8 )
Mencari titik potong antara A dan B (perpotongan edge pada sisi atas window) A(7,9) B(15,5)

Maka lokasi perpotongan pada edge pada sisi atas window antara A dan B adalah:( 9,8 )
Interseksi Bagian Kiri
Mencari titik potong antara D dan C (perpotongan edge pada sisi kiri window) D(2,5) C(10,1)

Maka lokasi perpotongan pada edge pada sisi kiri window antara D dan C adalah: (IX,IY) = ( 3,4.5 )
Mencari titik potong antara D dan A (perpotongan edge pada sisi kiri window) D(2,5) A(7,9)

Maka lokasi perpotongan pada edge pada sisi kiri window antara D dan A adalah: (IX, IY)=(3,5.8)

0 komentar:

Posting Komentar