Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehTitto Permata Telah diubah "10 tahun yang lalu
1
Grafika Komputer PS Teknik Informatika
POLYGON Grafika Komputer PS Teknik Informatika
2
Pendahuluan Adalah bentuk yang disusun dari serangkaian garis
Titik sudut dari polygon vertex Garis penyusun polygon edge
3
Pendahuluan Properti dasar polygon
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 vertex n – vertex 1
4
Pendahuluan Operasi pada polygon a.l : Menginisialisasi polygon
Menyisipkan vertex Menggambar polygon Mewarnai polygon
5
Algoritma Menggambar Polygon
index = 1 selama index <= jumlah_vertex lakukan vertex1 = ambil vertex ke [index] jika index = jumlah_vertex maka vertex2 = ambil vertex ke [0] 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
6
MENGISI POLYGON Terdapat 2 algoritma: Algoritma Flood Fill
Algoritma ScanLine Fill Pemakai menentukan warna polygon serta lokasi titik yang menjadi titik awal Algoritma akan memeriksa titik-titik tetangga,jika tidak sama dengan warna isi polygon, maka titik tersebut akan diubah warnanya Proses berlanjut sampai seluruh titik yang berada dalam polygon selesai diproses.
7
Penentuan titik tetangga
Terdapat 2 metode : Metode 4-koneksi Metode 8-koneksi
8
Algoritma Flood Fill dengan 4-koneksi
Input x,y : integer {lokasi awal} Input fill : Tcolor {warna isian} 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
9
Algoritma Flood Fill Algoritma ini ditentukan :
Titik awal (seed point) Apakah polygon yang diwarnai merupakan polygon tertutup
10
Algoritma ScanLine Fill (Garis Pindai)
Cocok digunakan untuk mengisi sebuah polygon dimana area pengisian dibatasi oleh edge-edge sebuah polygon. Bekerja berdasarkan titik potong garis pindai (scanline)terhadap edge dari polygon untuk menentukan titik-titik yang berada di dalam sebuah polygon. Garis pindai : Garis dengan x=0 dan bergerak dari ymin menuju ymax dengan ymin menunjukkan koordinat y paling kecil dari vertex-vertex polygon dan ymax menunjukkan y terbesar.
11
Ilustrasi proses pemindaian
12
Proses pemindaian Ditujukan untuk menentukan atribut dalam dan atribut luar dari sebuah pixel Perwarnaan dilakukan untuk semua pixel yang mempunyai atribut dalam. Hal-hal yang perlu diperhatikan : Egde horisontal tak perlu diproses Garis pindai yang melewati dua vertex dari 2 edge yang searah akan menghasilkan 2 titik potong. Tambahan titik potong dapat mengacaukan pasangan atribut luar dalam
13
Contoh …
14
Cara Mengatasi Melakukan pengujian terhadap 2 edge berturutan dan bukan edge mendatar Apabila kemiringan (slope) dari kedua edge mempunyai tanda yang sama maka edge yang lebih rendah posisinya dipendekkan satu pixel edge shortening Edge yang mempunyai slope dengan tanda yang sama menunjukkan bahwa ujung dari edge tersebut tidak berada di titik ekstrem, baik ekstrim mak maupun min Sehingga salah satu titik ujung dari edge tersebut diturunkan satu titik pada sumbu y
15
Algoritma ScanLine Fill
Algoritma bekerja berdasarkan lokasi vertex vertex-vertex dari polygon yang akan didisi harus disusun dalam urutan yang konsisten. Urutan pengisian vertex berlawanan dengan jarum jam
16
PEMINDAIAN POLYGON Garis pindai 1 memotong pasangan edge (e)(d), (d)(c), dan (c)(b) Garis pindai 2 memotong pasangan edge (e)(b) Garis pindai 3 memotong pasangan edge (e)(a) Garis pindai 4 memotong pasangan edge (f)(a)
17
TUGAS Bagaimana algoritma ScanLine Fill?
Bagaimana komputer dapat mengetahui pasangan edge yang akan dicari perpotongannya dengan garis pindai? Apakah pasangan edge yang akan diproses harus dicari setiap kali mengganti garis edge? Apakah garis pindai harus dimulai dari y=ymin sampai y=ymax serta x=xmin sampai x=xmax?
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.