Kali ini saya akan ngebahas tentang Transformasi 2D pada pada di OpenGL. Transformasi sesuai namanya qt ketahui bersama pada saat smp dan sma dulu di pelajaran Matematika, transformasi pada OpenGL disini didasarkan pada transformasi matematika dulu. yaitu, suatu model atau bentuk atau teknik memindahkan atau mengubah nilai posisi objek dalam sistem koordinat
Ada dua cara yang dapat digunakan untuk mentransformasi gambar yaitu :
1. Transformasi objek
Definisinya adalah mengubah koordinat-koordinat dari tiap titik di objek dengan beberapa aturan ,
meninggalkan underlying sistem koordinat yang tidak bisa diubah lagi.
2. Transformasi koordinat
Definisinya adalah system koordinat yang baru dibuat sebelumnya merupakan perwakilan dari semua titik objek dalam sistem yang baru.
Transformasi gambar ada 4 macam, yaitu:
- Translation (Perpindahan)
Pengertian translasi adalah perpindahan objek dari titik P(x, y) ke titik P’(x’, y’) secara linier. Dalam
translasi dua dimensi diperlukan dua parameter, yaitu pemindahan kearah sumbu x dan pemindahan kearah
sumbu y. Translasi (dx, dy) didefinisikan dengan :
x’= x + dx
y’ = y + dy
Bentuk umum :
• glTranslatef( x, y, z )
• glTranslated( x, y, z )
glVertex3f(1.0f, -1.0f, -10.0f );
glColor3f( 1.0, 0.0, 0.0 );
glVertex3f(-1.0f, -1.0f, -10.0f );
glEnd();
- Scale (Skala)
Definisi dari penskalaan m adalah perpindahan objek dari titik P ke titik P’, dimana jarak titik P’ adalah m
kali titik P atau suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil ataupun
membesar secara seragam atau tidak seragam tergantung pada faktor penskalaan yang diberikan.
Proses penskalaan dapat didefinisikan dengan :
x’ = mx x
y’ = my y
Bentuk umum :
• glScalef( xf, yf, zf );
- Rotation (Perputaran)
Definisi rotasi adalah perpindahan objek dari titik P(x, y) ke titik P’(x’,y’) yang berupa pemindahan
berputar sebesar sudut θ atau suatu operasi yang menyebabkan objek bergerak berputar pada titik pusat atau pada
sumbu putar yang dipilih berdasarkan sudut putaran tertentu.
Operasi rotasi dapat diuraikan sebagai berikut :
1. Rotasi dari titik P yang berada di sumbu x, P(x, 0) menjadi P’(x’, y’) dapat digambarkan dengan :
x’ = x .cos θ
y’ = x.sin θ
2. Rotasi dari titik P yang berada di sumbu y, P(y, 0) menjadi P’(x’, y’) dapat digambarkan dengan :
x’ = -y .cos θ
y’ = y.sin θ
3. Rotasi dari titik P(x, y) menjadi P’(x’, y’) merupakan kombinasi dari kedua macam transformasi di atas R =
Rx + Ry.
x’ = x .cos θ – y.sin θ
y’ = x.sin θ + y.cos θ
Bentuk umum :
• glRotatef( sudut, sx, sy, sz );
- Reflection (Pencerminan)
Definisi pencerminan adalah transformasi objek yang mengubah lokasi objek pada kedudukan yang
berlawanan dengan sembarang sumbu yang dipilih. Sumbu ini bisa sumbu x, sumbu y,sumbu z, atau sumbu lain
yang ditentukan oleh pengguna. Transformasi ini menghasilkan citra cermin objek terhadap sumbu tertentu bagi
objek yang dicerminkan.
Contoh soal, diberikan titik A dengan koordinat A(2, 3). Hitunglah koordinat baru dari titik A yang
ditransformasi cerminan terhadap (a) sumbu y, (b) sumbu x, (c) titik pusat (0,0), dan (d) garis x = -1.
Jawabannya adalah sebagai berikut:
a. Transformasi cerminan terhadap sumbu y, maka tinggal membalik tanda koordinat x untuk titik A(2,3)
sehingga menjadi A’(-2, 3).
b. Transformasi cerminan terhadap sumbu x, maka tinggal membalik tanda koordinat y untuk titik A(2,3)
sehingga menjadi A”(2, -3).
c. Transformasi cerminan terhadap titik pusat (0, 0), maka tinggal membalik tanda koordinat x dan
koordinat y untuk titik A(2,3) sehingga menjadi A’”(-2, -3).
d. Transformasi cerminan terhadap garis x = -1 akan menghasilkan titik A*(-4, 3).
Tidak ada komentar:
Posting Komentar