Menggunakan
Algoritma CohenSutherland
Contoh Real
Region Bit
L
Isi
1 apabila x < xmin
0 apabila x xmin
0101
Terletak di
viewport
Terletak di
viewport
Terletak di
Terletak di
0110
1000
1001
1010
Contoh
Keterangan Gambar :
Xmax = 6
Xmin = -6
Ymax = 6
Ymin = -6
1.
3.
2.
4.
Garis
Garis
Garis
Garis
AB (1,2)(4,4)
EF (4,-8)(9,-4)
CD (-5,3)(-1,7)
GH (-7,-4)(-2,-7)
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
Kesimpulan
Karena region code dari kedua
verteks A dan B adalah 0000 maka
garis AB bersifatFully 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).
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
Kesimpulan
Karena ada salah satu verteks dari
garis CD yang region codenya tidak
0000 (yaitu verteks D), maka garis CD
kemungkinan bersifatPartially
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.
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)
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
Kesimpulan
Karena region code dari kedua
verteks tidak 0000 , maka garis CD
bersifatFully Invisible(Garis yang
tidak terlihat sama sekali), jadi garis
tidak perlu digambar. Hal ini juga
dapat dibuktikan dengan 0100 AND
0110 =0100
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
Kesimpulan
Kedua verteks dari garis GH tidak
mempunyai region code 0000. Tetapi
jika kedua verteks dilakukan operasi
AND, maka akan menghasilkan
region code 0000. (0001 AND 0100 =
0000)
Ada 2 titik potong pada garis GH yaitu (-6, -4.6) dan (-3.67, -6)