Objek
grafis 2 dimensi dapat ditransformasi dengan berbagai cara tanpa menambahkan
komponen baru. Terdapat bermacam cara untuk melakukan transformasi objek grafis
2 dimensi, di antaranya :
1. Translasi
Translasi merupakan metode transformasi paling
sederhana yang dapat diterapkan pada suatu objek grafis. Secara sederhana,
translasi adalah memindahkan objek grafis dari suatu tempat ke tempat lain tanpa
mengubah tampilan dan orientasi. Translasi dua dimensi diperlukan dua parameter
yaitu sumbu x dan sumbu y.
Translasi (dx, dy) didefiniskan dengan:
x’
= x + dx
y’
= y + dy
Bentuk
umum :
glTranslatef(x,y,z);
glTranslated(x,y,z);
2. Rotasi
Rotasi suatu objek grafis adalah memutar pemindahan
objek dari suatu titik ke titik lain yang berupa pemindahan berputar sebesar
sudut q atau suatu operasi yang
menyebabkan objek bergerak berputar pada titik pusat atu pada sumbu putar yang
dipilih berdasarkan sudut putaran tertentu.
Operasi
rotasi dapat diuraikan sebagai berikut :
·
Rotasi
dari titik P yang berada di sumbu x, P(x,0) menjadi P’(x’,y’) dapat digambarkan
dengan :
x’ = x
cos q
y’ = x
sin q
·
Rotasi
dari titik P yang berada di sumbu y, P(y,0) menjadi P’(x’,y’) dapat digambarkan
dengan :
x’ = -y
cos q
y’ = y
sin q
·
Rotasi
dari titik P (x,y) menjadi P’(x’,y’)
merupakan kombinasi dari kedua macam transformasi di atas, R = Rx + Ry
x’ = cos q - y
sin q
y’ = x
sin q + y cos q
Bentuk
umum :
glRotatef(sudut,
sx, sy,sz);
3. Penskalaan
Penskalaan adalah proses untuk mengubah ukuran objek
dengan cara mengubah jarak setiap titik pada objek terhadap titik acuan. Objek
dapat diskalakan dengan arah horizontal maupun vertical dengan cara mengalikan
koordinat tiap objek dengan faktor kostanta. Terdapat dua jenis penskalaan
yaitu penskalaan uniform dan diferensial. Penskalaan uniform terjadi bila
faktor vertical sama dengan horizontal, sedangkan diferensial terjadi jika
kedua faktor tersebut berbeda.
Penskalaan uniform untuk poligon, lingkaran, dan
ellips dapat dilihat pada tabel berikut :
Bentuk umum :
glScalef(xf, yf, zf);
Tidak ada komentar:
Posting Komentar