Pertemuan 10 - Viewing dan Clipping
Konsep Viewing dan Clipping
Viewing adalah proses menentukan bagian mana dari scene yang akan ditampilkan dan bagaimana pemetaannya ke perangkat tampilan.
Clipping adalah teknik untuk menentukan bagian mana dari grafis yang perlu digambar dan bagian mana yang berada di luar batas area tampilan.
Penjelasan Matematis
Transformasi Window to Viewport
x_viewport = vxmin + (x_world - xmin) * (vxmax - vxmin) / (xmax - xmin)
y_viewport = vymin + (y_world - ymin) * (vymax - vymin) / (ymax - ymin)
Cohen-Sutherland Line Clipping
Kode Region: [T B R L]
T = 1 (jika y > ymax), B = 1 (jika y < ymin), R=1 (jika x> xmax), L = 1 (jika x < xmin)
Visible jika kode kedua endpoint = 0000
Invisible jika kode1 AND kode2 ≠ 0000
Algoritma Clipping
Cohen-Sutherland:
- Hitung kode region untuk kedua endpoint
- Jika keduanya 0000 → garis visible
- Jika kode1 AND kode2 ≠ 0000 → garis invisible
- Lainnya, potong garis terhadap batas window
- Ulangi hingga garis ditentukan visible atau invisible
Sutherland-Hodgman (Polygon):
- Clip poligon terhadap setiap batas window secara berurutan
- Untuk setiap batas, iterasi semua sisi poligon
- Jika kedua titik di dalam → tambahkan titik kedua
- Jika titik pertama di dalam, kedua di luar → tambahkan titik potong
- Jika titik pertama di luar, kedua di dalam → tambahkan titik potong dan titik kedua
- Jika keduanya di luar → tidak tambahkan apa-apa
Konsep Viewing dan Clipping
Window
Area dalam koordinat dunia (world-coordinate) yang dipilih untuk ditampilkan. Mendefinisikan apa yang ditampilkan.
Viewport
Area pada perangkat tampilan (misal monitor) di mana window dipetakan. Mendefinisikan di mana harus ditampilkan.
Viewing Transformation
Pemetaan bagian dari koordinat dunia ke koordinat perangkat. Melibatkan operasi translasi, rotasi, dan skala.
Clipping
Proses menentukan bagian mana dari grafis yang perlu digambar dan bagian mana yang berada di luar batas area tampilan. Menghemat perhitungan dan memori.