• Tidak ada hasil yang ditemukan

Clipping. Grafika Komputer. Murinto, M.Kom

N/A
N/A
Protected

Academic year: 2021

Membagikan "Clipping. Grafika Komputer. Murinto, M.Kom"

Copied!
52
0
0

Teks penuh

(1)

Clipping

Grafika Komputer

(2)

Clipping

• Prosedur yang mendefinisikan bagian gambar, baik di dalam maupun di luar suatu bidang tertentu di sebut dengan algoritma clipping/clipping

• Pada transformasi viewing, perlu ditampilkan bagian gambar yang terdapat dalam window. Semua yang

Tahun Ajaran 06/07 2

gambar yang terdapat dalam window. Semua yang berada di luar window akan dibuang.

• Clipping dapat diterapkan pada world coordinate, sehingga hanya isi yang berada dalam window dipetakan ke device coordinat.

(3)

Algoritma Clipping

• Algoritma clipping digunakatn untuk berbagai macam primitif, yaitu :

- Clipping titik - Clipping garis

- Clipping area (poligon) - Clipping kurva

Tahun Ajaran 06/07 3

- Clipping kurva - Clipping teks

(4)

CLIPPING TITIK

• Pada Clipp window yang mempunyai bentuk persegi empat dengan posisi standar, titik P(x,y) disimpan untuk ditampilkan bila :

Tahun Ajaran 06/07 4

ditampilkan bila :

• dimana batas clip window dapat berada di dalam batas world coordinate atau

viewport coordinate.

max min x xw

(5)

Clipping Garis

• Prosedur clipping untuk garis dapat dijelaskan sebagai berikut :

Clipping garis diproses dengan inside-outside tes dengan memeriksa endpoint dari garis.

Garis yang mempunyai kedua endpoint di dalam batas clipping, maka garis tersebut disimpan. Sedang bila kedua endpoint tidak

Tahun Ajaran 06/07 5

disimpan. Sedang bila kedua endpoint tidak berada di dalam, maka garis tersebut berada di luar window. Semua garis lain yang

memotong satu atau lebih batas clipping memerlukan algoritma clipping yang dapat mengidentifkasi dengan efisien bahwa garis di luar batas clipping.

(6)

Clipping Garis

D D F B H C Tahun Ajaran 06/07 6 A E C G G J J  I I  clip Persegi empat l H 

(7)

B

Clipping Garis

C D Tahun Ajaran 06/07 7 A C l H  G

(8)

Algoritma

• Recursive Subdivision (membagi garis pada titik tengah)

• Bagus untuk binary processing

Tahun Ajaran 06/07 8

• Bagus untuk binary processing

• Bounded number (10 atau 12) dari step (melalui ukuran pixel)

(9)

Recursive Subdivision

Clipping

P1 Tahun Ajaran 06/07 9 P0 Clip Persegi

(10)

Recursive Subdivision Clipping

P1 Clip persegi Tahun Ajaran 06/07 10 P0 Titik tengah (Midpoint)

(11)

P1

Recursive Subdivision Level 1

Stack kedua pertengahan

Tahun Ajaran 06/07 11

P0

(12)

Recursive Subdivision Level 2

(13)

Recursive Subdivision Level 3

(14)

Recursive Subdivision Level 3

(15)

Recursive Subdivision Level 2

(16)

Recursive Subdivision Level 3

(17)

Recursive Subdivision Level 3

(18)

P1

Recursive Subdivision Clipping

Tahun Ajaran 06/07 18

P0

Clip persegi

(19)

Akurasi sampai 3 Binary Digits

(20)

Recursive Subdivision

• Algoritma Kovergensinya Linear

• Menghitung 1 binary digit tiap satu loop • Secara alami bekerja dengan shift

Tahun Ajaran 06/07 20

• Secara alami bekerja dengan shift register

(21)

Parameter persamaan Garis

0 1

1

( )

(

)

P t

 

t

P

t

P

Tahun Ajaran 06/07 21 0 1

,

1

(0)

;

( )

where

P

P

P

P

(22)

Clip batas-batas

x = a

P

1 Tahun Ajaran 06/07 22 P0 Clipping Edge

a

x

(23)

P

1

Clipping Edge

Gunakan Kesamaan Segitiga

Tahun Ajaran 06/07 23

P0 Clipping Edge

a

x

(24)

Gunakan Kesamaan Segitiga

Gunakan rasio garis ini

Tahun Ajaran 06/07 24 0 1 0

a

x

t

x

x

 

Dan , sama juga untuk garis eksplisit Yaitu,

(25)

Clipping garis

(26)

Cohen-Sutherland

• Metode ini mempercepat pemrosesan segmen garis dengan mengurangi jumlah perpotongan yang harus dihitung.

• Setiap endpoint dari garis dalam gambar dinyatakan dalam 4 digit kode biner disebut region code

• Nilai 1 pada setiap posisi bit menerangkan bahwa titik berada

Tahun Ajaran 06/07 26

• Nilai 1 pada setiap posisi bit menerangkan bahwa titik berada pada posisi region tersebut, jika tidak nilainya 0

• Nilai region code dapat ditentukan dengan 2 langkah:

- hitung perbedaan antara koordinat endpoint dengan batas clipping

- gunakan bit tanda resultan pada setiap perbedaan perhitungan untuk menentukan lokasi pada region

(27)

Region Outcode

1000 1010 1001 max

y

Tahun Ajaran 06/07 27 0000 0010 0110 0001 0101 0100 max

y

min

y

max

x

min

x

(28)

Lihat pada Bit (neg

1)

• Bit 1 • Bit 2 max

)

(

y

sign y

)

(

sign y

y

Tahun Ajaran 06/07 28 • Bit 2 • Bit 3 • Bit 4 min

)

(

sign y

y

max

)

(

x

sign x

min

)

(

sign x

x

(29)

Butuh Classify Endpoint

• Lihat pada

• Apakah yang bisa kita katakan?

• “trivial reject” 0 1 CC 0 CC   Tahun Ajaran 06/07 29 • “trivial reject”

• Kedua ujung ada di dalam suatu baris atau kolom outside

0 1 0

(30)

Region Outcodes

• Bit 1

 t

Atas window

1 2 3 4

Bit

Bit

Bit

Bit

Tahun Ajaran 06/07 30

• Bit Atas window

• Bit bawah window

• Bit kanan window

• Bit Kiri window

 t

1

 t

2

 t

3

 t

4

(31)

Classify Endpoint

C 0  C1  0

 Titik akhir

mungkin saja tidak

Tahun Ajaran 06/07 31

mungkin saja tidak dalam window

(32)

I

Cohen-Sutherland Line Clipping

D C B 1001 1000 1010 Tahun Ajaran 06/07 32 H G F E B A 0000 0010 0110 0001 0101 0100

(33)

I D C B 1000 1001 1010

Cohen-Sutherland Line Clipping

Tahun Ajaran 06/07 33 H G F E B A 0000 0010 0110 0001 0101 0100

(34)

Penghitungan Outcode Awal

• OC(D)=1000; OC(A)=0001

000

000

0000

1

1

Tahun Ajaran 06/07 34 • OC(E)=0100; OC(I)=1010

0 00

1

1 1

0 0

0000

(35)

Clip dan lanjutkan

• Clip lagi batas atas

• Hitung B. Keep AB

max

y

y

Tahun Ajaran 06/07 35

(36)

Cohen-Sutherland Line Clipping

B Tahun Ajaran 06/07 36 H G F E B A

(37)

Clip and Continue

• Clip lagi batas bawah

• Skr test dan tolak AB karena

• OC(A)=0001 and OC(B)=0001;

min

y

y

Tahun Ajaran 06/07 37

• OC(A)=0001 and OC(B)=0001; • Tolak AB on outcode basis

(38)

Penghitungan Outcode

• OC(H)=0010; OC(E)=0100

00 0

1

0 00

1

0000

Tahun Ajaran 06/07 38

• Saat hasil adalah 0, proses

(39)

H

Cohen-Sutherland Line Clipping

1000 1010 1001 Tahun Ajaran 06/07 39 H G F 0000 0010 0110 0001 0101 0100

(40)

Outcode Calculations

• OC(F)=0000; OC(H)=0010

00 0

1

0 00

1

0000

Tahun Ajaran 06/07 40

• Saat hasil adalah 0, proses HF untuk mendapatkan GF

(41)

Clip and Continue

• Clip lagi batas kanan • Dapatkan GF max

x

x

Tahun Ajaran 06/07 41 • Dapatkan GF • kerjakan

(42)

Cohen-Sutherland Line Clipping

Tahun Ajaran 06/07 42

G

(43)

Kapan Algoritma ini bagus?

• Jika trivally rejects(accepts) banyak kasus

• Bagus jika window lebar

Tahun Ajaran 06/07 43

• Bagus jika window lebar • Bagus jika window kecil

• Sebagai contoh, ini akan bekerja baik dalam kasus yang ekstrim

(44)

Masalah Line Clipping

) 1 , 1 (x y max y y  Tahun Ajaran 06/07 44 min y y  min x x  Clipping Segi empat ) 0 , 0 ( xy  1 1 max x x

(45)

Clipped Line

) 1 , 1 (x y max y y  Tahun Ajaran 06/07 45 min y y  min x x  Clipping Segiempat 1 1 max x x  ) 0 , 0 ( xy

(46)

Menggambar Clipped Lines

) 1 , 1 (x y Tahun Ajaran 06/07 46 ) 0 , 0 (x y

(47)

Clipped Line

Punya Slope yang berbeda !

2 1  m Tahun Ajaran 06/07 47 4 3  m

(48)

Hati-hati: Pick Right Slope

Tahun Ajaran 06/07 48

(49)

min

x

x

Clipping lagi

NE min x x             )) ( min ( , min mx B x Round  midpoint M Tahun Ajaran 06/07 49 E min y y           )) ( min ( , min mx B x  Clip segiempat Clip segiempat midpoint M

(50)

min

y

y

Clipping lagi

min y y  min x xLine clipped B A Tahun Ajaran 06/07 50 min y y  1 min   y y 2 1 min   y y

(51)

Clipping lagi

y

y

min

• Situasi kompleks

• Multiple pixels terlibat pada

• Ingin semua pixel-pixelsebagai “di dalam”

min

y

y

Tahun Ajaran 06/07 51

• Ingin semua pixel-pixelsebagai “di dalam” • Analitik , rounding x memberikan A • Kita ingin titik B

(52)

Clipping lagi

min

y

y

• Gunakan Line

• Round up untuk integer x terdekat

12

min 

 y

y

Tahun Ajaran 06/07 52

• Round up untuk integer x terdekat • Ditemukan titik B, hasil yang

Referensi

Dokumen terkait

 Tingkat Pengangguran Terbuka (TPT) di Sulawesi Tengah pada Februari 2016 mencapai 3,46 persen, mengalami penurunan dibanding TPT Agustus 2015 sebesar 4,10 persen, namun

Dilihat dari tabel diatas, usia anak dan remaja merupakan usia yang cukup kritis dalam pembentukan sikap, sehingga dapat dikatakan bahwa untuk

Untuk mengetahui perbedaan besar prestasi belajar dan sikap bersahabat siswa materi pengumpulan dan penyajian data yang diajarkan menggunakan pendekatan matematika

Di wilayah agropolis ini terdapat lembaga keuangan seperti lembaga jasa perbankan dan koperasi unit desa (KUD). Di wilayah agropolis inilah barang jadi dan barang

Berdasarkan penelitian Yeti Dahlia tentang Pengaruh Suara Bacaan Ayat Al-Qur‟an Terhadap Pertumbuhan Benih Tanaman Sawi Hijau (Brassica Juncea L), (2018) dapat disimpulkan

Dengan mengoptimalkan peran SDM yang Kreatif dan Inovatif , yang diberikan pendidikan dan wawasan dibidang Ilmu Pengetahuan & Teknologi (IPTEK), permasalahan yang

Tujuan dari penelitian ini adalah untuk mengkaji apakah ada pengaruh secara simultan atau bersama-sama dari kecerdasan emosi dan pola asuh otoritatif terhadap terhadap

Variasi dengan 6 tanaman dan 8 tanaman kayu apu sudah efektif dalam menurunkan kadar amoniak pada limbah cair Rumah Sakit Umum PKU Muhammadiyah Delanggu, karena