Judul Praktikum:
Proyeksi dan Animasi
Disusun oleh:
Rahmat Hidayat 240101313120001
Asisten praktikum:
Muhammad Nur Hardyanto
Ramadhina Febry D.
Emilia Widiyanti
INFORMATIKA
FAKULTAS SAINS DAN MATEMATIKA
UNIVERSITAS DIPONEGORO
SEMARANG
2015
BAB
PEMBAHASAN
c) Jelaskan secara sederhana yang dimaksud dengan proyeksi, proyeksi projection dan
modelview!
Jawaban:
Proyeksi merupakan cara suatu objek ditransformasikan ke layar. Proyeksi projection
adalah mentransformasikan sesuatu ke dalam layar seolah-olah benda tersebut terlihat
sebagai benda nyata (seolah-olah berbentuk 3D). Modelview mweupakan proyeksi yang
menampilkan objek ke layar tanpa mengubah ukuran dari objek yang sesungguhnya akan
ditampilkan.
void init(void){
glClearColor(0,0,0,0);
glShadeModel(GL_FLAT);
}
void tampilan(void){
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
//lengan atas
glTranslatef(-1.8,0,0);
glRotatef((GLfloat) lenganA1,0,0,1);
glRotatef((GLfloat) lenganA2,0,1,0);
glTranslatef(1.8,0,0);
glPushMatrix();
glTranslatef(-1.4,0,0);
glScalef(0.8,0.2,0.56);
glutWireCube(1);
glPopMatrix();
//lengan bawah
glTranslatef(-1,0,0);
glRotatef((GLfloat) lenganB,0,0,1);
glTranslatef(1,0,0);
glPushMatrix();
glTranslatef(-0.6,0,0);
glScalef(0.8,0.2,0.56);
glutWireCube(1);
glPopMatrix();
//telapak
glRotatef((GLfloat) telapak1, 1,0,0);
glRotatef((GLfloat) telapak2, 0,0,1);
glPushMatrix();
glScalef (0.4, 0.2, 0.56);
glutWireCube (1.0);
glPopMatrix();
//ibu jari
glPushMatrix();
glTranslatef(0,0,0.38);
glRotatef((GLfloat) -thumb11,1,0,0);
glRotatef((GLfloat) thumb1,0,1,0);
glPushMatrix();
glScalef(0.1,0.1,0.2);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0,0,0.2);
glRotatef((GLfloat) -thumb2,1,0,0);
glPushMatrix();
glScalef(0.1,0.1,0.25);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
//jari telunjuk
glPushMatrix();
glTranslatef(0.3,0,0.22);
glRotatef((GLfloat) telunjuk1,0,0,1);
glPushMatrix();
glScalef(0.2,0.1,0.13);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.2,0,0);
glRotatef((GLfloat) telunjuk2,0,0,1);
glPushMatrix();
glScalef(0.22,0.1,0.13);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.22,0,0);
glRotatef((GLfloat) telunjuk3,0,0,1);
glPushMatrix();
glScalef(0.21,0.1,0.13);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
//jari tengah
glPushMatrix();
glTranslatef(0.3,0,0.05);
glRotatef((GLfloat) jTengah1,0,0,1);
glPushMatrix();
glScalef(0.25,0.1,0.14);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.25,0,0);
glRotatef((GLfloat) jTengah2,0,0,1);
glPushMatrix();
glScalef(0.27,0.1,0.14);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.27,0,0);
glRotatef((GLfloat) jTengah3,0,0,1);
glPushMatrix();
glScalef(0.21,0.1,0.14);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
//jari manis
glPushMatrix();
glTranslatef(0.3,0,-0.1);
glRotatef((GLfloat) jManis1,0,0,1);
glPushMatrix();
glScalef(0.2,0.1,0.11);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.2,0,0);
glRotatef((GLfloat) jManis2,0,0,1);
glPushMatrix();
glScalef(0.21,0.1,0.11);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.21,0,0);
glRotatef((GLfloat) jManis3,0,0,1);
glPushMatrix();
glScalef(0.2,0.1,0.11);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
//jari kelingking
glPushMatrix();
glTranslatef(0.3,0,-0.21);
glRotatef((GLfloat) kelingking1,0,0,1);
glPushMatrix();
glScalef(0.18,0.1,0.1);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.18,0,0);
glRotatef((GLfloat) kelingking2,0,0,1);
glPushMatrix();
glScalef(0.17,0.1,0.1);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.17,0,0);
glRotatef((GLfloat) kelingking3,0,0,1);
glPushMatrix();
glScalef(0.19,0.1,0.1);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}