Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Clipping Line Menggunakan Algoritma Cohen-Sutherland

Presentasi serupa


Presentasi berjudul: "Clipping Line Menggunakan Algoritma Cohen-Sutherland"— Transcript presentasi:

1 Clipping Line Menggunakan Algoritma Cohen-Sutherland
Contoh Real

2 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. Area gambar didefinisikan sebagai sebuah area segiempat yang dibatasi oleh xmin dan xmax, ymin dan ymax. Setiap ujung garis diberi kode 4 bit dan disebut sebagai region code. Region code ditentukan  berdasarkan area   dimana ujung garis tersebut berada

3 Susunan Region Code Bit ke Region Bit Isi L 1 apabila x < xmin
L 1 apabila x < xmin 0 apabila x ≥ xmin 1 R 1 apabila x > xmax 0 apabila x ≤ xmax 2 B 1 apabila y < ymin 0 apabila y ≥ ymin 3 T 1 apabila y > ymax 0 apabila y ≤ ymax

4 Arti region code Region Code Arti 0000 Terletak di dalam viewport 0001
Terletak di sebelah kiri viewport 0010 Terletak di sebelah kanan viewport 0100 Terletak di sebelah bawah viewport 0101 Terletak di sebelah kiri bawah viewport 0110 Terletak di sebelah kanan bawah viewport 1000 Terletak di sebelah atas viewport 1001 Terletak di sebelah kiri atas viewport 1010 Terletak di sebelah kanan atas viewport&

5 Contoh Keterangan Gambar : 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 > Xmin yaitu 1 > -6 R = 0 → Karena X < Xmax yaitu 1 < 6 B = 0 → Karena Y > Ymin yaitu 2 > -6 T = 0 → Karena Y < Ymax yaitu 2 < 6 Sehingga region code dari verteks A adalah 0000 Verteks B (4,4) L = 0 → Karena X > Xmin yaitu 4 > -6 R = 0 → Karena X < Xmax yaitu 4 < 6 B = 0 → Karena Y > Ymin yaitu 4 > -6 T = 0 → Karena Y < Ymax yaitu 4 < 6 Sehingga region code dari verteks B adalah 0000

7 Kesimpulan Karena region code dari kedua verteks A dan B adalah 0000 maka garis AB bersifat Fully Visible (Garis yang terlihat seluruhnya) sehingga garis tidak perlu dipotong. Dengan melakukan operasi AND juga dapat dibuktikan bahwa kedua verteks terletak dalam viewport dan akan ditampilkan seluruhnya (0000 AND 0000 = 0000).

8 Region Code CD 2. Garis CD Verteks C (-5,3)
L = 0 → Karena X > Xmin yaitu -5 > -6 R = 0 → Karena X < Xmax yaitu -5 < 6 B = 0 → Karena Y > Ymin yaitu 3 > -6 T = 0 → Karena Y < Ymax yaitu 3 < 6 Sehingga region code dari verteks C adalah 0000 Verteks D (-1,7) L = 0 → Karena X > Xmin yaitu -1 > -6 R = 0 → Karena X < Xmax yaitu -1 < 6 B = 0 → Karena Y > Ymin yaitu 7 > -6 T = 1 → Karena Y < Ymax yaitu 7 > 6 Sehingga region code dari verteks D adalah 1000

9 Kesimpulan Karena ada salah satu verteks dari garis CD yang region codenya tidak 0000 (yaitu verteks D), maka garis CD kemungkinan bersifat Partially Visible (Garis yang hanya terlihat sebagian) dan perlu dipotong. Sama seperti garis AB, garis CD pun dapat dibuktikan dengan operasi AND, yaitu 0000 AND 1000 = 0000.

10 Menetukan Titik Potong
Titik potong dihitung berdasarkan bit=1 dari region code dengan menggunakan panduan tabel berikut: Region Bit Berpotongan dengan Dicari Titik Potong L=1 xmin yp1 (xmin,yp1) R=1 xmax yp2 (xmax,yp2) B=1 Ymin xp1 (xp1,ymin) T=1 ymax xp2 (xp2,ymax)

11 Dengan xp1, xp2, yp1, dan yp2 dihitung menggunakan persamaan berikut ini:
Titik potong pada garis CD (-5,3)(-1,7) Region code 1000 untuk verteks D(-1,7) T = 1 → Karena T=1, maka yang dicari adalah xp2. Maka titik potongnya adalah (xp2, ymax) → (2, 6)

12 Region Code EF 3. Garis EF Verteks E (4,-8)
L = 0 → Karena X > Xmin yaitu 4 > -6 R = 0 → Karena X < Xmax yaitu 4 < 6 B = 1 → Karena Y < Ymin yaitu -8 < -6 T = 0 → Karena Y < Ymax yaitu -8 < 6 Sehingga region code dari verteks E adalah 0100 Verteks F (9,-4) L = 0 → Karena X > Xmin yaitu 9 > -6 R = 1 → Karena X < Xmax yaitu 9 > 6 B = 0 → Karena Y > Ymin yaitu -4 > -6 T = 0 → Karena Y < Ymax yaitu -4 < 6 Sehingga region code dari verteks F adalah 0010

13 Kesimpulan Karena region code dari kedua verteks tidak 0000 , maka garis CD bersifat Fully Invisible(Garis yang tidak terlihat sama sekali), jadi garis tidak perlu digambar. Hal ini juga dapat dibuktikan dengan à 0100 AND 0110 = 0100

14 Region Code GH 4. Garis GH Verteks G (-7,-4) L = 1 → Karena X < Xmin yaitu -7 < -6 R = 0 → Karena X < Xmax yaitu -7 < 6 B = 0 → Karena Y > Ymin yaitu -4 > -6 T = 0 → Karena Y < Ymax yaitu -4 < 6 Sehingga region code dari verteks G adalah 0001 Verteks H (-2,-7) L = 0 → Karena X Xmin yaitu -2 > -6 R = 0 → Karena X Xmax yaitu -2 < 6 B = 1 → Karena Y Ymin yaitu -7 < -6 T = 0 → Karena Y Ymax yaitu -7 < 6 Sehingga region code dari verteks A adalah 0100

15 Kesimpulan Kedua verteks dari garis GH tidak mempunyai region code Tetapi jika kedua verteks dilakukan operasi AND, maka akan menghasilkan region code (0001 AND 0100 = 0000)

16 - Titik potong pada garis GH (-7,-4)(-2,-7) - Region code 0001 untuk verteks G(-7,-4) L = 1 → Karena L=1, maka yang dicari adalah yp1. Maka titik potongnya adalah (xmin, yp1) → (-6, -4.6) - Region code 0100 untuk verteks H(-2,-7) B = 1 → Karena B=1, maka yang dicari adalah xp1. Maka titik potongnya adalah (xp1, ymin) → (-3.67, -6)  » Ada 2 titik potong pada garis GH yaitu (-6, -4.6) dan (-3.67, -6)


Download ppt "Clipping Line Menggunakan Algoritma Cohen-Sutherland"

Presentasi serupa


Iklan oleh Google