1. TUJUAN
2. TEORI
Seperti halnya pada objek 2D, transformasi pada objek 3D sering dilakukan untuk
memperlihatkan realita dari objek yang ditinjau. Teknik-Teknik yang diperlukan untuk melakukan
transformasi objek 3D boleh dikatakan merupakan perluasan dari Teknik transformasi pada objek
2D. Dua aspek penting dalam transformasi objek 2D juga berlaku pada transformasi 3D. Dua aspek
tersebut adalah bahwa sembarang tansformasi bisa disajikan dalam suatu matriks transformasi.
Transformasi yang lebih rumit bisa dinyatakan dengan sebuah matriks transformasi yang
merupakan gabungan dari matriks- matriks transformasi dasar yang ada. Seperti halnya
transformasi objek 2D, transformasi objek 3D juga dikenal sebagai transformasi Afin yang terdiri
dari penggeseran, penskalaan, dan pemutaran.
Translasi 3D
Rotasi 3D
a. Rotasi terhadap sumbu z sebesar θ
3. PELAKSANAAN PRAKTIKUM
Langkah-langkah Praktikum
1) Download DevC++ TDM-GCC
2) Download freeglut MinGW
3) Exctract folder freeglut MinGW
4) Copy file dalam folder freeglut\include\GL ke C:\Program Files (x86)\Dev-
Cpp\MinGW64\x86_64-w64-mingw32\include\GL
5) Copy file dalam folder freeglut\lib\x64 ke C:\Program Files (x86)\Dev-
Cpp\MinGW64\x86_64-w64-mingw32\lib
6) Copy file dalam folder freeglut\bin\x64 ke C:\Windows\System32
7) Pilih DevC++
8) Buat project baru File>New>Project
11) Jika sudah selesai maka akan muncul layar seperti ini
13) Pilih Paramaters kemudian ketikkan pada Linker seperti di Gambar 2.6
void initGL() {
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glShadeModel(GL_SMOOTH);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
// Render CUBE
glLoadIdentity();
glTranslatef(1.5f, 0.0f, -7.0f);
glRotatef(angleCube, 1.0f, 1.0f, 1.0f);
glBegin(GL_QUADS);
// mendefinisikan vertex secara counter-clockwise (CCW)
glColor3f(0.0f, 1.0f, 0.0f); // Green
glVertex3f( 1.0f, 1.0f, -1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
// Render a pyramid
glLoadIdentity();
glTranslatef(-1.5f, 0.0f, -6.0f);
glRotatef(anglePyramid, 1.0f, 1.0f, 0.0f);
glBegin(GL_TRIANGLES);
// Front
glColor3f(1.0f, 0.0f, 0.0f); // Red
glVertex3f( 0.0f, 1.0f, 0.0f);
glColor3f(0.0f, 1.0f, 0.0f); // Green
glVertex3f(-1.0f, -1.0f, 1.0f);
glColor3f(0.0f, 0.0f, 1.0f); // Blue
glVertex3f(1.0f, -1.0f, 1.0f);
// Right
glColor3f(1.0f, 0.0f, 0.0f); // Red
glVertex3f(0.0f, 1.0f, 0.0f);
glColor3f(0.0f, 0.0f, 1.0f); // Blue
glVertex3f(1.0f, -1.0f, 1.0f);
glColor3f(0.0f, 1.0f, 0.0f); // Green
glVertex3f(1.0f, -1.0f, -1.0f);
// Back
glColor3f(1.0f, 0.0f, 0.0f); // Red
glVertex3f(0.0f, 1.0f, 0.0f);
glColor3f(0.0f, 1.0f, 0.0f); // Green
glVertex3f(1.0f, -1.0f, -1.0f);
glColor3f(0.0f, 0.0f, 1.0f); // Blue
glVertex3f(-1.0f, -1.0f, -1.0f);
// Left
glColor3f(1.0f,0.0f,0.0f); // Red
glVertex3f( 0.0f, 1.0f, 0.0f);
glColor3f(0.0f,0.0f,1.0f); // Blue
glVertex3f(-1.0f,-1.0f,-1.0f);
glColor3f(0.0f,1.0f,0.0f); // Green
glVertex3f(-1.0f,-1.0f, 1.0f);
glEnd();
glutSwapBuffers();
anglePyramid += 0.2f;
angleCube -= 0.15f;
}
Hasil:
4. TUGAS
1) Modifikasilah code di atas untuk dapat menampilkan objek kubus dan priramid yang
bergeser (translasi) kemudian analisislah!
2) Laporan berisi
a) Analisa percobaan: berisi tentang penjelasan praktikum/percobaan yang
dilakukan.
b) Kesimpulan: berisi tentang kesimpulan dari praktikum/percobaan yang dilakukan,
bila terjadi eror jelaskan kenapa eror itu terjadi.
c) Lampiran Program: berisi print screen/gambar dari source code program dan
juga hasil eksekusinya.
3) Laporan dikumpul di Edmodo dengan lama pengerjaan laporan 1 minggu.
5. DAFTAR RUJUKAN
[1] D. D. Hearn and M. P. Baker, Computer Graphics with OpenGL, 3rd ed. New Jersey:
Pearson Prentice Hall, 2004.
[2] A. Basuki and N. Ramadijanti, Grafika Komputer Teori dan Implementasi. Yogyakarta:
Penerbit Andi, 2006.
[3] E. Nugroho, Teori & Praktek Grafika Komputer Menggunakan DELPHI dan OpenGL, 2nd
ed. Yogyakarta: Graha Ilmu, 2005.
[4] P. N. Andono and T. Sutojo, Konsep Grafika Komputer, 1st ed. Yogyakarta: Penerbit Andi,
2016.
[5] J. Simarmata and T. Candra, Grafika Komputer. Yogyakarta: Penerbit Andi, 2007.