Professional Documents
Culture Documents
M.Iqbal Habibie
2DB23- D3 Manajemen Informatika
Pendahuluan
Clipping merupakan metode untuk
menghilangkan garis yang tidak perlu
digambar apabila melebihi window viewing
(area gambar). Ada beberapa algoritam
clipping yang ada, namun kita akan
membahas algoritma yang diusulkan oleh
CohenSutherland dan Liang-Barsky.
Ketampakan Garis
(Line Visibility)
Garis-garis yang tampak pada area gambar atau
viewing dapat dikelompokkan menjadi
tiga kelompok, yaitu:
1. Garis yang terlihat seluruhnya (Fully visible).
2. Garis yang hanya terlihat sebagian (Partiality
Visible).
3. Garis yang tidak terlihat seama sekali (Fully
Invisible).
Garis yang dipotong adalah garis yang memiliki
ketampakan sebagaian (Partiality Visible) dari daerah
area gambar. Sedangkan garis yang memiliki
ketampakan seluruhnya.
tidak perlu dipotong, dan garis yang memiliki
ketampakan tidak terlihat sama sekali tidak perlu
digambar.
Algoritma Cohen - Sutherland
Ivan Edward Sutherland lahir pada tahun 1938 di hastings,nebraska
Amerika, dia adalah perintis ilmu komputer dan internet. Dia menerima
Turing Award 1988 untuk penemu Sketchpad sebuah langkah awa
untuk antarmuka pengguna grafis di komputer pribadi.
Dia memperoleh sarjana elektro dari institut teknologi carnegie
(sekarang carnegie mellon university), pasca sarjana dari caltech,
dan PhD dari MIT di EECS pada tahun 1963. Dia adalah anggota
dari nastional academy of engineering, serta anggota national
academy of sciences.
Menentukan Ketampakan Garis
Cohen-Sutherland mengusulkan sebuah
metode untuk menentukan apakah sebuah
garis
perlu dipotong atau tidak. Area gambar
didefinisikan sebagai sebuah area
segiempat yang
dibatasi oleh xMin, xMax, yMin, yMax
seperti pada Gambar dibawah ini
Setiap ujung garis diberi kode 4 bit dan disebut sebagai region code,
region code ditentukan berdasarkan area dimana ujung garis
tersebut berada. Cohen-Sutherland menyusun region code
Dengan:
Y2 Y1
M = --------------
X2 - X1
Bergantung kepada lokasi ujung garis
maka kita akan memperoleh 2, 3, atau 4
titik potong seperti pada Gambar 5.3
6 (-2 )
= ---------
5 - (-1)
= 8/6
Region code 0101 di titik (-1,-2):
L=1 yp1 = y1 + m * (xmin x1)
= -2 + (8/6) * (1-(-1))
yp1 = 0,86
Titik potongnya adalah (xmin,yp1) = (1, 0.86)
Ymin y1
B = 1 xp1 = x1 + ---------------
M
(1 (-2))
= -1 + ---------------
8/6
xp1 = 1.25
x = x1 + u.dx
y = y1 + u.dy
Garis yang sejajar dengan salah satu batas clipping mempunyai pk = 0 untuk nilai
k=1,2,3,4 yaitu left, right, botton, dan top. Untuk setiap nilai k, juga diperoleh qk<0, maka
garis sepenuhnya diluar batas clipping. Bila qk>=0, maka garis didalam dan sejajar batas
clipping.
Bila pk<0, garis memotong batas clipping dari luar ke dalam, dan bila pk>0, garis
memotong batas clipping dari dalam ke luar. Untuk nilai pk yang tidak sama dengan 0,
nilai u dapat diperoleh dengan
u = qk / pk
Untuk setiap garis, dapat dihitung nilai dan parameter u1 dan u2 yang menentukan
posisi garis dalam bidang clipping. Nilai u1 diperlihatkan dengan batas clipping
dimana garis memotong batas clipping dari luar ke dalam (p<0).
rk = qk / pk
Dengan nilai u1 adalah nilai maksimum dari nilai 0 dan bermacam-macam
nilai r. Sebaliknya nilai u2 ditentkan dengan memeriksa batas dimana
clipping dipotong oleh garis dari dalam keluar (p>0). nilai rk dihitung untuk
setiap batas clipping, dan nilai u2 merupakan nilai minimum dari
sekumpulan nilai yang terdiri dari 1 dan nilai r yang dihasilkan. Bila u1>u2,
maka garis sepenuhnya berada di luar clip window dan dapat dihilangkan .
sebaliknya bila tidak endpoint dari garis yang di clip dihitung dari dua nilai
parameter u.