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.

Viewing Transformation

Window (World Coordinates)

Viewport (Device Coordinates)

Objek

World Coordinate Space

Clipping

Clipping Window

Algoritma Clipping

Clipping Result

Window
Objek Asli
Hasil Clipping

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:

  1. Hitung kode region untuk kedua endpoint
  2. Jika keduanya 0000 → garis visible
  3. Jika kode1 AND kode2 ≠ 0000 → garis invisible
  4. Lainnya, potong garis terhadap batas window
  5. Ulangi hingga garis ditentukan visible atau invisible

Sutherland-Hodgman (Polygon):

  1. Clip poligon terhadap setiap batas window secara berurutan
  2. Untuk setiap batas, iterasi semua sisi poligon
  3. Jika kedua titik di dalam → tambahkan titik kedua
  4. Jika titik pertama di dalam, kedua di luar → tambahkan titik potong
  5. Jika titik pertama di luar, kedua di dalam → tambahkan titik potong dan titik kedua
  6. 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.