Kamis, 14 Juni 2012

Latihan 2






#include
#include "stdio.h"
#include "math.h"

GLfloat moveX=1.0,moveY=0.0,moveZ=0.0;

void init() {

glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glClearColor(0,0,0,0); // Mengubah Warna Latar Belakang
}

void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(moveX,moveY,moveZ,0.0,0.0,0.0,0.0,1.0,0.0);
printf("X: %f, Y: %f, Z: %f\n",moveX,moveY,moveZ);

//Gambar 1 Kiri
glColor3f(1.0f,1.0f,0.0f);// Mengubah Warna Kotak Luar
glTranslated(0.0,0.75,5.0);
glutWireCube(1.2);
glBegin(GL_POLYGON); //Menggambar Tutup Atas
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON); //Menggambar Tutup Bawah
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();

//Gambar 1 bawah
glColor3f(1.0f,1.0f,0.0f);
glTranslated(0.0,-1.5,0.0);
glutWireCube(1.2);
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON);
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();

//Gambar 2
glColor3f(1.0f,1.0f,0.0f);
glTranslated(0.0,1.5,-3.0);
glutWireCube(1.2);
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON);
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();


//Gambar 2 bawah
glColor3f(1.0f,1.0f,0.0f);
glTranslated(0.0,-1.5,0.0);
glutWireCube(1.2);
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON);
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();

//Gambar 3
glColor3f(1.0f,1.0f,0.0f);
glTranslated(0.0,1.5,-3.0);
glutWireCube(1.2);
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON);
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();

//Gambar 3 bawah
glColor3f(1.0f,1.0f,0.0f);
glTranslated(0.0,-1.5,0.0);
glutWireCube(1.2);
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON);
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();


//Gambar 4
glColor3f(1.0f,1.0f,0.0f);
glTranslated(0.0,1.5,-3.0);
glutWireCube(1.2);
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON);
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();

//Gambar 4 bawah
glColor3f(1.0f,1.0f,0.0f);
glTranslated(0.0,-1.5,0.0);
glutWireCube(1.2);
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,0.5);
glEnd();

glBegin(GL_POLYGON);
glColor3f(1,0,0);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(-0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,-0.5,-0.5);
glEnd();

glBegin(GL_QUADS);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);

glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,0.5f,-0.5f);

glColor3f(1.0f,1.0f,1.0f);
glVertex3f(0.5,-0.5,0.5);
glVertex3f(0.5,0.5,0.5);
glVertex3f(-0.5,0.5,0.5);
glVertex3f(-0.5,-0.5,0.5);
glEnd();



glutSwapBuffers();

}

void reshape(int w, int h) {

glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-7.0,7.0,-1.5,1.5,-9.0,9.0);// Mengubah Ukuran
}

void MyKeyboard(unsigned char key, int x,int y) {


if (key == '1')
moveY+=0.1;
if (key == '2')
moveY-=0.1;
if (key == '3')
moveZ+=0.1;
if (key == '4')
moveZ-=0.1;
glutPostRedisplay();
}

int main(int argc, char* argv[])
{
printf("M.W Andryan | 09.10.031.802.156 |IV_A Malam...= ");
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(900,600);
glutInitWindowPosition(10,10);
glutCreateWindow("OpenGL - 3D Balok");
glutReshapeFunc(reshape);
glutDisplayFunc(display);
glutKeyboardFunc(MyKeyboard);

init();
glutMainLoop();
return 0;
}

By. M W Andryan Rv -- Mhs -- Stmik-Amik-Riau

Related Posts Plugin for WordPress, Blogger...

Berita Populer