1 / 16

Clipping Line Menggunakan Algoritma Cohen-Sutherland

Clipping Line Menggunakan Algoritma Cohen-Sutherland. Contoh Real. Clipping Line Menggunakan Algoritma Cohen-Sutherland. Algoritma Cohen-Sutherland merupakan metode untuk menentukan apakah sebuah garis perlu dipotong atau tidak dan memetukan titik potong garis .

tirza
Download Presentation

Clipping Line Menggunakan Algoritma Cohen-Sutherland

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. Clipping Line MenggunakanAlgoritma Cohen-Sutherland Contoh Real

  2. Clipping Line MenggunakanAlgoritma Cohen-Sutherland • AlgoritmaCohen-Sutherland merupakanmetodeuntukmenentukanapakahsebuahgarisperludipotongatautidakdanmemetukantitikpotonggaris. • Area gambardidefinisikansebagaisebuah area segiempat yang dibatasiolehxmindanxmax, ymindanymax. • Setiapujunggarisdiberikode 4 bit dandisebutsebagai region code. Region code ditentukanberdasarkan area   dimanaujunggaristersebutberada

  3. Susunan Region Code

  4. Arti region code

  5. Contoh KeteranganGambar : Xmax = 6 Xmin = -6 Ymax = 6 Ymin = -6 1.    Garis AB (1,2)(4,4) 3.    Garis EF (4,-8)(9,-4) 2.    Garis CD (-5,3)(-1,7) 4.    Garis GH (-7,-4)(-2,-7)

  6. Region Code AB 1. Garis AB Verteks A (1,2) L = 0 → Karena X > Xminyaitu 1 > -6 R = 0 → Karena X < Xmaxyaitu 1 < 6 B = 0 → Karena Y > Yminyaitu 2 > -6 T = 0 → Karena Y < Ymaxyaitu 2 < 6 Sehingga region code dariverteks A adalah 0000 Verteks B (4,4) L = 0 → Karena X > Xminyaitu 4 > -6 R = 0 → Karena X < Xmaxyaitu 4 < 6 B = 0 → Karena Y > Yminyaitu 4 > -6 T = 0 → Karena Y < Ymaxyaitu 4 < 6 Sehingga region code dariverteks B adalah 0000

  7. Kesimpulan • Karena region code darikeduaverteks A dan B adalah 0000 makagaris AB bersifatFully Visible (Garis yang terlihatseluruhnya) sehinggagaristidakperludipotong. Denganmelakukanoperasi AND jugadapatdibuktikanbahwakeduaverteksterletakdalam viewport danakanditampilkanseluruhnya (0000 AND 0000 = 0000).

  8. Region Code CD • 2. Garis CD • Verteks C (-5,3) • L = 0 → Karena X > Xminyaitu -5 > -6 • R = 0 → Karena X < Xmaxyaitu -5 < 6 • B = 0 → Karena Y > Yminyaitu 3 > -6 • T = 0 → Karena Y < Ymaxyaitu 3 < 6 • Sehingga region code dariverteks C adalah 0000 • Verteks D (-1,7) • L = 0 → Karena X > Xminyaitu -1 > -6 • R = 0 → Karena X < Xmaxyaitu -1 < 6 • B = 0 → Karena Y > Yminyaitu 7 > -6 • T = 1 → Karena Y < Ymaxyaitu 7 > 6 • Sehingga region code dariverteks D adalah 1000

  9. Kesimpulan Karenaadasalahsatuverteksdarigaris CD yang region codenyatidak 0000 (yaituverteks D), makagaris CD kemungkinanbersifatPartially Visible (Garis yang hanyaterlihatsebagian) danperludipotong. Samasepertigaris AB, garis CD pun dapatdibuktikandenganoperasi AND, yaitu 0000 AND 1000 = 0000.

  10. MenetukanTitikPotong • Titikpotongdihitungberdasarkan bit=1 dari region code denganmenggunakanpanduantabelberikut:

  11. Dengan xp1, xp2, yp1, dan yp2 dihitungmenggunakanpersamaanberikutini: • Titikpotongpadagaris CD (-5,3)(-1,7) Region code 1000 untukverteks D(-1,7) • T = 1 → Karena T=1, maka yang dicariadalah xp2. • Makatitikpotongnyaadalah (xp2, ymax) → (2, 6)

  12. Region Code EF • 3. Garis EF • Verteks E (4,-8) • L = 0 → Karena X > Xminyaitu 4 > -6 • R = 0 → Karena X < Xmaxyaitu 4 < 6 • B = 1 → Karena Y < Yminyaitu -8 < -6 • T = 0 → Karena Y < Ymaxyaitu -8 < 6 • Sehingga region code dariverteks E adalah 0100 • Verteks F (9,-4) • L = 0 → Karena X > Xminyaitu 9 > -6 • R = 1 → Karena X < Xmaxyaitu 9 > 6 • B = 0 → Karena Y > Yminyaitu -4 > -6 • T = 0 → Karena Y < Ymaxyaitu -4 < 6 • Sehingga region code dariverteks F adalah 0010

  13. Kesimpulan • Karena region code darikeduavertekstidak 0000 , makagaris CD bersifatFully Invisible(Garis yang tidakterlihatsamasekali), jadigaristidakperludigambar. Hal inijugadapatdibuktikandengan à 0100 AND 0110 = 0100

  14. Region Code GH 4. Garis GH Verteks G (-7,-4) L = 1 → Karena X < Xminyaitu -7 < -6 R = 0 → Karena X < Xmaxyaitu -7 < 6 B = 0 → Karena Y > Yminyaitu -4 > -6 T = 0 → Karena Y < Ymaxyaitu -4 < 6 Sehingga region code dariverteks G adalah 0001 Verteks H (-2,-7) L = 0 → Karena X Xminyaitu -2 > -6 R = 0 → Karena X Xmaxyaitu -2 < 6 B = 1 → Karena Y Yminyaitu -7 < -6 T = 0 → Karena Y Ymaxyaitu -7 < 6 Sehingga region code dariverteks A adalah 0100

  15. Kesimpulan • Keduaverteksdarigaris GH tidakmempunyai region code 0000. Tetapijikakeduaverteksdilakukanoperasi AND, makaakanmenghasilkan region code 0000. (0001 AND 0100 = 0000)

  16. - Titikpotongpadagaris GH (-7,-4)(-2,-7) - Region code 0001 untukverteks G(-7,-4) L = 1 → Karena L=1, maka yang dicariadalah yp1. Makatitikpotongnyaadalah (xmin, yp1) → (-6, -4.6) - Region code 0100 untukverteks H(-2,-7) B = 1 → Karena B=1, maka yang dicariadalah xp1. Makatitikpotongnyaadalah (xp1, ymin) → (-3.67, -6)  » Ada 2 titikpotongpadagaris GH yaitu (-6, -4.6) dan (-3.67, -6)

More Related