Sabtu, 28 Mei 2016

OpenGL - Klipping (Perpotongan)

Perpotongan 2 garis, yang perlu dilakukan adalah memasukan rumus perpotongan sesuai dengan matematika ke dalam opengl. 
Hanya perlu sedikit perubahan, triknya adalah memasukan lebih dulu rumus terakhir untuk menentukan titik potong dalam matematika.

Misalkan pada gambar di atas, garis hijau adalah 'ab' dan garis biru adalah 'cd', 
Setiap titik punya koordinat masing masing a(xa,ya), b(xb,yb), c(xc,yc), d(xd,yd) 

Untuk menentukan nilai x dari titik potong menggunakan rumus
x  = ccd - cab / mab –mcd

Untuk mengetahui nilai x, ada 4 nilai yang harus diketahui, rumusnya :
mab = (yb-ya)/(xb-xa);
mcd = (yd-yc)/(xd-xc);
cab = ya - (mab*xa);
ccd = yc - (mcd*xc);

Setelah mendapat nilai x, untuk mencari nilai y tinggal menggunakan salah satu dari 4 rumus diatas.
Kita sudah punya nilai x dan y dari titik potong, tinggal dicetak pakai GL_POINTS 

Selesai..

Tidak ada komentar:

Posting Komentar