Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Konversi Scan S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari.

Presentasi serupa


Presentasi berjudul: "1 Konversi Scan S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari."— Transcript presentasi:

1 1 Konversi Scan S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari

2 Pendahuluan Konversi Scan merupakan sebuah teknik untuk mengubah vertikal / horizontal frekuensi scan dari sinyal video untuk tujuan dan penerapan yang berbeda. Perangkat (alat) yang melakukan konversi ini disebut scan converter. Pengaplikasian dari konversi scan mencakup hal yang luas seperti: video proyektor, peralatan cinema, televisi high definition (HDTV), monitor LCD, dan berbagai aspek gambar serta pemrosesan video. 2

3 Pendahuluan Ada dua metode yang digunakan dalam mengubah data rate gambar: Metode Analog, yakni metode yang bersifat non- retentive, memory-less atau real time. Dengan metode ini, konversi dilakukan dengan menggunakan sejumlah besar delay cell dan cocok digunakan untuk video analog. 3

4 Pendahuluan Metode yang kedua yakni: Metode Digital yang bersifat menyimpan (buffered). Dengan metode ini, gambar disimpan dalam buffer garis atau bingkai dengan kecepatan n1 (data rate) dan dibaca dengan kecepatan n2 Konversi Scan meliputi: - Konversi Scan Garis (line) - Konversi Scan Lingkaran (Circle) - Pattern Primitive; - Alligned Ellipses. 4

5 Konversi Scan Garis Menarik garis pada layar raster antara dua titik Apa yang salah dengan pernyataan tsb? - pernyataan tsb tidak mengatakan apa- apa tentang titik mana yang diperbolehkan sebagai titik akhir - Pernyataan tsb tidak memberikan arti yang jelas untuk kata "menarik“ - Pernyataan tsb tidak mengatakan apa yang dimaksud "garis" di dunia raster - Pernyataan tsb tidak mengatakan bagaimana mengukur keberhasilan dari algoritma yang diusulkan 5

6 Konversi Scan Garis Problem Statement Mengingat dua titik P dan Q dalam bidang datar, menentukan piksel pada layar raster harus berada di dalam rangka untuk membuat gambar dari segmen garis mulai dari P dan berakhir di Q 6

7 Menemukan Pixel Berikutnya Khusus kasus: Garis Horizontal : Gambar pixel P dan tambahkan/kurangkan nilai koordinat x dengan 1 untuk mendapatkan pixel berikutnya Garis Vertical : Gambar pixel P dan tambahkan/kurangkan nilai koordinat y dengan 1 untuk mendapatkan pixel berikutnya. 7

8 Menemukan Pixel Berikutnya Garis Diagonal: Gambar pixel P dan tambahkan/kurangkan nilai 1 ke koordinat x dan y untuk mendapatkan titik berikutnya. Apa yang harus kita lakukan dalam kasus umum? - Tambahkan koordinat x dengan 1 dan pilih titik terdekat ke garis. -Tetapi bagaimana kita mengukur "terdekat"? 8

9 Jarak Vertikal Mengapa kita menggunakan jarak vertikal sebagai ukuran menentukan titik terdekat? - karena jarak vertikal sebanding dengan jarak yg sebenarnya - Bagaimana kita menunjukkan ini? - dengan segitiga kongruen 9

10 Jarak Vertikal Dengan segitiga yang sama kita dapat melihat bahwa jarak sebenarnya untuk garis (warna biru) adalah berbanding lurus dengan jarak tegak lurus terhadap garis (hitam) untuk setiap titik Oleh karena itu, titik dengan jarak vertikal yang lebih kecil terhadap garis adalah yang paling dekat dengan garis 10

11 Strategi 1 - Incremental Algoritma Algoritma Dasar Temukan persamaan garis yang menghubungkan dua titik P dan Q Mulai dengan titik p paling kiri, naikkan xi dengan 1 untuk menghitung yi =mxi+B dimana m= slope, B= y intercept/memotong Letakkan pixel pada (xi, Round(yi)) dimana Round (yi) = yi 11

12 Strategi 1 – Algoritma Incremental Algoritma Incremental Masing-masing iterasi memerlukan sebuah multiplikasi floating-point - oleh karena itu, modifikasi algoritma yi+1=mxi+1 +B =m(xi +Δx) +B =yi +m Δx If Δx =1, then yi+1 =yi +m Pada setiap langkah, kita tambah berdasarkan langkah terdahulu untuk menemukan nilai y berikutnya 12

13 Strategi 1 – Algoritma Incremental 13

14 Masalah dengan Algoritma Incremental Pembulatan bilangan bulat membutuhkan waktu Variabel Y dan m harus bilangan real atau biner karena kemiringan adalah sebuah pecahan - kasus khusus diperlukan untuk garis-garis vertikal 14

15 Strategy 2 –Midpoint Line Algorithm (1/3) Asumsikan bahwa kemiringan garis adalah dangkal dan positif (0 < slope <1); Slope/kemiringan lain dapat ditangani dengan refleksi yang cocok tentang prinsip sumbu Hubungkan endpoint kiri bawah (x0, y0) dan titik akhir kanan atas (x1, y1) Asumsikan bahwa kita baru saja memilih pixel P pada (xp,yp) Selanjutnya, kita harus memilih antara pixel ke kanan (pixel E), atau yang kanan dan naik (pixel NE) Q menjadi titik persimpangan dari garis konversi scan dengan garis grid x = xp +1 15

16 Strategy 2 –Midpoint Line Algorithm (2/3) 16

17 Strategy 2 –Midpoint Line Algorithm (3/3) Jalur ini melewati antara E dan NE Titik yang lebih dekat ke titik persimpangan Q harus dipilih Amati di sisi mana dari garis titik tengah M terletak: - E lebih dekat dengan garis jika titik tengah M terletak di atas garis, yaitu garis menyilang bagian bawah - NE lebih dekat dengan garis jika titik tengah M terletak di bawah garis, yaitu garis melintasi bagian atas 17

18 Strategy 2 –Midpoint Line Algorithm (3/4) Kesalahan, jarak vertikal antara pixel yang dipilih dan garis yang sebenarnya, adalah selalu <= ½ Algoritma ini memilih NE sebagai pixel berikutnya untuk baris yang ditampilkan Sekarang, temukan cara untuk menghitung di sisi mana garis titik tengah terletak 18

19 Garis Properties : F(xm, ym) = 0 ketika titik M berada pada garis F(xm, ym) < 0 ketika titik M berada di atas garis F(xm, ym) > 0 ketika titik M berada di bawah garis Keputusan akan didasarkan pada nilai fungsi pada titik tengah M pada (xp+1, yp+½) 19

20 Konversi Scan Garis Algoritma DDA, adalah suatu algoritma pengkonversian suatu himpunan pixel–pixel menjadi suatu garis yang didasari atas perhitungan delta(x) dan delta(y); Algoritma Bresenham merupakan suatu algoritma yang dikreasikan oleh Bresenham yang tidak kalah akurat dan efisien dengan algoritma primitif lainnya. 20

21 21 Garis Bebas (Simple Digital Differential Analyzer/DDA) Garis yang membentang antara 2 titik, P1 dan P2, selalu membentuk sudut yang besarnya sangat bervariasi. Sudut yang terbentuk menentukan kemiringan suatu garis atau disebut gradient/ slop atau disimbolkan dengan parameter m. Jika titik-titik yang membetuk garis adalah : (x1,y1) dan (x2,y2) maka

22 22 Garis Bebas (Simple Digital Differential Analyzer/DDA) Algoritma DDA bekerja atas dasar penambahan nilai x dan nilai y. Pada garis lurus, turunan pertama dari x dan y adalah konstanta. Sehingga untuk memperoleh suatu tampilan dengan ketelitian tinggi, suatu garis dapat dibangkitkan dengan menambah nilai x dan y masing-masing sebesar ∆x dan ∆y.

23 23 Garis Bebas (Simple Digital Differential Analyzer/DDA) Kondisi ideal ini sukar dicapai, karenanya pendekatan yang mungkin dilakukan adalah berdasarkan piksel-piksel yang bisa dialamati/dicapai atau melalui penambahan atau pengurangan nilai x dan y dengan suatu besaran dan membulatkannya ke nilai integer terdekat.

24 24 Menggambar GARIS Algoritma Bresenham - Pixel selanjutnya ? - Algoritma Bresenham memilih titik terdekat dari actual path - Setiap sampling akan diinkremen menjadi 1 atau 0.

25 25 Menggambar Garis Bebas Kondisi awal :Jika m < 1, maka m bernilai positif Bresenham melakukan inkremen 1 untuk x dan 0 atau 1 untuk y. Jika current pixel (xk,yk) Dimanakah pixel berikutnya akan di-plot, apakah di (xk+1, yk+1), (xk+1, yk), atau (xk, yk+1)?

26 26 Menggambar GARIS

27 27 Menggambar GARIS Tentukan nilai parameter keputusan, pk:

28 28 Menggambar GARIS Algoritma Bresenham untuk |m| < 1: 1. Input 2 endpoints, simpan endpoints kiri sebagai (x0, y0). 2. Panggil frame buffer (plot titik pertama) 3. Hitung konstanta ∆x, ∆y, 2∆y, 2∆y– 2∆xdan nilai awal parameter keputusan p0= 2∆y –∆x 4. Pada setiap xk sepanjang garis, dimulai dari k=0, ujilah : Jika pk< 0, maka plot(xk+1, yk) dan pk+1= pk+ 2∆y Jika tidak maka plot (xk+1, yk+1) dan pk+1= pk+ 2∆y -2∆x 5. Ulangi tahap 4 ∆xkali

29 29 Menggambar GARIS Latihan : Hitunglah posisi piksel hingga membentuk sebuah garis yang menghubungkan titik (12,10) dan (17,14) ! Jawab : 1.(x0, y0) =(12, 10) 2.∆x =5, ∆y = 4, 2∆y =8, 2∆y–2∆x = -2 3.p0= 2∆y –∆x = 3

30 Konversi Scan Lingkaran Symmetry Algorithm; Incremental Algorithm; Midpoint Algorithm, di dalam algoritma penggambaran lingkaran pada koordinat raster, misalkan pada suatu unit interval, sebelumnya kita harus menentukan posisi pixel yang paling dekat untuk menspesifikasi beberapa langkah pembentukan lingkaran yang diharapkan. 30

31 Konversi Scan Lingkaran Kita berikan radius r dan posisi tengah pixel (xc,yc), kita dapat mengatur atau menentukan sesuai kondisi tertentu suatu algoritma perhitungan yang bertitik pusat pada koordinat origin (0, 0). 31

32 Konversi Scan Lingkaran 32

33 33 Menggambar LINGKARAN Fungsi Disciminator diketahui bahwa : dan dapat ditulis sebagai suatu fungsi : f(x,y) = x 2 + y 2 –r 2 Fungsi Discriminator : f(x,y) < 0 untuk titik di dalam lingkaran f(x, y) f(x, y) f(x,y) > 0 untuk titik di luar lingkaran f(x,y) = 0 untuk titik yang terletak pada lingkaran Algoritma Titik Tengah Lingkaran (Midpoint Circle Algorithm) – Bila diketahui suatu titik : (x k,y k ), maka titik berikutnya apakah di(x k +1, y k ), or (x k +1, y k -1) ? – Misal titik tengahnya (midpoint) : (x k +1, y k ) = 0.5 – Gunakan fungsi discriminator untuk mendapatkan : f(x,y) = x 2 + y 2 –r 2 xkxk ykyk x k+ 1 x k+ 2 y k-1 ykyk Circle path xkxk Midpoint

34 34 Algoritma Titik Tengah Lingkaran ……..(lanjutan) Menggambar LINGKARAN Dengan menggunakan midpoint di antara 2 kandidat pixel, kita dapat mencari Parameter Keputusan, P k, untuk mendapatkan plot pixel berikutnya : P k = f(x k + 1, y k –½) = (x k + 1) 2 + (y k –½) 2 –r 2 : -ve, titik tengah berada di dalam lingkaran, (x k +1, y k ), plot = (x k +1, y k ), Update P : f(x+1, y) = (x + 1) 2 + y 2 –r 2 P k f(x+1, y) = (x 2 + 2x + 1) + y 2 –r 2 f(x+1, y) = f(x, y) + 2x +1 P k+1 P k Inkremen : P + = 2x ve, titik tengah berada di luar lingkaran, (x k +1, y k -1) plot = (x k +1, y k -1) Update P: f(x+1, y-1) = (x + 1) 2 + (y-1) 2 –r 2 f(x+1, y-1) = (x 2 + 2x + 1) + (y 2 –2y+2-r 2 ) f(x+1, y-1) = f(x, y) + 2x - 2y +1 P k+1 P k Inkremen : P + = 2x –2y + 1

35 35 Menggambar LINGKARAN Kita dapat memiliki beragam titik awal lingkaran, namun diasumsikan inkremen dimulai dari (0,r), sehingga P0 dapat dihitung : p0= f(1, r–0.5) = (r –0.5) 2 –r 2 p0= f(1, r–0.5) = 1 + (r 2 –r ) –r 2 p0= 1.25 –r Algoritma Titik Tengah (MidPoint) selengkapnya 1.Input radius, r, and titik tengah lingkaran (x c, y c ). Titik awal di- plot pada (0, r) – yang merupakan titik tengah lingkaran asli, 2. Hitung nilai awal Parameter Keputusan : 3. Pada x k, dimulai dengan k = 0, uji nilai p k : Jika p k < 0, maka titik selanjutnya (x k +1, y k ) dan Untuk hal lain, titik berikutnya (x k +1, y k -1) dan 4. Tentukan titik simetri pada 7 octant lainnya. 5. Ambil titik aktual untuk titik tengah lingkaran pada (x c, y c ) dimana (x + x c, y + y c ). 6. Ulangi langkah 3 sampai 5 hingga tercapai x ≥y


Download ppt "1 Konversi Scan S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari."

Presentasi serupa


Iklan oleh Google