Polygon
Clipping
Polygon
merupakan bidang yang tersusu dari verteks (titik sudut) dan edge (garis
penghubung setiap verteks). Untuk dapat melakukan proses clipping pada polygon
diperlukan algoritma yang lebih kompleks dari kedua teknik clipping yang telah
di bahas sebelumnya. Salah satunya adalah algoritma Sutherland - Hodgman. Ide
dasarnya adalah memperhatikan edge pada setiap arah pandang, lalu clipping
polygon dengan persamaan edge, kemudian lakukan clipping tersebut pada semua
edge sehingga polygon terpotong sepenuhnya. Berikut ini ketentuan dari
algoritma Sutherland - Hodgman :
• Polygon
dapat dipotong dengan setiap edge dari window sekali pada satu waktu.
• Vertex
yang telah terpotong akan disimpan untuk kemudian digunakan untuk memotong edge
yang masih ada.
•
Perhatinkan bahwa jumlah vertex biasanya berubah - ubah dan sering bertambah.
Pada saat
mengimplementasikan algoritma akan dilakukan tahap interseksi pada setiap sisi
window, yaitu sebagai berikut :
• Asumsikan
bahwa kita akan memotong edge pada titik (x1, y1) dan (x2, y2) dengan clipping
window pada titik (Xmin, Ymin) dan (Xmax, Ymax).
• Tentukan
nilai slope = (y2 - y1) / (x2 - x1) pada setiap interseksi.
• Lokasi
(IX, IY) dari interseksi edge dengan sisi kiri window adalah
IX = Xmin
IY = slope *
(Xmin - x1) + y1
Lokasi (IX,
IY) dari interseksi edge dengan sisi kanan window adalah :
IX = Xmax
IY = slope *
(Xmax - x1) + y1
Lokasi (IX,
IY) dari interseksi edge dengan sisi atas window adalah :
IX = x1 +
(Ymax - y1)/slope
IY = Ymax
Lokasi (IX,
IY) dari interseksi edge dengan sisi bawah window adalah :
IX = x1 +
(Ymin - y1) / slope
IY = Ymin
Contoh Kasus
:
Diketahui
sebuah polygon ABC dengan titik A (4,7), B(10,4), dan C(2,0). Clipping window
memiliki nilai Xmin = 1, Xmax = 8, Ymin = 1, dan Ymax = 6.
Dari gambar
di atas dapat dilihat bahwa terdapat 6 buah titik potong yang akan dicari. Pada
bagian atas clipping window terdapat 2 buah titik potong, yaitu perpotongan
garis AC dengan Ymax dan garis AB dengan Ymax. Lalu pada bagian kanan clipping
window terdapat 2 buah titik potong, yaitu perpotongan garis BA dengan Xmax dan
garis BC dengan Xmax. Kemudian pada bagian bawah window clipping juga terdapat
2 buah titik potong, yaitu perpotongan garis CA denga Ymin dan garis CB dengan
Ymin. Oleh karena itu akan dilakukan 3 kali intersekse.







0 komentar:
Posting Komentar