Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari

Presentasi serupa


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

1 S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari
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.

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.

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.

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

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

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.

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"?

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

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

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

12 Strategi 1 – 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

13 Strategi 1 – Algoritma Incremental

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

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

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

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

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

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+½)

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.

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 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 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 Menggambar GARIS Algoritma Bresenham - Pixel selanjutnya ?
Algoritma Bresenham memilih titik terdekat dari actual path Setiap sampling akan diinkremen menjadi 1 atau 0.

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 Menggambar GARIS

27 Menggambar GARIS Tentukan nilai parameter keputusan, pk:

28 Menggambar GARIS Algoritma Bresenham untuk |m| < 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 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.

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).

32 Konversi Scan Lingkaran

33 Menggambar LINGKARAN Fungsi Disciminator diketahui bahwa :
dan dapat ditulis sebagai suatu fungsi : f(x,y) = x2 + y2 –r2 Fungsi Discriminator : f(x,y) < 0 untuk titik di dalam lingkaran 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 : (xk,yk), maka titik berikutnya apakah di(xk+1, yk), or (xk+1, yk-1) ? – Misal titik tengahnya (midpoint) : (xk+1, yk) = 0.5 – Gunakan fungsi discriminator untuk mendapatkan : f(x,y) = x2+ y2–r2 xk yk xk+1 xk+2 yk-1 Circle path Midpoint

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

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


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

Presentasi serupa


Iklan oleh Google