Grafika Komputer Pertemuan Ke-9

dokumen-dokumen yang mirip
Tampilan 2 Dimensi. Clipping 2 Dimensi. Tampilan 2 Dimensi. Penggambaran 2 Dimensi. Clipping 2 Dimensi. Ketampakan Garis 10/20/2017

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

Viewing and Clipping 2D. Farah Zakiyah Rahmanti 2014

Grafik Komputer : KLIPING

Clipping. Grafika Komputer. Murinto, M.Kom

Pembahasan berikut ini adalah berkaitan dengan sejumlah teknik pemotongan primitif berdasarkan metoda analitis di atas.

BAB VI Clipping. OBJEKTIF : Pada Bab ini mahasiswa mempelajari tentang : 1. Operasi Clippling 2. Antialiasing

Contoh Teknik Clipping

Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga

UJIAN TENGAH SEMESTER. Contoh Teknik Clipping. Clipping. Sesi 09 CLIPPING. Dosen Pembina : Sriyani Violina Danang Junaedi

Kata Kunci: computer adaptive test, adaptive learning, algoritma cohen-sutherland

ALGORITMA PERPOTONGAN OBJEK

Window /jendela area koordinat yg digunakan untuk menampilkan gambar Viewport area koordinat dimana suatu window dimapping

LATIHAN UTS Tim Pengajar KU1071 Sem

BAB IV TOOLS UNTUK MENGGAMBAR (WINDOW DAN VIEWPORT)

Bab 2 Output Primitif

BAB 3 PE GEMBA GA METODE DA ALGORITMA PEMESI A MULTI AXIS

3. Jika y1 = y2 (garis horisontal), maka (a) x = x + 1 dan y tetap (b) gambar titik (x,y) di layar (c) Selesai

Bab 7 Komponen Dasar Visual Basic 29 BAB VII KOMPONEN DASAR VISUAL BASIC TUJUAN PRAKTIKUM

Modul. Grafika Komputer. Disusun Oleh: Maya Amelia

BAB 2 LANDASAN TEORI

BAB IV IMPLEMENTASI DAN PENGUJIAN

Penggunaan Struktur Kontrol Pengulangan. Adi Rachmanto,S.Kom Prodi Akuntansi - UNIKOM

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

BAB 4 : USER INTERFACE

Analisis Permainan FLIP Menggunakan Algoritma Program Dinamis

VISUAL BASIC 6.0 SETYO BUDI, M.KOM.

PERBANDINGAN BEBERAPA METODE NUMERIK DALAM MENGHITUNG NILAI PI

Andy Prasetyo Utomo, S.Kom Pemrograman Terstruktur (Visual Basic 6.0)

OPERASI SELEKSI PEMROGRAMAN C++

BAB VI SEARCHING (PENCARIAN)

Strategi Algoritma Penyelesaian Puzzle Hanjie

VBSCRIPT TUTORIAL. 2. MEMASUKKAN KODE VBSCRIPT KE DALAM HALAMAN HTML Kode VBScript ditulis didalam pasangan tag <SCRIPT>.

BAB-4 LINGKARAN dan ELIPS

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Struktur Data & Algoritma

DASAR. Sigit Purnomo. Abstrak. Pendahuluan. Pembahasan. pemrograman. tidak. pengguna untuk VBA. yang. Application. dasar. Copyright

Variabel, Operator Dan Ekspresi. Agus Priyanto, M.Kom

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

I. PENGANTAR KOMPUTER GRAFIS

BAB 2 STATEMENT-STATEMENT PADA VBA EXCEL

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

Basic Input/Output Operator Yoannita

PAGI. SOAL PILIHAN GANDA : No

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

Kompleksitas Algoritma

Kompleksitas Algoritma (1)

Lampiran 1. Source Code Koneksi Handphone dengan PC

procedure identitas; forward; (* memperkenalkan proc identitas yang blm dibuat, tp akan sering dipakai di procedure2 diatasnya *)

Aplikasi Rekursif dalam Analisis Sintaks Program

II. DASAR TEORI I. PENDAHULUAN

A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java

BAB 2 Alamanda. LINEAR PROGRAMMING: METODE GRAFIK Fungsi Tujuan Maksimasi dan Minimasi

KONTRAK BELAJAR. Nama Mata Kuliah : Pemrograman Visual Kode Mata Kuliah : : Wahyu Widodo, S.Kom Semester : 5 Hari Pertemuan : Tempat Pertemuan :

Struktur Data II. Bekerja Dengan Form.

PEMROGRAMAN KOMPUTER KODE MODUL: TIN 202 MODUL V PENGENALAN MICROSOFT VISUAL BASIC 6.0

Jawab: Titik awal (x 1, y 1 ) = A(2,1) dan Titik akhir (x 2, y 2 ) = B(8,5) dx = x 2 x 1 = 8 2 = 6 dan dy = y 2 y 1 = 5 1 = 4

Langkah-langkah untuk mencari titik balik minimum dari sebuah fungsi suku banyak.

: METODE GRAFIK. Metode grafik hanya bisa digunakan untuk menyelesaikan permasalahan dimana hanya

6 FUNGSI LINEAR DAN FUNGSI

Mesin Abstrak. Tim Pengajar KU1071 Sem

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

REPRESENTASI DATA. Arsitektur Komputer

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

BAB 2 TINJAUAN PUSTAKA

BAB III LANDASAN TEORI. muka yang bersifat grafis Graphical User Interface (GUI). Daripada menulis

Praktekum VB 6.0 I. KOTAK PESAN. Contoh syntax kotak pesan

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

MODUL 3 SELEKSI KONDISI

Operasi File. Chapter 13

Program Studi Teknik Mesin S1

Operator dan Assignment

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero

Sistem Computer Vision Berbasis Metode Position Averaging Point untuk Pemilah Ikan Lele

Kompleksitas Algoritma

BAB III SIFAT SIFAT LINE DIGRAPH. Bab ini khusus membahas mengenai definisi serta sifat sifat dari line

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Sesi/Perkuliahan ke: VII

Pemrograman Berbasis Objek Operator dan Assignment

BAB 3 PERANCANGAN AWAL INVERSE-CABAC Proses Inisialisasi untuk Variabel Context

Penentuan Lokasi Pemasaran Produk dengan Media Periklanan Menggunakan Algoritma Greedy

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

STRUKTUR KENDALI PERCABANGAN

Penyelesaian Masalah Closest Pair dengan Algoritma Divide and Conquer

OPTIMALISASI JUMLAH PRODUKSI BARANG PADA PERUSAHAAN XYZ MENGGUNAKAN LOGIKA FUZZY

JAWABAN TUGAS 3 PEMROGRAMAN TEKNIK. Keuntungan Praktis dan mudah Komprehensif dan teliti

BAB III OUTPUT PRIMITIF

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Preliminary Test Axioo Class Program

STRATEGI DIVIDE AND CONQUER

SATUAN ACARA PERKULIAHAN MATA KULIAH ALGORITMA dan PEMROGRAMAN 1B(D3/TK) KODE : / SKS. Teknik Pembelajaran Kuliah mimbar dimana

Konstruksi Dasar Algoritma

Penerapan Algoritma Greedy dalam Permainan Othello

Transkripsi:

BAB-8 CLIPPING 2D Garis yang tidak perlu digambar dapat kita potong dengan metode clipping. Ada beberapa metode clipping yang umum diantaranya Cohen-Sutherland dan Liang-Barsky. By: I Gusti Ngurah Suryantara, S.Kom., M.Kom 8.1. 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. 8.2. 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). Fully invisible Partially Invisible viewport Fully visible Gambar 8.1. Ketampakan sebuah garis terhadap viewport 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 digamgar. 8.3. 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 awal 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. 104

8.3.1. 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 8.2. y ymax ymin xmin xmax x Gambar 8.2. Area gmanar 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 seperti pada Gambar 8.3. 3 2 1 0 T B R L Gambar 8.3. Susunan region-code Dimana isi dari masing-masing bit ditentukan berdasarkan pengujian seperti pada Tabel 8.1. Tabel 8.1. Isi region code Bit Ke Region Bit Isi 0 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 105

1001 1000 1010 0001 0000 0010 0101 0100 0110 Gambar 8.4. Region code dinyatakan dengan biner memperlihatkan posisi dari titik terhadap bidang clipping. Latihan: 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. Gambar 8.5. Garis P dan Q 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). 106

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. 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. 8.3.2. 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 8.2. Tabel 8.2. Mencari titik potong 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) Dengan Xp1, Xp2, Yp1 dan Yp2 dihitung menggunakan persamaan berikut: Ymin y1 Xp1 = x1+ ---------------------- M Ymax y1 Xp2 = x1 + ---------------------- M Yp1 = y1 + m * (xmin x1) Yp2 = y1 + m * (xmax x1) Dengan: Y2 Y1 M = -------------- X2 - X1 107

Bergantung kepada lokasi ujung garis maka kita akan memperoleh 2, 3, atau 4 titik potong seperti pada Gambar 8.6. Gambar 8.6. Kemungkinan banyaknya titik potong 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 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) 108

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) Penggalan program fungsi Cohen-Sutherland dalam VB. '---------------------------------------------------------- 'Clipping routine for Cohen-SutherLand '---------------------------------------------------------- Function clipline(l As line, r As line) Dim p1 As Point Dim p2 As Point Dim c1 As Code Dim c2 As Code Dim t As line Dim done As Boolean Dim draw As Boolean Dim m As Variant 'MsgBox tostring(l) fixregion r p1 = l.p1 p2 = l.p2 done = False draw = False While done = False c1 = getcode(p1, r) c2 = getcode(p2, r) If accept(c1, c2) Then done = True draw = True ElseIf reject(c1, c2) Then done = True Else 109

If isinside(c1) Then swappts p1, p2 swapcodes c1, c2 m = (p2.y - p1.y) / (p2.x - p1.x) If c1.c(1) Then 'crosses left p1.y = p1.y + (r.p1.x - p1.x) * m p1.x = r.p1.x ElseIf c1.c(2) Then 'crosses right p1.y = p1.y + (r.p2.x - p1.x) * m p1.x = r.p2.x ElseIf c1.c(3) Then 'crosses bottom p1.x = p1.x + (r.p1.y - p1.y) / m p1.y = r.p1.y ElseIf c1.c(4) Then 'crosses bottom p1.x = p1.x + (r.p2.y - p1.y) / m p1.y = r.p2.y Wend t.p1 = p1 t.p2 = p2 t.c = l.c If draw Then drawline t, 0, Form1.Picture1 Form1.List2.AddItem (tostring(t)) End Function Contoh: Penerapan clipping Cohen-Sutherland dengan menggunakan VB. Gambar 8.7. Clipping garis dengan menggunakan algoritma Cohen-Sutherland. 110

8.4. 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 = x 1 + u.dx y = y 1 + u.dy Dimana dx = x 2 x 1 dan d y = y 2 -y 1. Diman nilai uє[0,1]. Menurut Liang dan Barsky bentuk pertidaksamaan sebagai berkut: xw min <= x 1 + u.dx <= xw max yw min <= y 1 + u.dy <= yw max Dengan u.p k <= q k, k=1,2,3,4 Dimana parameter p dan q ditentukan sebagai berikut: k = 1 (Kiri): p 1 = -dx, q 1 = x 1 -xw min k = 2 (Kanan): p 2 = dx, q 2 = xw max x 1 k = 3 (Bawah): p 3 = -dy, q 3 = y 1 -yw min k = 4 (Atas): p 4 = dy, q 4 = yw max -y 1 Garis yang sejajar dengan salah satu batas clipping mempunyai p k = 0 untuk nilai k=1,2,3,4 yaitu left, right, botton, dan top. Untuk setiap nilai k, juga diperoleh q k <0, maka garis sepenuhnya diluar batas clipping. Bila q k >=0, maka garis didalam dan sejajar batas clipping. Bila p k <0, garis memotong batas clipping dari luar ke dalam, dan bila p k >0, garis memotong batas clipping dari dalam ke luar. Untuk nilai p k yang tidak sama dengan 0, nilai u dapat diperoleh dengan u = q k / p k Untuk setiap garis, dapat dihitung nilai dan parameter u 1 dan u 2 yang menentukan posisi garis dalam bidang clipping. Nilai u 1 diperlihatkan dengan batas clipping dimana garis memotong batas clipping dari luar ke dalam (p<0). r k = q k / p k 111

Dengan nilai u 1 adalah nilai maksimum dari nilai 0 dan bermacam-macam nilai r. Sebaliknya nilai u 2 ditentkan dengan memeriksa batas dimana clipping dipotong oleh garis dari dalam keluar (p>0). nilai r k dihitung untuk setiap batas clipping, dan nilai u 2 merupakan nilai minimum dari sekumpulan nilai yang terdiri dari 1 dan nilai r yang dihasilkan. Bila u 1 >u 2, 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) t 1 = Max (r k ) Untuk (pi > 0) t 2 = Min (r k ) Jika t 1 < t 2 cari nilai endpoint yang baru. t 1 ( x 1 + dx * t 1, y 1 + dy * t 1 ) titik awal garis yang baru t 2 ( x 1 + dx * t 1, y 1 + dy * t 1 ) titik ujung garis yang baru Algoritma Liang-Barsky lebih efisien dibandingkan dengan Cohen-Sutherland karena perhitungan titik potong dihilangkan. Algoritma 1. Initialize line intersection paramter: m1 <- 0, m2 <- 1 2. Compute dx, dy 3. For each window boundray Repeat Compute q,p If p < 0 (outside > inside) Then Compute Int = q / p If Int > m2 Then reject Else If Int > m1 Then M1 Int Else If p > 0 (inside -> outside) Then Compute Int <- q/p If Int < m1 Then Reject Else If Int < m2 Then m2 <- Int Else p = 0 If q < 0 reject 4. If m1 is greater Then 0 (has been modified) compute new x1, y1 5. If m2 is less Then 1 (has been modified) compute new x2, y2 Latihan: Diketahui titik garis P1(-1,-2) dan P2(2,4) dan viewport xl = 0, xr = 1, yb = 0 dan yt = 1. 112

Jawab: P1(-1,-2) P2(2,4) x L =0, x R =1, y B = 0, y T =1 dx = x2 x1 dy = y2 y1 = 2 (-1) = 3 = 4 (-2) = 6 p 1 = -dx, q 1 = x 1 x L q 1 /p 1 = -1/-3 = -3 = -1-0 = -1 = 1/3 P 2 = dx, q 2 = x R x 1 q 2 /p 2 = 2/3 = 3 = 1- (-1) = 2 P 3 = -dy, q 3 = y 1 - y B q 3 /p 3 = -2/-6 = -6 = -2-0 = -2 = 1/3 P 4 = dy, q 4 = y T - y l q 4 /p 4 = 3/6 = 6 = 1- (-2)= 3 = 1/2 Untuk (pi < 0 ) T1 = Max (1/3, 1/3, 0) = 1/3 Untuk (pi > 0 ) T2 = Min (2/3, 1/2, 1) = ½ T1 < T2 Perhitungan endpoint baru T1 = 1/3 X1 = x1 + dx * t1 = -1 + ( 3 * 1/3) = -1 + 1 = 0 Y1 = y1 + dy * t1 = -2 + 6 * 1/3 = -2 + 2 = 0 (X1,Y1 ) = (0,0) T2 = 1/2 X2 = x1 + dx * t2 = -1 + ( 3 * 1/2) = 1/2 Y2 = y1 + dy * t2 = -2 + 6 * 1/2= 1 (X2,Y2 ) = (1/2,1) 113

Function clipliangbarsky(region As line, p As PictureBox) Form1.Picture1.Cls Form1.List2.Clear p.drawwidth = 1 p.drawstyle = 2 p.line (0, region.p1.y)-(p.width, region.p1.y), QBColor(7) p.line (0, region.p2.y)-(p.width, region.p2.y), QBColor(7) p.line (region.p1.x, 0)-(region.p1.X, p.height), QBColor(7) p.line (region.p2.x, 0)-(region.p2.X, p.height), QBColor(7) p.drawstyle = 1 For i = 0 To n drawline Garis(i), 7, p Next i p.drawstyle = 0 p.drawwidth = 2 fixregion region For i = 0 To (n - 1) clipline2 Garis(i), region, p Next i End Function '====================================================================== ' Liang-Barsky Clipping '====================================================================== Function cliptest(p As Double, q As Double, u1 As Double, u2 As Double) As Boolean Dim r As Double cliptest = True If p < 0 Then r = q / p If r > u2 Then cliptest = False ElseIf r > u1 Then u1 = r Else If p > 0 Then r = q / p If r < u1 Then cliptest = False ElseIf r < u2 Then u2 = r ElseIf q < 0 Then cliptest = False End Function 114

PR diskusi boleh 1. Diketahui titik awal P (1,1) dan titik akhir di Q (10,10), dengan area clipping xmin = 1, ymin=1, xmax= 7 dan ymax=7 selesaikan dengan clipping Cohen- Sutherland. 2. Berdasarkan soal no 1 lakukan clipping menggunakan Liang-Barsky dimana xl =1, xr= 7, yb = 1 dan yt = 7. 3. Berdasarkan soal no 1 selesaikan dengan metode Nichol-Lee-Nichol bila area clipping barada pada batas KiriBawah = 1,1 dan batas KanaAtas = 7,7. Nb: Lengkapi denga gambar sebelum di clipping dan gambar sesudah clipping. 115