Clipping 2D

25
Clipping 2D M.Iqbal Habibie 2DB23- D3 Manajemen Informatika

description

Clipping 2D. M.Iqbal Habibie 2DB23- D3 Manajemen Informatika. Pendahuluan. - PowerPoint PPT Presentation

Transcript of Clipping 2D

Page 1: Clipping 2D

Clipping 2D

M.Iqbal Habibie

2DB23- D3 Manajemen Informatika

Page 2: Clipping 2D

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 Cohen–Sutherland dan Liang-Barsky.

Page 3: Clipping 2D

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).

Page 4: Clipping 2D

• 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.

Page 5: Clipping 2D

Algoritma Cohen - SutherlandIvan Edward Sutherland lahir pada tahun 1938 di hastings,nebraskaAmerika, dia adalah perintis ilmu komputer dan internet. Dia menerimaTuring Award 1988 untuk penemu Sketchpad sebuah langkah awauntuk 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 anggotadari nastional academy of engineering, serta anggota nationalacademy of sciences.

Page 6: Clipping 2D

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

Page 7: Clipping 2D

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

Susunan Region Code

Page 8: Clipping 2D

• Dimana isi dari masing-masing bit ditentukan berdasarkan pengujian seperti pada Tabel 5.1

Tabel 5.1 Isi Region Code

Page 9: Clipping 2D

Gambar 5.2. Region code dinyatakan dengan biner memperlihatkan posisi dari titik terhadap bidang clipping.

Page 10: Clipping 2D

Latihan soal

• Jika diketahui area gambar ditentukan dengan xMin = 1, yMin = 1 dan xMax = 4, yMax= 5 dan dua buah garis:

• 1. P(-1,-2) – (5,6)

• 2. Q(-1,5) – (6,7)

• Maka tentukan region code dari masing-masing ujung garis tersebut

Page 11: Clipping 2D

• Jawab:

1. Garis P: Ujung garis P(-1, -2)

• L = 1; karena x < xMin atau -1 < 1• R = 0; karena x < xMax atau -1 < 4• B = 1; karena y < yMin atau -2 < 1• T = 0; karena y < yMax atau -2 < 5• Dengan demikian region code untuk ujung P(-1,-2) adalah 0101,

ujung garis• P(5,6).

Page 12: Clipping 2D

• L = 0; karena x > xMin atau 5 > 1• R = 1; karena x > xMax atau 5 > 4• B = 0; karena y > yMin atau 6 > 1• T = 1; karena y > yMax atau 6 > 5• Dengan demikian region code untuk ujung

P(5,6) adalah 1010, karena region• code dari kedua ujung garis tidak sama dengan

0000 maka garis P bersifat• kemungkinan partialy invisible dan perlu

dipotong.

Page 13: Clipping 2D

2. Garis Q:• Dengan cara yang sama pada garis P maka

akan ditentukan region code:• Ujung garis Q(-1,5) mempunyai region code =

0001• Ujung garis Q(6,7) mempunyai regian code =

1010• Karena region code tidak sama dengan 0000

maka garis Q bersifat kemungkinan• partialy invisible dan perlu dipotong.

Page 14: Clipping 2D

Menentukan Titik Potong

• Setelah garis ditentukan ketampakannya, maka langkah berikutnya adalah menentukan

• lokasi titik potong antara garis tersebut dengan batas area gambar. Titik potong dihitung

• berdasarkan bit=1 dari region code dengan menggunakan panduan pada Tabel

Page 15: Clipping 2D

Tabel 5.2. Mencari titik potong.

Page 16: Clipping 2D

• Dengan Xp1, Xp2, Yp1 dan Yp2 dihitung menggunakan persamaan berikut:

Ymin – y1• Xp1 = x1+ ----------------------

MYmax – y1

• Xp2 = x1 + ---------------------- M

• Yp1 = y1 + m * (xmin – x1)• Yp2 = y1 + m * (xmax – x1)

• Dengan:Y2 – Y1

• M = --------------X2 - X1

Page 17: Clipping 2D

• Bergantung kepada lokasi ujung garis maka kita akan memperoleh 2, 3, atau 4 titik potong seperti pada Gambar 5.3

Gambar 5.3 Kemungkinan banyaknya titik potong

Page 18: Clipping 2D

• Apabila ditemukan titik potong lebih dari dua pada suatu ujung maka pilihlah titik potong yang ada di dalam area gambar.

• Untuk contoh diatas titik potong pada garis P adalah :• Region Bit B = 1• titik (1.25 , 1)• Region Bit R = 1• titik (4, 4.7)

• Cara mencari titik potong sebagai berikut :• Titik potong garis P (-1,-2) – (5,6)

y2 – y1• m = --------

x2 – x1

6 – (-2 )= --------- 5 - (-1)

= 8/6

Page 19: Clipping 2D

• 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

• Titik potongnya adalah (xp1, ymin) = (1.25 , 1)

Page 20: Clipping 2D

• Region code 1010 di titik (5,6):• R =1 yp2 = y1 + m * (xmax – x1)

= 6 + (8/6) * (4-5) yp2 = 4.7

• Titik potongnya adalah(xmax, yp2) = (4, 4.7) Ymax – y1

• T =1 xp2 = x1 + --------------------- m(5 – 6)

• = 5 + ----------------------8/6

• xp2 = 4.25• Titik potongnya adalah (xp2, ymax) = (4.25 , 5)• Ada titik potong pada garis P yaitu (1, 0.67) , (1.25 ,1 ) ,

(4 , 4.7) , (4.25 , 5). Pilih titik• potong yang terdapat dalam viewport yaitu (1.25 , 1)

dan (4 , 4.7)

Page 21: Clipping 2D

Clipping Garis Liang-Barsky• Brian A. Barsky, lahir di Montreal, adalah Profesor di University of

California, Berkeley bekerja di komputer grafis dan geometris pemodelan serta promosi dan sebagainya dan visi ilmu pengetahuan.

• Beliau juga merupakan anggota dari Joint Graduate Group di Bioengineering, sebuah program antar-kampus, antara UC Berkeley dan San Francisco UC. Liang-Barsky menemukan algoritma clipping garis yang lebih cepat. Menurut Liang-Barsky bentuk pertidaksamaan sebagai berikut:

• Clipping yang lebih cepat dikembangkan berdasarkan persamaan parametrik dari segmen garis dapat ditulis dalam bentuk:

• x = x1 + u.dx• y = y1 + u.dy

• Dimana dx = x2 – x1 dan dy = y2-y1. Diman nilai uЄ[0,1]. Menurut Liang dan Barsky

• bentuk pertidaksamaan sebagai berkut:• xwmin <= x1 + u.dx <= xwmax• ywmin <= y1 + u.dy <= ywmax

Page 22: Clipping 2D

• Denganu.pk <= qk, k=1,2,3,4

• Dimana parameter p dan q ditentukan sebagai berikut:k = 1 (Kiri): p1 = -dx, q1= x1-xwmink = 2 (Kanan): p2 = dx, q2= xwmax – x1k = 3 (Bawah): p3 = -dy, q3= y1-ywmink = 4 (Atas): p4 = dy, q4= ywmax-y1

• Garis yang sejajar dengan salah satu batas clipping mempunyai pk = 0 untuk nilaik=1,2,3,4 yaitu left, right, botton, dan top. Untuk setiap nilai k, juga diperoleh qk<0, makagaris sepenuhnya diluar batas clipping. Bila qk>=0, maka garis didalam dan sejajar batasclipping.

• Bila pk<0, garis memotong batas clipping dari luar ke dalam, dan bila pk>0, garismemotong 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

Page 23: Clipping 2D

• 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.

• Untuk (pi < 0) t1 = Max (rk)• Untuk (pi > 0) t2 = Min (rk)

• Jika t1 < t2 cari nilai endpoint yang baru.t1 ( x1 + dx * t1 , y1 + dy * t1) titik awal garis yang barut2 ( x1 + dx * t1 , y1 + dy * t1) titik ujung garis yang baru

• Algoritma Liang-Barsky lebih efisien dibandingkan dengan Cohen-Sutherland karena perhitungan titik potong dihilangkan.

Page 24: Clipping 2D
Page 25: Clipping 2D

Terimakasih

Selamat Belajar