martes, 4 de septiembre de 2007

Reporte Práctica 2

1.- Escribe un programa en el cuál se dibuje un cuadrado. Utilizando llamadas al cuadrado y aplicando rotaciones y traslaciones, dibuje un cubo. A partir del cubo y transformándolo construya un humanoide

#include
void init(void){
glClearColor (0.3, 0.3, 0.3, 0.9);
glShadeModel (GL_FLAT);
}

void display(void){
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (0.4, 0.9, 0.4);
glLoadIdentity ();
gluLookAt (2.5, 1.0, 10, 0.5, 0.0, 2.5, 1.0, 9.0, 1.0);
glPushMatrix();

glScalef (2.0, 3.0, 1.0);
glTranslatef(0.0,0.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Codigo para la cabeza*/
glPushMatrix();
glTranslatef(0.0,3.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*A continuación se dibuja el brazo derecho*/
glPushMatrix();
glScalef (2.0, 0.5, 1.0);
glTranslatef(1.0,5.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Ahora el antebrazo derecho*/
glPushMatrix();
glScalef (2.0, 1.0, 1.0);
glTranslatef(2.0,2.75,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Seguimos con la mano derecha*/
glPushMatrix();
glScalef (0.5, 0.5, 1.0);
glTranslatef(10.5,5.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Nos vamos con el brazo izquierdo*/
glPushMatrix();
glScalef (2.0, 0.5, 1.0);
glTranslatef(-1.0,5.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Códifo para el antebrazo izquierdo*/
glPushMatrix();
glScalef (-2.0, 1.0, 1.0);
glTranslatef(2.0,2.75,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Código para desplegar la mano izquierda*/
glPushMatrix();
glScalef (0.5, 0.5, 1.0);
glTranslatef(-10.5,5.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Código para dibujar el muslo derecho*/
glPushMatrix();
glScalef (0.5, 2.5, 1.0);
glTranslatef(1.5,-0.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*la pantorrilla derecha*/
glPushMatrix();
glScalef (1.0, 2.5, 1.0);
glTranslatef(0.75,-1.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*pie derecho*/
glPushMatrix();
glScalef (1.75, 0.5, 1.0);
glTranslatef(0.635,-10.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*muslo izquierdo*/
glPushMatrix();
glScalef (0.5, 2.5, 1.0);
glTranslatef(-1.5,-0.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*pantorrilla izquierda*/
glPushMatrix();
glScalef (1.0, 2.5, 1.0);
glTranslatef(-0.75,-1.5,0.0);
glutWireCube(1.0);
glPopMatrix();

/*Y por último el código para dibujar el pie izquierdo*/
glPushMatrix();
glScalef (1.75, 0.5, 1.0);
glTranslatef(-0.635,-10.5,0.0);
glutWireCube(1.0);
glPopMatrix();
glFlush ();
}

void reshape (int w, int h){
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
glMatrixMode (GL_MODELVIEW);
}

void keyboard(unsigned char key, int x, int y){
switch (key) {
case 27:
break;
}}

int main(int argc, char** argv){
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (300, 50);
glutCreateWindow ("Humanoide");
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutMainLoop();

return 0;
}


No hay comentarios: