proyecto de rene

Post on 29-Jun-2015

183 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CECYTEM TECÁMAC

UTILIZACIÓN DE DISEÑO PARA EL MANEJO DE

GRÁFICO

ALUMNAS: VERONICA RODRIGUEZ VICENTE

&

AMANDA MARISOL MARTINEZ LUNA

PROFESOR: RENE DOMINGUEZ ESCALONA

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

INTRODUCCIÓN:OpenGL (Open Graphics Library) es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. La interfaz consiste en más de 250 funciones diferentes que pueden usarse para dibujar escenas tridimensionales complejas a partir de primitivas geométricas simples, tales como puntos, líneas y triángulos. Fue

desarrollada originalmente por Silicón Graphics Inc. (SGI) en 19922 y se usa ampliamente en CAD, realidad virtual, representación científica, visualización de información y simulación de vuelo. También se usa en desarrollo de videojuegos, donde compite con Direct3D en

plataformas Windows. OpenGL tiene dos propósitos esenciales:

Ocultar la complejidad de la interfaz con las diferentes tarjetas gráficas, presentando al

programador una API única y uniforme.

Ocultar las diferentes capacidades de las diversas plataformas hardware, requiriendo que

todas las implementaciones soporten la funcionalidad completa de OpenGL (utilizando

emulación software si fuese necesario).

El funcionamiento básico de OpenGL consiste en aceptar primitivas tales como puntos, líneas y

polígonos, y convertirlas en píxeles. Este proceso es realizado por una pipeline gráfica conocida

como Máquina de estados de OpenGL.8 La mayor parte de los comandos de OpenGL bien emiten

primitivas a la pipeline gráfica o bien configuran cómo la pipeline procesa dichas primitivas. Hasta

la aparición de la versión 2.0 cada etapa de la pipeline ejecutaba una función prefijada, resultando

poco configurable. A partir de la versión 2.0 algunas etapas son programables usando un lenguaje

de programación llamado GLSL.

OpenGL es una API basada en procedimientos de bajo nivel que requiere que el programador dicte

los pasos exactos necesarios para renderizar una escena. Esto contrasta con las APIs descriptivas,

donde un programador sólo debe describir la escena y puede dejar que la biblioteca controle los

detalles para representarla. El diseño de bajo nivel de OpenGL requiere que los programadores

conozcan en profundidad la pipeline gráfica, a cambio de darles libertad para implementar

algoritmos gráficos novedosos.

OpenGL ha influido en el desarrollo de las tarjetas gráficas, promocionando un nivel básico de

funcionalidad que actualmente es común en el hardware comercial; algunas de esas contribuciones

son:

Primitivas básicas de puntos, líneas y polígonos rasterizados.

Una pipeline de transformación e iluminación

Z-buffering.

Mapeado de texturas.

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

Alpha blending.

ÍNDICE

ANIMACIÓN CASA ESTRELLA SISTEMA SOLAR MOVIMIENTO EN 8 CUBO RELLENO AJEDREZ CUBO CON CUBITOS PIRAMIDE SEMAFORO MUÑECO OSO SEÑOR TRIANGULOS

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“ANIMACIÓN”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO:#include <unistd.h>#include <GL/glut.h>#include <GL/gl.h>#include <math.h>int x=1, y=1, a=1, h=1;void inicializa(void){glClearColor(1.0,0.6,0.5,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 800.0, 0.0, 800.0);// el ancho y largo de nuestra pantalla}

void circulo(int x, int y, int radio){

int angulo=0; glBegin(GL_TRIANGLE_FAN); glColor3f (1.0, 0.3, 0.5); glVertex2f(x,y);

glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//abajoif(x>=1 && x<500){ circulo(100+1*x,100,40); glFlush(); x++; }

//derechaif(x==500 && y>=1 && y<500){ circulo (600,100+1*y,40); glFlush(); y++; }

//arribaif(x==500 && y==500 && a>=1 && a<500){ circulo (600-1*a,600,40); glFlush(); a++; }

//izquierdaif(x==500 && y==500 && a==500 && h>=1 && h<500){ circulo(100,600-1*h,40); glFlush(); h++; }//Reptirif(h==500){ x=1; y=1; a=1; h=1; }

glutSwapBuffers();}

int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);glutInitWindowSize(800,800);glutInitWindowPosition(10,10);glutCreateWindow("Ventana");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return 0;}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“CASA”

CÓDIGO://Los puntos en toda la pantalla#include <GL/glut.h>#include <GL/gl.h>

void inicializa(void){glClearColor (3.0, 1.0, 1.0, 1.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0,1000.0,0.0,600.0);}

void dibuja(void) {

int i,j=0;

/* borra la pantalla */glClear(GL_COLOR_BUFFER_BIT);

// Cercafor(i=0;i<50;i++){glBegin(GL_POLYGON);glColor3f (2.0, 0.3, 1.0); glVertex2f(0+20*i,292);glVertex2f(5+20*i,300);glVertex2f(10+20*i,292);glVertex2f(10+20*i,240);glVertex2f(0+20*i,240);glEnd();}glBegin(GL_QUADS);

glVertex2i(0,289);glVertex2i(1000,289);glVertex2i(1000,280);glVertex2i(0,280);

//pastoglColor3f (0.3, 0.5, 0.2); glVertex2i(0,240);glVertex2i(1000,240);glVertex2i(1000,120);glVertex2i(0,120);//banquetaglColor3f (0.5, 0.5, 0.5); glVertex2i(0,120);glVertex2i(1000,120);glVertex2i(1000,90);glVertex2i(0,90);

glColor3f (1.0, 0.0, 0.0); glVertex2i(0,90);glVertex2i(1000,90);glVertex2i(1000,82);glVertex2i(0,82);//calleglColor3f (0.3, 0.3, 0.3); glVertex2i(0,82);glVertex2i(1000,82);glVertex2i(1000,0);glVertex2i(0,0);

//piedrasglColor3f (0.3, 0.6, 0.6);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glVertex2i(105,180);glVertex2i(135,180);glVertex2i(135,165);glVertex2i(105,165);

glVertex2i(165,180);glVertex2i(195,180);glVertex2i(195,165);glVertex2i(165,165);

glVertex2i(105,150);glVertex2i(135,150);glVertex2i(135,135);glVertex2i(105,135);

glVertex2i(165,150);glVertex2i(195,150);glVertex2i(195,135);glVertex2i(165,135);//entradaglVertex2i(345,195);glVertex2i(405,195);glVertex2i(405,120);glVertex2i(345,120);

// CasaglColor3f (0.5, 0.0, 0.7); glVertex2i(210,450);glVertex2i(540,450);glVertex2i(540,195);glVertex2i(210,195);// Techo casaglColor3f (0.3, 0.5, 0.3); glVertex2i(210,495);glVertex2i(540,495);glVertex2i(585,450);glVertex2i(165,450);// Techo cocheraglVertex2i(75,345);glVertex2i(210,345);glVertex2i(210,315);glVertex2i(60,315);//Cortina

glColor3f (0.3, 0.5, 0.9); glVertex2i(90,315);glVertex2i(210,315);glVertex2i(210,195);glVertex2i(90,195);

//PuertaglColor3f (1.0, 0.5, 1.0); glVertex2i(345,300);glVertex2i(405,300);glVertex2i(405,195);glVertex2i(345,195);

//ColumnasglColor3f (0.0, 0.5, 0.3); glVertex2i(75,315);glVertex2i(90,315);glVertex2i(90,195);glVertex2i(75,195);

glVertex2i(210,330);glVertex2i(540,330);glVertex2i(540,315);glVertex2i(210,315);

glVertex2i(330,435);glVertex2i(345,435);glVertex2i(345,195);glVertex2i(330,195);

glVertex2i(405,435);glVertex2i(420,435);glVertex2i(420,195);glVertex2i(405,195);

//Ventanas iglColor3f (0.5, 0.7, 1.0); glVertex2i(240,435);glVertex2i(300,435);glVertex2i(300,375);glVertex2i(240,375);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glVertex2i(240,300);glVertex2i(300,300);glVertex2i(300,240);glVertex2i(240,240);

//Ventanas dglVertex2i(450,435);glVertex2i(510,435);glVertex2i(510,375);glVertex2i(450,375);

glVertex2i(450,300);glVertex2i(510,300);glVertex2i(510,240);glVertex2i(450,240);//Ventanas balconglVertex2i(345,435);glVertex2i(405,435);glVertex2i(405,330);glVertex2i(345,330);

//Ventanas puertaglVertex2i(360,285);glVertex2i(390,285);glVertex2i(390,210);glVertex2i(360,210);

//TallosglColor3f (0.5, 1.0, 0.5); glVertex2i(670,225);glVertex2i(700,225);glVertex2i(700,150);glVertex2i(670,150);

glVertex2i(875,225);glVertex2i(905,225);glVertex2i(905,150);glVertex2i(875,150);

glEnd();

glBegin(GL_TRIANGLES);// Techo balconglColor3f (0.5, 1.0, 0.5); glVertex2i(375,480);glVertex2i(435,435);glVertex2i(315,435);glEnd();//arbolesglLineWidth (4);glBegin(GL_LINES);glColor3f (0.0, 0.7, 0.0); for(i=0;i<32;i++){glVertex2i(680-3*i,540-10*j);glVertex2i(690+3*i,540-10*j);glVertex2i(685-3*i,535-10*j);glVertex2i(695+3*i,535-10*j);

glVertex2i(885-3*i,540-10*j);glVertex2i(895+3*i,540-10*j);glVertex2i(890-3*i,535-10*j);glVertex2i(900+3*i,535-10*j);j=j+1;}glEnd();

//Linea CalleglLineWidth (4);glColor3f (0.0, 0.0, 0.0); glBegin(GL_LINES);

for(i=0;i<50;i++){glVertex2i(0+120*i,41);glVertex2i(90+120*i,41);}

//BarandalglVertex2i(344,375);glVertex2i(406,375);for(i=0;i<7;i++){glVertex2i(345+10*i,375);glVertex2i(345+10*i,330);}//Divicion Ventana

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glVertex2i(240,262);glVertex2i(300,262);glVertex2i(240,397);glVertex2i(300,397);glVertex2i(450,397);glVertex2i(510,397);glVertex2i(450,262);glVertex2i(510,262);glVertex2i(375,434);glVertex2i(375,375);glVertex2i(270,397);glVertex2i(270,375);glVertex2i(270,262);glVertex2i(270,240);

glVertex2i(480,397);glVertex2i(480,375);glVertex2i(480,262);glVertex2i(480,240);

glEnd();

//Contorno ventanasglBegin(GL_LINE_LOOP);glVertex2i(240,435);glVertex2i(300,435);glVertex2i(300,375);glVertex2i(240,375);glEnd();glBegin(GL_LINE_LOOP);glVertex2i(240,300);glVertex2i(300,300);glVertex2i(300,240);glVertex2i(240,240);glEnd();glBegin(GL_LINE_LOOP);

glVertex2i(450,435);glVertex2i(510,435);glVertex2i(510,375);glVertex2i(450,375);glEnd();glBegin(GL_LINE_LOOP);glVertex2i(450,300);glVertex2i(510,300);glVertex2i(510,240);glVertex2i(450,240);

glEnd();//ChapaglPointSize(4);glColor3f (0.5, 1.0, 0.5); glBegin(GL_POINTS);glVertex2i(352,247);glVertex2i(352,245);glEnd();

glFlush();}

int main(int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);glutInitWindowSize(1000,600);glutInitWindowPosition(100,100);glutCreateWindow("My Home");inicializa();glutDisplayFunc(dibuja);glutMainLoop();return 0;}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“ESTRELLA”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CODIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>

void inicializa(void){glClearColor(1.0,0.8,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}

void dibuja(void) //funcion dibuja{

glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.0 ,0.0 ,0.0 );glPointSize(50);

glBegin(GL_LINES);glVertex2i(350,300);glVertex2i(100,300);

glBegin(GL_LINES);glVertex2i(300,100);glVertex2i(200,400);

glBegin(GL_LINES);glVertex2i(200,400);glVertex2i(100,100);

glBegin(GL_LINES);glVertex2i(100,300);glVertex2i(300,100);

glBegin(GL_LINES);glVertex2i(350,300);glVertex2i(100,100);

glEnd();glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(475,475); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("ESTRELLA"); //nombre de la ventanainicializa();

glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0;

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“SISTEMA SOLAR”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO:#include <unistd.h>#include <GL/glut.h>#include <GL/gl.h>#include <math.h>int rad=100;double ang=0, a=0, l=0, d=0, o=0, t=0, e=0, q=0, m=0;void inicializa(void){glClearColor(0.3,0.0,0.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla}

void circulo(int x, int y, int radio){

int angulo=0; glBegin(GL_TRIANGLE_FAN); for (angulo=0;angulo<=360; angulo++){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}

void circuloc(int x, int y, int t, int radio){

int angulo=0;glPointSize(t);

glBegin(GL_POINTS); //glColor3f (0.4, 0.3, 0.6); glVertex2f(x,y);

//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}void dibuja(void)

{glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//estoglColor3f (1.0, 1.0, 0.0);circulo( 500,500,30); //funcion circulo //funcion circulocirculoc (500,500,1,50);glColor3f (1.5, 0.8, 0.7);circulo( 500+ sin(a) * 50,500 - cos(a) * 50,10);circuloc (500,500,1,50);glColor3f (1.0, 0.0, 0.6);circulo( 500+ sin(l) * 100,500 + cos(l) * 100,20);circuloc (500,500,1,100);glColor3f (0.6, 0.4, 0.5);circulo( 500+ sin(d) * 150,500 - cos(d) * 150,15);circuloc (500,500,1,150);glColor3f (0.8, 1.0, 0.5);circulo( 500+ sin(o) * 200,500 + cos(o) * 200,30);circuloc (500,500,1,200);glColor3f (0.5, 0.5, 0.5);circulo( 500+ sin(t) * 250,500 - cos(t) * 250,25);circuloc (500,500,1,250);glColor3f (1.0, 0.3, 0.7);circulo( 500+ sin(e) * 300,500 + cos(e) * 300,30);circuloc (500,500,1,300);glColor3f (0.5, 0.2, 1.0);circulo( 500+ sin(q) * 350,500 - cos(q) * 350,20);circuloc (500,500,1,350);glColor3f (0.5, 1.0, 0.8);circulo( 500+ sin(m) * 400,500 + cos(m) * 400,15);circuloc (500,500,1,400);glColor3f (0.0, 0.0, 1.0);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

circulo( 500+ sin(ang) * 450,500 + cos(ang) * 450,30);circuloc (500,500,1,450);glColor3f (0.0, 0.0, 1.0);a=a+0.02;l=l+0.03;d=d+0.04;o=o+0.05;t=t+0.06;e=t+0.07;q=q+0.08;m=m+0.09;ang=ang+0.01; //velocidad entre mas grande mas rapido y entre menos mas lentofor(int j=1;j<=10000000;j++){}//pausaif(ang==360){ang=0;}// se repite idefinidamenteglFlush(); //forzar dibujado

glutSwapBuffers(); //y esto}

int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//esto tambienglutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCreateWindow("Ventana");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo que cambiaglutMainLoop();return 0;}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“MOVIMIENTO EN 8”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CODIGO:#include <unistd.h>#include <GL/glut.h>#include <GL/gl.h>#include <math.h>

int x=1, x2=1,y=1;double a=6.15, b=6.15;void inicializa(void){glClearColor(0.5,0.6,1.0,0.9);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 700.0, 0.0, 700.0);// el ancho y largo de nuestra pantalla}

void circulo(int x, int y, int radio){ int angulo=0;

glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y); for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}void dibuja(void)

{glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(0.5, 0.0, 1.0);circulo(300, 300, 70);

circulo(300,180,70); glColor3f(1.0, 0.0, 0.8);

circulo(300,300,50);

circulo(300,180,50);

glColor3f(1.0,0.9,2.0);

if(a>=6.15 && a<=12.41){circulo(300+ sin (a)*60,300- cos(a)*60,10);a=a+0.02; }else{circulo(300 + sin (b) *60,180-cos(b)*-60,10);b=b + 0.2;if(b>12.4){a=6.15;b=6.15;}for(int j=0; j<=10000000; j++) {}}

glFlush(); glutSwapBuffers();}

int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);glutInitWindowSize(700,700);glutInitWindowPosition(10,10);glutCreateWindow("Ventana");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return 0;}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“CUBO RELLENO”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}

void cubo (int x, int y,int t,int l){ double a=.8,b=.6;glColor3f(1.0 , 1.0 , 0.0); glBegin(GL_QUADS);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glColor3f(1.0 , 0.0 , 1.0);glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glColor3f(1.0 , 0.0 , 0.0);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t,y);glEnd();

glColor3f(0.0 , 0.0 , 0.0);glLineWidth(l);glBegin(GL_LINES);glVertex2f(x,y);

glVertex2f(x+t,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glVertex2f(x,y);

glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glVertex2f(x,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));

glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t,y);glVertex2f(x+t,y+t);glEnd(); } void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 0.0);

// cubo de atras

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

for(int i=0;i<=10;i++){//linea derecha, izquierdacubo(200,200+20*i,20,5);}for(int j=0;j<=9;j++){//lineas acostadas//linea acostada, abajocubo(220+20*j,200,20,4);//linea acostada, cubo(220+20*j,400,20,5);//linea derecha, derecha

}for(int i=0;i<=10;i++){cubo(420,200+20*i,20,5);}//diagonales//diagonal izquierdafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,387-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,387-16*i,20,5);}

//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,185-16*i,20,5);

}

/////////////////////////////////////////////////////////////////////////////////// cubo de adelantefor(int i=0;i<=10;i++){//lineas derechascubo(100,100+20*i,20,5);

}for(int j=0;j<=9;j++){//lineas acostadascubo(120+20*j,100,20,4);//dcubo(120+20*j,300,20,5);//diagonales

}for(int i=0;i<=10;i++){cubo(320,100+20*i,20,5);}

glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glutMainLoop(); //muestra todo y espera

return 0; //retorna un valor de cero

NOMBRE DE LA PRÁCTICA:

“AJEDREZ”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO:

//mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>

void inicializa(void){glClearColor(1.0,0.8,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}

void dibuja(void) //funcion dibuja{

glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0 ,1.0 ,1.0 );glPointSize(50);glBegin(GL_POINTS);glVertex2i(100,100);glVertex2i(200,200);glVertex2i(300,100);glVertex2i(400,200);glVertex2i(500,100);glVertex2i(600,200);glVertex2i(700,100);

glVertex2i(800,200);glVertex2i(100,300);glVertex2i(200,400);glVertex2i(300,300);glVertex2i(400,400);glVertex2i(500,300);glVertex2i(600,400);glVertex2i(700,300);glVertex2i(800,400); glVertex2i(100,500);glVertex2i(200,600);glVertex2i(300,500);glVertex2i(400,600);glVertex2i(500,500);glVertex2i(600,600);glVertex2i(700,500);glVertex2i(800,600); glVertex2i(100,700);glVertex2i(200,800);glVertex2i(300,700);glVertex2i(400,800);glVertex2i(500,700);glVertex2i(600,800);glVertex2i(700,700);glVertex2i(800,800); glEnd();glColor3f(0.0 ,0.0 ,0.0 );glPointSize(50);glBegin(GL_POINTS);glVertex2i(200,100);glVertex2i(300,200);glVertex2i(400,100);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glVertex2i(500,200);glVertex2i(600,100);glVertex2i(700,200);glVertex2i(800,100);glVertex2i(100,200);glVertex2i(200,300);glVertex2i(300,400);glVertex2i(400,300);glVertex2i(500,400);glVertex2i(600,300);glVertex2i(700,400);glVertex2i(800,300);glVertex2i(100,400);glVertex2i(200,500);glVertex2i(300,600);glVertex2i(400,500);glVertex2i(500,600);glVertex2i(600,500);glVertex2i(700,600);glVertex2i(800,500);glVertex2i(100,600);glVertex2i(200,700);glVertex2i(300,800);glVertex2i(400,700);glVertex2i(500,800);glVertex2i(600,700);glVertex2i(700,800);glVertex2i(800,700);glVertex2i(100,800);

glEnd();glColor3f(1.0 ,1.0 ,1.0 );

glPointSize(50);glBegin(GL_LINE);glVertex2i(500,900);glVertex2i(500,100);glEnd(); glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(475,475); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("ajedrez"); //nombre de la ventanainicializa();

glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“CUBO CON CUBITOS”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}

void cubo (int x, int y,int t,int l){ double a=.8,b=.6;glColor3f(1.0 , 1.0 , 0.0); glBegin(GL_QUADS);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glColor3f(1.0 , 0.0 , 1.0);glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glColor3f(1.0 , 0.0 , 0.0);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t,y);glEnd();

glColor3f(0.0 , 0.0 , 0.0);

glLineWidth(l);glBegin(GL_LINES);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glVertex2f(x,y);

glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glVertex2f(x,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));

glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t,y);glVertex2f(x+t,y+t);glEnd(); } void dibuja(void) //funcion dibuja{

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 0.0);

// cubo de atras

for(int i=0;i<=10;i++){//linea derecha, izquierdacubo(200,200+20*i,20,5);}for(int j=0;j<=9;j++){//lineas acostadas//linea acostada, abajocubo(220+20*j,200,20,4);//linea acostada, cubo(220+20*j,400,20,5);//linea derecha, derecha

}for(int i=0;i<=10;i++){cubo(420,200+20*i,20,5);}//diagonales//diagonal izquierdafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,387-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,387-16*i,20,5);

}

//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,185-16*i,20,5);}

/////////////////////////////////////////////////////////////////////////////////// cubo de adelantefor(int i=0;i<=10;i++){//lineas derechascubo(100,100+20*i,20,5);

}for(int j=0;j<=9;j++){//lineas acostadascubo(120+20*j,100,20,4);//dcubo(120+20*j,300,20,5);//diagonales

}for(int i=0;i<=10;i++){cubo(320,100+20*i,20,5);}

glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventana

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización

glutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}

NOMBRE DE LA PRÁCTICA:

“PIRAMIDE”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO:

//mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>

void inicializa(void){glClearColor(1.0,1.9,0.2,1.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1050.0, 0.0, 1000.0); //vista ortogonal

}

void dibuja(void) //funcion dibuja{int i,a=20;glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0 ,1.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES);for(i=0;i<=12;i++){glVertex2i(400-a*i,400-a*i);glVertex2i(600+a*i,400-a*i); glVertex2i(600+a*i,400-a*i);glVertex2i(600+a*i,600+a*i);glVertex2i(600+a*i,600+a*i);glVertex2i(400-a*i,600+a*i);glVertex2i(400-a*i,600+a*i);glVertex2i(400-a*i,400-a*i);//diagonalesglBegin(GL_LINES);glVertex2i(400,400);glVertex2i(850,850);

glBegin(GL_LINES);glVertex2i(400,400);glVertex2i(150,150);

glBegin(GL_LINES);glVertex2i(600,400);glVertex2i(150,850);

glBegin(GL_LINES);glVertex2i(600,400);glVertex2i(850,150);

}glEnd(); glFlush(); //forza dibujo

}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(450,450); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("piramide"); //nombre de la ventanainicializa();

glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glutMainLoop(); //muestra todo y espera

return 0; //retorna un valor de cero}

NOMBRE DE LA PRÁCTICA:

“SEMAFORO”

CODIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <math.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}void circuloc(int x, int y, int t, int radio){

int angulo=0;glPointSize(t);

glBegin(GL_POINTS); //glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);

//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}

void circulo(int x, int y, int radio){

int angulo=0; glBegin(GL_TRIANGLE_FAN); // glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);

for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}

void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,1.0,0.0); //borra pantalla

circuloc(250,250,5,80);glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUT

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventana

glutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna

un valor de cero

}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“MUÑECO”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>#include <math.h>void inicializa(void){glClearColor(0.5,0.3,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}void circuloc(int x, int y, int t, int radio){

int angulo=0;glPointSize(t);

glBegin(GL_POINTS); //glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);

//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}

void circulo(int x, int y, int radio){

int angulo=0; glBegin(GL_TRIANGLE_FAN); // glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);

for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantalla// pie izquierdoglBegin(GL_QUADS);glColor3f(0.0,0.0,0.0);glVertex2i(200,100);glVertex2i(300,100);glVertex2i(300,150);glVertex2i(250,150);// pie derechoglColor3f(0.0,0.0,0.0);glVertex2i(450,100);glVertex2i(450,150);glVertex2i(500,150);glVertex2i(550,100);// pantalonglColor3f(1.0,1.,1.0);glVertex2i(275,250);glVertex2i(300,325);glVertex2i(450,325);glVertex2i(475,250);

glColor3f(1.0,1.0,1.0);glVertex2i(250,150);glVertex2i(275,250);glVertex2i(375,250);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glVertex2i(300,150);

glColor3f(1.0,1.0,1.0);glVertex2i(375,250);glVertex2i(475,250);glVertex2i(500,150);glVertex2i(450,150);// cinturonglColor3f(0.0,1.0,0.0);glVertex2i(300,325);glVertex2i(300,350);glVertex2i(450,350);glVertex2i(450,325);

glColor3f(1.0,0.0,0.0);glVertex2i(350,325);glVertex2i(350,350);glVertex2i(400,350);glVertex2i(400,325);// camisaglColor3f(0.0,1.0,1.0);glVertex2i(300,350);glVertex2i(300,600);glVertex2i(450,600);glVertex2i(450,350);// camisa toraxglVertex2i(225,550);glVertex2i(250,600);glVertex2i(500,600);glVertex2i(525,550);// manga izquierdaglVertex2i(200,450);glVertex2i(225,550);glVertex2i(300,550);glVertex2i(250,450);// manga derechaglVertex2i(500,450);glVertex2i(450,550);glVertex2i(525,550);glVertex2i(550,450);// mano izquierdaglColor3f(0.9,0.8,0.7);glVertex2i(200,375);

glVertex2i(210,450);glVertex2i(230,450);glVertex2i(220,375);// mano derechaglVertex2i(510,375);glVertex2i(510,450);glVertex2i(530,450);glVertex2i(530,375);// botones de la camisaglColor3f(0.5,0.2,0.0);glVertex2i(350,525);glVertex2i(350,550);glVertex2i(400,550);glVertex2i(400,525);

glVertex2i(350,475);glVertex2i(350,500);glVertex2i(400,500);glVertex2i(400,475);

glVertex2i(350,425);glVertex2i(350,450);glVertex2i(400,450);glVertex2i(400,425);

glVertex2i(350,375);glVertex2i(350,400);glVertex2i(400,400);glVertex2i(400,375);// cuelloglColor3f(0.9,0.8,0.7);glVertex2i(350,600);glVertex2i(350,650);glVertex2i(400,650);glVertex2i(400,600);glEnd();

glBegin(GL_TRIANGLES);glColor3f(0.9,0.8,0.7);glVertex2i(350,600);glVertex2i(400,600);glVertex2i(375,550);// cabeza circulo

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glColor3f(0.9,0.8,0.7);circulo(375,750,150);

glEnd(); //ojosglBegin(GL_QUADS);glColor3f(0.2,0.5,1.0);glVertex2i(300,750);glVertex2i(350,750);glVertex2i(350,800);glVertex2i(300,800);glColor3f(0.2,0.5,1.0);glVertex2i(400,750);glVertex2i(450,750);glVertex2i(450,800);glVertex2i(400,800);glEnd();//ojos centro// cabeza circuloglColor3f(0.0,0.0,0.0);circulo(340,780,10);glEnd();glColor3f(0.0,0.0,0.0);circulo(440,780,10);glEnd();//narizzglBegin(GL_POLYGON);glColor3f(1.0,0.3,0.5);glVertex2i(350,725);glVertex2i(375,700);glVertex2i(400,725);glEnd();//bocaglLineWidth(5);glBegin(GL_LINES);glColor3f(1.0,0.3,0.2);glVertex2i(300,650);glVertex2i(450,650);glEnd();//cabelloglBegin(GL_TRIANGLES);glColor3f(0.8,0.5,0.2);

glVertex2i(300,880);glVertex2i(375,950);

glVertex2i(435,890);glVertex2i(490,890);glVertex2i(510,820);

//manos en circuloglEnd();glBegin(GL_POLYGON);glColor3f(0.9,0.8,0.7);circulo(520,375,20);glEnd();glBegin(GL_POLYGON);glColor3f(0.9,0.8,0.7);circulo(210,375,20);

glEnd();glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(900,800); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("MI primer ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y espera

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

return 0; //retorna un valor de cero

}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“OSO”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <math.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}void circuloc(int x, int y, int t, int radio){

int angulo=0;glPointSize(t);

glBegin(GL_POINTS); //glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);

//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}

void circulo(int x, int y, int radio){

int angulo=0; glBegin(GL_TRIANGLE_FAN); // glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);

for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

glEnd();}

void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.6,0.4,0.2); //borra pantallacirculo(200,200,150);glColor3f(0.6,0.4,0.2);//circulo(300,300,50);glColor3f(0.6,0.4,0.2);//circulo(100,300,50);glColor3f(0.6,0.4,0.2);//circulo(100,100,50);glColor3f(0.6,0.4,0.2);//circulo(300,100,50);glColor3f(0.6,0.4,0.2);//circulo(200,400,90);glColor3f(0.6,0.4,0.2);//bocacirculo(200,400,10);glColor3f(1.0,0.0,0.0);//circulo(200,350,30);glColor3f(0.6,0.4,0.2);//circulo(259,480,30);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glColor3f(0.6,0.4,0.2);//circulo(150,480,30);glColor3f(0.6,0.4,0.2);

//ojos blancoscirculo(150,425,25);glColor3f(0.0,0.0,0.0);circulo(250,425,25);glColor3f(0.0,0.0,0.0);circulo(150,425,25);glColor3f(0.0,0.0,0.0);circulo(150,425,25);glColor3f(0.0,0.0,0.0);

//ojos negroscirculo(150,425,10);glColor3f(1.0,1.0,1.0);circulo(250,425,10);glColor3f(1.0,1.0,1.0);circulo(150,425,10);glColor3f(1.0,1.0,1.0);circulo(150,425,10);glColor3f(1.0,1.0,1.0);

//ombligocirculo(200,170,10);glColor3f(0.6,0.5,0.2);

glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("ositha"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

NOMBRE DE LA PRÁCTICA:

“SEÑOR TRIANGULOS”

PRESENTACIÓN:

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>

void inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}

void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 0.0);///pata derechaglBegin(GL_TRIANGLES);glVertex2i(160,40);glColor3f(1.0 , 0.8 , 1.0);glVertex2i(245,40);glColor3f(1.0 , 1.0 , 0.0);glVertex2i(200,80); glEnd(); //pata de arriba derecha

glColor3f(1.0 , 1.0 , 0.9);glBegin(GL_TRIANGLES);glVertex2i(245,40);

glColor3f(1.0 , 1.0 , 1.0);glVertex2i(245,360);glColor3f(1.0 , 0.9 , 0.0);glVertex2i(180,280); glEnd(); //pierna izquierda glColor3f(1.0 , 0.6 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(320,360);glColor3f(1.8,0.6,1.0);glVertex2i(320,280);glColor3f(0.2 ,1.0,0.7);glVertex2i(420,280); glEnd(); //pata izquierda glColor3f(1.0 , 1.0 , 0.6);glBegin(GL_TRIANGLES);glVertex2i(420,280);glColor3f(1.0 , 0.0 , 0.0);glVertex2i(380,240);glColor3f(0.5 , 1.0 , 0.0);glVertex2i(420,180); glEnd(); //pata sobre el balon glColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(420,180);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(520,180);glColor3f(0.0 ,0.0 , 1.0);glVertex2i(440,220); glEnd(); //mano dercha(dedos)

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glColor3f(1.0 , 0.9 , 1.0);glBegin(GL_TRIANGLES);glVertex2i(60,360);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(80,440);glColor3f(1.0 , 1.0 , 0.0);glVertex2i(100,400); glEnd(); glColor3f(0.9 , 9.0 , 0.1);glBegin(GL_TRIANGLES);glVertex2i(100,400);glColor3f(0.7 , 0.8 , 1.0);glVertex2i(200,520);glColor3f(1.0 , 1.0 , 0.5);glVertex2i(140,340); glEnd(); glColor3f(1.0 , 0.8 , 0.7);glBegin(GL_TRIANGLES);glVertex2i(260,520);glColor3f(1.0 , 0.2 , 1.0);glVertex2i(298,480);glColor3f(1.0 , 1.0 , 0.6);glVertex2i(320,520); glEnd(); glColor3f(1.0 , 0.7 , 0.4);glBegin(GL_TRIANGLES);glVertex2i(380,520);glColor3f(1.0 , 0.4 , 1.0);glVertex2i(440,360);glColor3f(1.0 , 1.0 , 0.1);glVertex2i(480,400); glEnd(); glColor3f(1.0 , 0.6 , 0.4);

glBegin(GL_TRIANGLES);glVertex2i(480,400);glColor3f(1.0 , 0.4 , 1.0);glVertex2i(500,460);glColor3f(1.0 , 1.0 , 0.8);glVertex2i(520,360); glEnd(); glColor3f(1.0 , 0.5 , 0.7);glBegin(GL_TRIANGLES);glVertex2i(298,520);glColor3f(1.0 , 0.4 , 1.0);glVertex2i(360,600);glColor3f(1.0 , 1.0 , 0.7);glVertex2i(220,600); glEnd(); glColor3f(1.0 , 0.2 , 0.8);glBegin(GL_TRIANGLES);glVertex2i(160,600);glColor3f(1.0 , 0.7 , 1.0);glVertex2i(298,720);glColor3f(1.0 , 1.0 , 0.1);glVertex2i(420,600); glEnd(); glColor3f(1.0 , 0.7 , 0.7);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 0.6 , 1.6);glVertex2i(498,280);glColor3f(1.0 , 1.0 , 0.7);glVertex2i(560,280); glEnd(); glColor3f(1.0 , 0.7 , 0.5);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 0.4 , 1.2);glVertex2i(580,540);

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

glColor3f(1.0 , 1.0 , 0.7);glVertex2i(520,540); glEnd(); glColor3f(1.0 , 0.7 , 0.4);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 0.8 , 1.0);glVertex2i(640,540);glColor3f(1.0 , 1.0 , 0.4);glVertex2i(620,540); glEnd(); glColor3f(1.0 , 1.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 1.0 , 1.0);glVertex2i(498,540);glColor3f(1.0 , 0.0 , 0.0);glVertex2i(478,540); glEnd();//camiza glBegin(GL_QUADS);glColor3f(0.6 , 0.5 , 0.4);glVertex2i(200,520);glVertex2i(200,340);glVertex2i(380,340);glVertex2i(380,520);glEnd();

glColor3f(1.0 , 0.5 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(260,520);glColor3f(1.0 , 1.0 , 1.0);glVertex2i(298,480);glColor3f(1.0 , 1.0 , 0.9);glVertex2i(320,520); glEnd(); //balon glBegin(GL_POLYGON);glVertex2i(520,100);glVertex2i(520,140);glVertex2i(480,180);

glVertex2i(440,180);glVertex2i(400,140);glVertex2i(400,100);glVertex2i(440,60);glVertex2i(480,60);glEnd();

glBegin(GL_POLYGON);glVertex2i(0,0);glVertex2i(0,40);glVertex2i(1440,40);glVertex2i(1440,0);

glEnd();

glFlush(); //forza dibujo}

int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("MI primer ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}

GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA

top related