80 likes | 291 Views
Grafika Komputer. Polygon. Polygon adalah bentuk yang disusun dari serangkaian garis. Titik sudut dari polygon disebut vertex. Garis penyusun polygon disebut edge. Sebuah polygon selalu mempunyai properti dasar : - jumlah vertex - koordinat vertex
E N D
Grafika Komputer Polygon
Polygon adalah bentuk yang disusun dari serangkaian garis. • Titik sudut dari polygon disebut vertex. • Garis penyusun polygon disebut edge.
Sebuah polygon selalu mempunyai properti dasar : • - jumlah vertex • - koordinat vertex • - data lokasi tiap vertex • Polygon digambar dengan menggambar masing-masing edge dengan setiap edge merupakan • pasangan dari vertex i – vertex i+1, kecuali untuk edge terakhir merupakan pasangan dari • vertex n – vertex 1.
Operasi-operasi Polygon • - Menginisialisasi polygon • inisialisasi terhadap polygon perlu dilakukan untuk mengatur agar field vertnum berisi 0. • - Menyisipkan vertex • menyimpan informasi tentang vertex dan menyesuaikan informasi tentang jumlah vertex dengan menambahkan satu ke vertnum. • - Menggambar polygon • mengunjungi vertex satu per satu dan menggambar edge dengan koordinat (vertex i .x, vertex i .y) – (vertex i+1.x – vertex i+1.y) dari vertex nomor satu sampai vertnum – 1. • Khusus untuk edge terakhir mempunyai koordinat (vertex vertnum .x , vertex vertnum .y) – (vertex 1 .x – vertex 1.y). • - Mewarnai polygon • Mengisi area yang dibatasi oleh edge polygon dengan warna tertentu.
Algoritma menggambar polygon : • index = 1 • selama index <= jumlah_vertex lakukan • vertex1 = ambil vertex ke[index] • jika index = jumlah_vertex maka • vertex2 = ambil vertex ke [1] • tetapi jika tidak maka • vertex2 = ambil vertex ke [index+1] • x1 = vertex1.x • y1 = vertex1.y • x2 = vertex2.x • y2 = vertex2.y • gambar garis dari (x1,y1) ke (x2,y2) • index = index + 1 • akhir selama index <= jumlah_vertex
Algoritma Flood Fill (Seed Fill) • Merupakan algoritma untuk mengisi area di dalam sebuah polygon. Bekerja dengan cara : • - Pemakai menentukan warna polygon serta lokasi titik yang menjadi titik awal. • - Kemudian algoritma akan memeriksa titik-titik tetangga. • - Bila warna titik tetangga tidak sama dengan warna isi polygon maka titik tersebut akan diubah warnanya. • - Proses tersebut dilanjutkan sampai seluruh titik yang berada di dalam polygon selesai diproses. • - Penentuan titik tetangga dapat menggunakan metode 4 koneksi atau 8 koneksi seperti berikut :
Ketepatan algoritma Flood Fill ditentukan oleh titik awal (seed point) dan apakah polygon yangdiwarnai merupakan polygon tertutup. Apabila polygon tidak tertutup, meskipun hanya 1 titik yangterbuka maka pengisian akan melebar ke area di luar polygon. • algoritma floodfill • input x,y : integer // lokasi awal • input fill : Tcolor // warna isian(baru) • input oldcolor : Tcolor // warna lama • mulai • w = ambil warna pixel pada lokasi (x,y) • jika w = oldcolor maka • ubah warna pixel pada lokasi (x,y) menjadi berwarna fill; • floodfill (x+1, y, fill, oldcolor); • floodfill (x-1, y, fill, oldcolor); • floodfill (x, y+1, fill, oldcolor); • floodfill (x, y-1, fill, oldcolor); • akhir algoritma