Transformasi Objek
A. DASAR TEORI
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.
Pada OpenGL terdapat beberapa tipe Transformasi diantaranya :
Pada OpenGL terdapat beberapa tipe Transformasi diantaranya :
Viewing Transformation : tipe transformasi ini memanfaatkan
posisi kamera dan cara pandang objek tersebut sehingga jika dilakukan
transformasi, maka yang akan melakukan transformasi adalah kamera atau cara
pandang objek tersebut
Modeling Transformation : Memodelkan transformasi dengan cara menggerakkan objek di sekitar layar dan juga merubah objek dalam satuan koordinat lokal menjadi koordinat yang umum. Maksudnya adalah proses transformasi tertuju pada posisi dan orientasi pada pergerakan , perputaran dan ukuran objek.
Modeling Transformation : Memodelkan transformasi dengan cara menggerakkan objek di sekitar layar dan juga merubah objek dalam satuan koordinat lokal menjadi koordinat yang umum. Maksudnya adalah proses transformasi tertuju pada posisi dan orientasi pada pergerakan , perputaran dan ukuran objek.
Project Transformation : Transformasi ini berfokus pada
isi/volume dari objek tersebut dan batasan pandangan dari layar yang ada.
Viewport
Transformation : Transformasi ini memetakan koordinat yang terbuat karena
transformasi perspektif pada permukaan layar, Kita juga bisa membayangkan ini
sebegai hasil akhir yang mampu memperbesar ataupun memperkecil objek tersebut,
atau yang sering kita lakukan adalah seperti melakukan zoom in atau zoom out
pada suatu objek, karena pada dasarnya ukuran dari objek tersebut tidak
berubah, melainkan cara pandang kita memaksa kita untuk melihat objek tersebut
menjadi objek yang lebih besar.
Ada dua cara yang dapat
digunakan untuk transformasi gambar yaitu :
1. Transformasi
Objek
Definisinya adalah
mengubah koordinat-koordinat dari tiap titik di objek dengan beberapa aturan.
2. Transformasi
Koordinat
Definsinya adalah
sistem koordinat yang baru dibuat sebelumnya merupakan perwakilan dari semua
titik objek dalam sistem yang baru.
Pada
grafika komputer, sistem koordinat suatu objek dapat ditransformasi.
Transformasi ini memungkinkan terjadinya perpindahan posisi suatu objek tanpa
harus membuat model objek yang baru. Jenis-jenis transformasi yang sering
digunakan pada grafika komputer dibagi menjadi 3 macam yaitu translasi, rotasi,
dan skalasi.
1.
Fungsi dasar untuk Translasi (perubahan posisi) objek.
GLAPI void APIENTRY glTranslated( GLdouble
x, GLdouble y, GLdouble z);
GLAPI void APIENTRY glTranslatef( GLfloat
x, GLfloat y, GLfloat z);
Translasi merupakan
bentuk transformasi yang memindahkan posisi
atau objek, baik pada sumbu x, sumbu y, atau sumbu z. Fungsi yang digunakan
untuk melakukan translasi adalah
glTranslatef(Tx, Ty, Tz)
glTranslated(Tx, Ty, Tz)
Parameter Tx digunakan untuk menentukan arah dan
seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu x. Parameter Ty digunakan untuk menentukan arah dan
seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu y. Sedangkan
parameter Tz digunakan untuk menentukan arah dan
seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu z (berlaku pada
model 3D).
2.
Fungsi dasar untuk Rotasi objek.
GLAPI void APIENTRY glRotated( GLdouble
angle, GLdouble x, GLdouble y, GLdouble z);
GLAPI void APIENTRY glRotatef( GLfloat
angle, GLfloat x, GLfloat y, GLfloat z);
Rotasi merupakan bentuk transformasi yang digunakan untuk memutar posisi suatu benda. Fungsi yang
digunakan untuk melakukan rotasi ialah :
glRotatef(θ, Rx, Ry, Rz)
glRotated(θ, Rx, Ry, Rz)
Parameter yang dibutuhkan pada fungsi tersebut ada 4 macam, yaitu
parameter θ untuk
besar sudut putaran, parameter Rx untuk
putaran berdasarkan sumbu x, parameter Ryuntuk putaran berdasarkan sumbu y, dan parameter Rz untuk putaran berdasarkan sumbu z.
Jika parameter θ bernilai postif, maka objek akan diputar
berlawanan arah jarum jam. Sedangkan jika parameter θ bernilai
negatif, maka objek akan diputar searah jarum jam.
3.
Fungsi dasar untuk skala (perubahan ukuran ) objek.
void APIENTRY glScaled( GLdouble x,
GLdouble y, GLdouble z);
GLAPI void APIENTRY glScalef( GLfloat x,
GLfloat y, GLfloat z);
Skalasi merupakan bentuk transformasi yang dapat mengubah ukuran(besar-kecil) suatu
objek. Fungsi yang digunakan untuk melakukan skalasi ialah :
glScalef(Sx, Sy, Sz)
glScaled(Sx, Sy, Sz)
Perubahan ukuran suatu objek diperoleh dengan mengalikan semua titik
atau atau vertex pada objek dengan faktor skala pada masing-masing sumbu
(parameter Sx untuk
sumbu x, Sy untuk
sumbu y, dan Sz untuk
sumbu z).
0 komentar:
Posting Komentar