Anda di halaman 1dari 30

COMPUTER GRAPHICS

D10K-5C01

GK03: Windowing and Clipping

Dr. Setiawan Hadi, M.Sc.CS.

Program Studi S-1 Teknik Informatika


FMIPA Universitas Padjadjaran
Model Konseptual Grafika Komputer

Cahaya Nyata

Mata Manusia
Objek Nyata

Sumber Cahaya Sintentis

Kamera Sintetis

Model/Objek Mata Manusia


Objek Nyata Sintetis
Alat Display

Sistem Grafika Komputer

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Viewing dalam 2D (dua dimensi)

250

45

Window dalam koordinat dunia.

250 x 250
Viewport dalam Pixels.
Koordinat Alat

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


KONSEP WINDOWING

•Window
– Sebuah area pada koordinat dunia yang dipilih
untuk ditampilkan pada alat display

•Viewport
– Sebuah area pada alat display yang merupakan
hasil pemetaan dari window

•Pemetaan/Mapping
– Transformasi Viewing
– Transformasi Windowing
– Transformasi Normalisasi

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Windowing
• Sebuah pemandangan (scene) dalam koordinat dunia
(world coordinate).

World Coordinates

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Windowing
• Ketika pemandangan ditampilkan pada layar, maka yang
kelihatan hanya yang ada di dalam window

Window
wymax

wymin

wxmin wxmax
World Coordinates
Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016
Windowing
• Hasil clipping

Window
wymax

wymin

wxmin wxmax
World Coordinates
Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016
Transformasi Viewing

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Transformasi Windows-Viewport

Formula transformasi:
xv  xv min xw  xw min yv  yv min yw  yw min
 
xv max  xv min xw max  xw min yv max  yv min yw max  yw min
xv  xv min  ( xw  xw min )  S x yv  yv min  ( yw  yw min )  S y
xv max  xv min yv max  yv min
Sx  Sy 
xw max  xw min yw max  yw min

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Contoh

•Diketahui
– sebuah objek pada koordinat dunia sebagai
berikut: (2,1), (1,4) dan (3,3)
– Koordinat window minimum dan maksimum
adalah (0,0) dan (10,10)

•Tentukan koordinat objek pada viewport,


jika diketahui koordinat viewport minimum
dan maksimum adalah (3,3) dan (8,8)

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


CLIPPING

• Masalah: yang bisa ditampilkan atau digambarkan adalah


area atau bagian objek yang ada di dalam jendela persegi
panjang
(xmax, ymax)
(xmax, ymax)

(xmin, ymin) (xmin, ymin)

Line clipping Polygon clipping

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Clipping 2D

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Cara Sederhana / Trivial

Semua garis didalam kotak  terima.

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Cara Sederhana Penolakan

Semua garis diluar kotak pada sisi yang sama  tolak.

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Situasi yang terjadi

Situasi Solusi Contoh

Kedua ujung di dalam


Don’t clip
window

Salah satu ujung di


dalam window, ujung Must clip
lain di luar window

Kedua ujung berada di


Don’t know!
luar window

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Cohen-Sutherland Clipping Algorithm

• An efficient line clipping algorithm


• The key advantage of the algorithm is that
it vastly reduces the number of line
intersections that must be calculated

Cohen is something of a mystery – can Dr. Ivan E. Sutherland co-


anybody find out who he was? d e ve l o p e d th e C o h e n -
Sutherland clipping
algorithm. Sutherland is a
graphics giant and includes
amongst his achievements
the invention of the head
mo un ted d is p la y.
Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016
CLIPPING COHEN-SUTHERLAND

• Membagi bidang menjadi 9 region, tiap region


mengandung 4-bit code.
• Setiap ujung titik (x, y) dari setiap segmen garis diberi
kode yang menunjukkan posis garis tersebut

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Cohen-Sutherland algorithm

• Merupakan metode yang efisien untuk menerima atau


menolak garis-garis yang tidak melalui sisi/tepi window.
• Meng-Assign kode biner 4-bit untuk setiap verteks:
– Bit pertama : atas (above top), y > ymax
– Bit kedua : bawah (below bottom), y < ymin
– Bit ketiga : kanan, x > xmax
– Bit keempat : kiri, x < xmin

•Nama lain 4-bit code : Outcode

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


CLIPPING GARIS CS

D
C
B I
A H
G
F

E
AD = DB + BA, DB is
discarded. Only draw BA
EI = EH + HI = EG + GH + HI
= EF + FG + GH + HI. All but
FG are discarded. Only draw
FG
Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016
Cohen-Sutherland 2D outcodes

1001 1000 1010

0001 0000 0010

0101 0100 0110

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Cohen-Sutherland algorithm

1001 1000 1010

0001 0000 0010

0101 0100 0110

Both endpoint codes 0000, trivial acceptance, else:


Do logical AND of outcodes

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Cohen-Sutherland algorithm

1001 1000 1010


1000

0001

0001 0000 0010


0000
0000

0101 0100 0110

Logical AND between codes for 2 endpoints,


Reject line if non-zero – trivial rejection.

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Algoritm Cohen-Sutherland

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Geometry: Clipping

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Jenis-jenis Clipping

•Line, Area, Text


•Istilah lain: Crop,
Cropping, Cut

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


LATIHAN

1. Tentukan koordinat viewport dari titik (5,7) yang


terdapat pada window, dengan spesifikasi
windows=(4,5,9,11) dan viewport=(3,4,5,7).

2. Tentukan binary-region code (4-bit code menurut


algoritma CS) untuk garis-garis yang ada pada gambar
di bawah ini

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Algoritma Cliping Lainnya

• Liang–Barsky
• Cyrus–Beck
• Nicholl–Lee–Nicholl
• Fast-clipping

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Demo Program

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016


Tugas 03

• Modifikasi dan tingkatkan program Clipping dan


Windowing sehingga bisa meng-clip POLIGON

Computer Graphics Teknik Informatika-Semester Ganjil 2015-2016

Anda mungkin juga menyukai