1 / 15

Grafika Komputer (TIZ10)

Grafika Komputer (TIZ10). Algoritma Menggambar Garis Disusun oleh Teady Matius Prodi Teknik Informatika – Universitas Bunda Mulia. Segmen garis. Persamaan Dasar untuk Garis. Y = m.x + b m  kemiringan garis b  besaran intersepsi terhadap y x adalah jarak pada sumbu x x = x1 – x0

papina
Download Presentation

Grafika Komputer (TIZ10)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grafika Komputer(TIZ10) Algoritma Menggambar Garis Disusun oleh Teady Matius Prodi Teknik Informatika – Universitas Bunda Mulia

  2. Segmen garis

  3. Persamaan Dasar untuk Garis • Y = m.x + b m  kemiringan garis b  besaran intersepsi terhadap y • x adalah jarak pada sumbu x x = x1 – x0 • y adalah jarak pada sumbu y y = y1 – y0 Kemiringan dapat dicari dengan atau

  4. DDA • DDA=Digital Differential Analyzer • Pertambahan nilai koordinat x maupun koordinat y didapatkan dari konstanta pertambahan XInc dan YInc Xk+1 = Xk + XInc Yk+1 = Yk + YInc • Nilai Xinc dan Yinc ditentukan dari konstanta step XInc = X / Step YInc = Y / Step • Konstanta Step didapat dari nilai tertinggi antara y atau x • Dari nilai X dan Y dicari nilai posisi X dan posisi Y yang didapatkan dari pembulatan X dan Y. Posisi X dan posisi Y ini yang akan menjadi koordinat Piksel yang dipilih untuk diberi warna. PosXk = Xk PosYk = Yk

  5. Algoritma DDA • Tentukan x dan y x = abs(xakhir-xawal) y = abs(yakhir-yawal) • Tentukan Step yang didapat dari nilai tertinggi antara x dan y • Tentukan nilai awal X dan Y dengan Xkawal dan Ykawal X = Xkawal Y = Yawal • Tentukan nilai Xinc dan Yinc Xinc = x/step Yinc = y/step • Tentukan PosX dan PosY dari pembulatan X dan Y PosX = Round(X) PosY = Round(Y) • Beri warna Piksel pada posisi (PosX, PosY) PixelPosX, PosY] = hitam • Tentukan nilai X dan Y berikutnya X = X +Xinc Y = Y + Yinc • Ulangi proses nomor 5, 6, 7 sampai selama nilai Xk+1  Xakhir atau Yk+1  Yakhir

  6. Contoh DDAuntuk garis P0(5,5) s/d P1(9,15)

  7. Bresenham • Pada bresenham salah satu komponen koordinat x atau y akan bertambah secara tetap sedangkan komponen koordinat lainnya akan bertambah sesuai dengan kondisi yang ditentukan. • Prinsip pada bresenham adalah memilih pertambahan koordinat yang paling dominan antara x dan y yang dindikasikan dengan arah kemiringan ke arah sumbu x atau ke arah sumbu y. • Kemiringan dapat ditentukan dengan nilai m atau dapat juga dengan membandingankan x dengan y • Jika nilai m > 1 (bisa juga dengan x< y) •  kemiringan ke arah sumbu y •  pertambahan tetap adalah pada koordinat y • Untuk nilai m < 1 (bisa juga dengan x > y) •  kemiringan ke arah sumbu x •  pertambahan tetap adalah pada kordinat x

  8. Bresenham (lanjutan) • Pertambahan nilai koordinat untuk koordinat yang pertambahannya tidak tetap dapat ditentukan dengan nilai Parameter keputusan Pk, • Dimana nilai P0 adalah P0 = 2y - x untuk kemiringan ke arah sumbu x P0 = 2x - y  untuk kemiringan ke arah sumbu y • Untuk Pk+1 nilainya ditentukan berdasarkan Pk; • Jika Pk < 0 maka Pk+1 = Pk + 2y  untuk kemiringan ke arah sumbu x Pk+1 = Pk + 2x  untuk kemiringan ke arah sumbu y • Jika Pk  0 maka Pk+1 = Pk + (2y - 2x)  untuk kemiringan ke arah sumbu x Pk+1 = Pk + (2x - 2y)  untuk kemiringan ke arah sumbu y

  9. Algoritma Bresenham Searah Sumbu X • Tentukan x dan y x = abs(xakhir - xawal) y = abs(yakhir - yawal) • Tentukan nilai awal X dan Y dengan Xawal dan Yawal X = Xawal Y = Yawal • Beri warna Piksel pada posisi (X,Y) Pixel[x,y] = hitam • Tentukan P0 P[0] = 2y - x • Inisialisasi k dengan 0 k = 0 • Tambahkan nilai koordinat dominan x Inc(x) • Tentukan nilai Pk+1 dan pertambahan Y berdasarkan nilai Pk Jika P[k]<0 maka P[k+1] = P[k]+ 2y Jika sebaliknya maka P[k+1] = P[k]+ (2y - 2x) inc(y) • Beri warna Piksel pada posisi (X,Y) dan naikkan nilai k Pixel[x,y] = hitam Inc(k) • Ulangi proses nomor 6, 7, 8 sampai nilai X >= Xakhir

  10. Algoritma Bresenham Searah Sumbu Y • Tentukan x dan y x = abs(xakhir - xawal) y = abs(yakhir - yawal) • Tentukan nilai awal X dan Y dengan Xawal dan Yawal X = Xawal Y = Yawal • Beri warna Piksel pada posisi (X,Y) Pixel[x,y] = hitam • Tentukan P0, dengan cara: P[0] = 2x - y • Inisialisasi k dengan 0 k = 0 • Tambahkan nilai koordinat dominan y Inc(y) • Tentukan nilai Pk+1 dan pertambahan x berdasarkan nilai Pk Jika P[k]<0 maka P[k+1] = P[k]+ 2x Jika sebaliknya maka P[k+1] = P[k]+ (2x - 2y) inc(x) • Beri warna Piksel pada posisi (X,Y) dan naikkan nilai k Pixel[x,y] = hitam Inc(k) • Ulangi proses nomor 6, 7, 8 sampai nilai Y >= Yakhir

  11. Algoritma Bresenham Gabungan • Tentukan x dan y x = abs(xakhir - xawal) y = abs(yakhir - yawal) • Tentukan nilai awal X dan Y dengan Xawal dan Yawal X = Xawal Y = Yawal • Beri warna Piksel pada posisi (X,Y) Pixel[x,y] = hitam • Tentukan P0 Jika x > y maka P[0] = 2y - x jika sebaliknya maka P[0] = 2x - y • Inisialisasi k dengan 0 k = 0

  12. Algoritma Bresenham Gabungan(lanjutan) • Tambahkan nilai koordinat dominan: Jika x > y maka Inc(x) jika sebaliknya maka Inc(y) • Tentukan nilai Pk+1 dan pertambahan nilai koordinat non dominan berdasarkan Pk Jika x > y maka Jika P[k]<0 maka P[k+1] = P[k]+ 2y Jika sebaliknya maka P[k+1] = P[k]+ (2y - 2x); inc(y) jika sebaliknya maka Jika P[k]<0 maka P[k+1] = P[k]+ 2x Jika sebaliknya maka P[k+1] = P[k]+ (2x - 2y) inc(x) • Beri warna Piksel pada posisi (X,Y) dan naikkan nilai k Pixel[x,y] = hitam Inc(k) • Ulangi proses nomor 6, 7, 8 selama nilai Xk+1 <= Xakhir atau Yk+1 <= Yakhir

  13. Contoh Bresenhamuntuk garis P0(5,5) s/d P1(9,15)

  14. Tugas Untuk 6PSI1 • Diketahui sebuah garis dimuai dari titik P0(1,3) sampai P1(20,20) dengan menggunakan algoritma Bresenham, tentukan piksel-piksel yang harus diberi warna dan Gambarkan dalam sebuah grid • Diketahui sebuah garis dimuai dari titik P0(3,1) sampai P1(20,20) dengan menggunakan algoritma Bresenham, tentukan piksel-piksel yang harus diberi warna dan Gambarkan dalam sebuah grid

  15. Tugas untuk 6PSI2 • Diketahui sebuah garis dimuai dari titik P0(7,5) sampai P1(20,20) dengan menggunakan algoritma Bresenham, tentukan piksel-piksel yang harus diberi warna dan Gambarkan dalam sebuah grid. • Diketahui sebuah garis dimuai dari titik P0(7,20) sampai P1(20,5) dengan menggunakan algoritma Bresenham, tentukan piksel-piksel yang harus diberi warna dan Gambarkan dalam sebuah grid.

More Related