Manual open gl

265 views
194 views

Published on

en este manual podemos aprender desde como hacer algo sencillo en este programa hasta efecto 3D con movimiento

Published in: Self Improvement
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
265
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Manual open gl

  1. 1. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOUTILIZACION DE SOFTWARE DE DISEÑO MANUAL DE OPEN GL PROFESOR: RENE DOMINGUEZ ESCALONAALUMNOS: EDUARDO TAPIA HERNANDEZ Y CESAR RAFAEL ESCOBAR SANCHEZ GRUPO: 303 TURNO: MATUTINO ESPECIALIDAD: INFORMATICA Página 1
  2. 2. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO INTRODUCCION: En este manual podremos dibujar en Open GL atravez de códigos en los cuales se apreciaran desde los más sencillos como hacer formas geométricas tales como el rectángulo, triangulo,circulo, cuadrado etc. Hasta los más complicados como hacer figuras en 3D con movimientoEste manual será de gran ayuda para aquellos que cursen la materia de informática ya que viene mucha información acerca de este programa de Open GL. Página 2
  3. 3. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Tablero de ajedrezEn esta práctica tenemos que hacer un tablero de ajedrez en el programa de Open GL Dev c++ no olvidemos que cada tablero de ajedrez tiene 8cuadrados x 8 cuadrados así que tenemos que ser muy precisos con nuestras coordenadas y ponerun cuadrado de color negro y uno de color blanco tal y como es un ajedrez real. Borrador con coordenadas utilizadas: glBegin(GL_POINTS) glPointSize(); Código://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>void inicializa(void){ Página 3
  4. 4. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglClearColor(0.0,0.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1050.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(0.0 , 0.0 , 0.0);glPointSize(60);glBegin(GL_POINTS);glVertex2i(100,100);glVertex2i(347,100);glVertex2i(597,100);glVertex2i(848,100);glVertex2i(220,220);glVertex2i(473,220);glVertex2i(723,220);glVertex2i(970,220);glVertex2i(100,340);glVertex2i(347,340);glVertex2i(597,340);glVertex2i(848,340);glVertex2i(220,460);glVertex2i(473,460); Página 4
  5. 5. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(723,460);glVertex2i(970,460);glVertex2i(100,580);glVertex2i(347,580);glVertex2i(597,580);glVertex2i(848,580);glVertex2i(220,700);glVertex2i(473,700);glVertex2i(723,700);glVertex2i(970,700);glVertex2i(100,820);glVertex2i(347,820);glVertex2i(597,820);glVertex2i(848,820);glEnd();glColor3f(1.0 , 1.0 , 1.0);glPointSize(60);glBegin(GL_POINTS);glVertex2i(220,100);glVertex2i(473,100);glVertex2i(723,100);glVertex2i(970,100);glVertex2i(100,220);glVertex2i(347,220);glVertex2i(597,220);glVertex2i(848,220); Página 5
  6. 6. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(220,340);glVertex2i(473,340);glVertex2i(723,340);glVertex2i(970,340);glVertex2i(100,460);glVertex2i(347,460);glVertex2i(597,460);glVertex2i(848,460);glVertex2i(220,580);glVertex2i(473,580);glVertex2i(723,580);glVertex2i(970,580);glVertex2i(100,700);glVertex2i(347,700);glVertex2i(597,700);glVertex2i(848,700);glVertex2i(220,820);glVertex2i(473,820);glVertex2i(723,820);glVertex2i(970,820);glEnd();glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main Página 6
  7. 7. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizació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} Página 7
  8. 8. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Estrella En esta nueva práctica tenemos que hacer una estrella de 5 picos utilizando la instrucción ya antes mencionada gl lines. Borrador con coordenadas utilizadas: glBegin(Gl _LINES); Código://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>void inicializa(void){glClearColor(1.0,0.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{ Página 8
  9. 9. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(0.0 , 0.0 , 0.0);glBegin(GL_LINES);glVertex2i(400,700);glVertex2i(700,100);glVertex2i(700,100);glVertex2i(100,500);glVertex2i(100,500);glVertex2i(800,500);glVertex2i(800,500);glVertex2i(200,100);glVertex2i(200,100);glVertex2i(400,700);glEnd();glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("MI primer ventana"); //nombre de la ventana Página 9
  10. 10. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOinicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} Página 10
  11. 11. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Cubo con líneas En esta ocasión realizaremos un cubo como en efecto 3D utilizando la misma función de la actividad pasada. Borrador con coordenadas utilizadas: glBegin(GL_LINES) Código//mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>void inicializa(void){glClearColor(1.0,0.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal Página 11
  12. 12. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(0.0 , 0.0 , 0.0);glBegin(GL_LINES);glVertex2i(200,300);glVertex2i(400,300);glVertex2i(200,300);glVertex2i(200,500);glVertex2i(400,300);glVertex2i(400,500);glVertex2i(400,500);glVertex2i(200,500);glVertex2i(200,300);glVertex2i(300,400);glVertex2i(400,300);glVertex2i(500,400);glVertex2i(300,400);glVertex2i(500,400);glVertex2i(500,400);glVertex2i(500,600);glVertex2i(500,600);glVertex2i(300,600);glVertex2i(300,600); Página 12
  13. 13. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(300,400);glVertex2i(300,600);glVertex2i(200,500);glVertex2i(400,500);glVertex2i(500,600);glEnd();glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("MI primer ventana"); //nombre de la ventanainicializa(); Página 13
  14. 14. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} Página 14
  15. 15. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Pirámide En esta nueva practica tenemos que hacer una pirámide que se vea como si alguien la estuviera viendo desde arriba pueden ser varios cuadrados del más grande al más chico o al contrario pero tienen que ser 10 cuadrados. Borrador con coordenadas utilizadas: glBegin(GL_LINES); for(i=1;i<=11;i++) Código#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>void inicializa(void){glClearColor(1.0,0.0,0.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal} Página 15
  16. 16. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOvoid dibuja(void) //funcion dibuja{int i,a=25;glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 1.0 , 1.0);glLineWidth(2);glBegin(GL_LINES);//valor inicial ---- valor final o condicion ---- incrementofor(i=1;i<=11;i++){//abajoglVertex2i (250-a*i,250-a*i);glVertex2i (270+a*i,250-a*i);//derechaglVertex2i (270+a*i,250-a*i);glVertex2i (270+a*i,270+a*i);//izquierdaglVertex2i (250-a*i,250-a*i);glVertex2i (250-a*i,270+a*i);//arribaglVertex2i (250-a*i,270+a*i);glVertex2i (270+a*i,270+a*i);}glEnd();glFlush(); //forza dibujo} Página 16
  17. 17. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOint main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(400,400); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("Cuadros"); //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} Página 17
  18. 18. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Cubo delineado Esta vez haremos un cubo como ya lo habíamos hecho antes pero esta vez cada una de sus caras tendrá que ir de un color deferente y el grosor de las líneas tendrá que cambiar. Borrador con coordenadas utilizadas glBegin(GL_QUADS); glLineWidth(); glBegin(GL_LINES); 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,0.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal Página 18
  19. 19. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglBegin(GL_QUADS);glColor3f(1.0 , 0.0 , 0.0);glVertex2i(200,300);glVertex2i(400,300);glVertex2i(400,500);glVertex2i(200,500);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(400,300);glVertex2i(500,400);glVertex2i(500,600);glVertex2i(400,500);glColor3f(0.0 , 1.0 , 1.0);glVertex2i(400,500);glVertex2i(500,600);glVertex2i(300,600);glVertex2i(200,500);glEnd();glColor3f(0.0 , 0.0 , 0.0);glLineWidth(6); Página 19
  20. 20. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglBegin(GL_LINES);glVertex2i(200,300);glVertex2i(400,300);glVertex2i(200,300);glVertex2i(200,500);glVertex2i(400,300);glVertex2i(400,500);glVertex2i(400,500);glVertex2i(200,500);glVertex2i(200,300);glVertex2i(300,400);glVertex2i(400,300);glVertex2i(500,400);glVertex2i(300,400);glVertex2i(500,400);glVertex2i(500,400);glVertex2i(500,600);glVertex2i(500,600);glVertex2i(300,600);glVertex2i(300,600);glVertex2i(300,400);glVertex2i(300,600);glVertex2i(200,500);glVertex2i(400,500);glVertex2i(500,600); Página 20
  21. 21. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizació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} Página 21
  22. 22. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Muñeco con triángulos Esta vez haremos un muñeco en forma dehumano pero de puros triángulos utilizaremos una nueva instrucción. Borrador con coordenadas utilizadas: glBegin(GL_TRIANGLES); glBegin(GL_LINES); glBegin(GL_QUADS); Código//mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>void inicializa(void){glClearColor(0.0,0.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal Página 22
  23. 23. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(0.0 , 1.0 , 0.0);glBegin(GL_QUADS);glVertex2i(360,700);glVertex2i(360,370);glVertex2i(630,370);glVertex2i(630,700);glEnd();glColor3f(1.0 , 1.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(470,700);glVertex2i(500,650);glVertex2i(530,700);glEnd();glColor3f(1.0 , 1.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(400,900);glVertex2i(500,700);glVertex2i(600,900);glEnd();glColor3f(1.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES); Página 23
  24. 24. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(310,900);glVertex2i(500,990);glVertex2i(690,900);glEnd();glColor3f(0.0 , 1.0 , 0.0);glBegin(GL_QUADS);glVertex2i(0,100);glVertex2i(0,0);glVertex2i(1000,0);glVertex2i(1000,100);glEnd();glColor3f(1.0 , 1.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(450,50);glColor3f(1.0 ,1.0 ,1.0);glVertex2i(450,370);glVertex2i(380,300);glEnd();glColor3f(1.0 , 0.0 , 1.0);glBegin(GL_TRIANGLES);glVertex2i(450,50);glVertex2i(370,110);glVertex2i(290,50);glEnd();glColor3f(0.0 ,1.0 ,0.0);glBegin(GL_TRIANGLES); Página 24
  25. 25. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(360,700);glColor3f(1.0 ,1.0 ,0.0);glVertex2i(200,540);glVertex2i(250,450);glEnd();glColor3f(0.0 ,1.0 ,0.0);glBegin(GL_TRIANGLES);glVertex2i(630,700);glColor3f(1.0 ,1.0 ,0.0);glVertex2i(800,530);glVertex2i(750,440);glEnd();glColor3f(1.0 ,1.0 ,0.0);glBegin(GL_TRIANGLES);glVertex2i(190,600);glVertex2i(200,540);glVertex2i(130,500);glEnd();glColor3f(1.0 ,1.0 ,0.0);glBegin(GL_TRIANGLES);glVertex2i(820,600);glVertex2i(800,530);glVertex2i(860,470);glEnd();glColor3f(1.0 ,1.0 ,0.0);glBegin(GL_TRIANGLES); Página 25
  26. 26. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(710,270);glColor3f(1.0 ,1.0 ,1.0);glVertex2i(540,370);glVertex2i(540,270);glEnd();glColor3f(1.0 ,1.0 ,0.0);glBegin(GL_TRIANGLES);glVertex2i(680,130);glVertex2i(710,270);glVertex2i(650,210);glEnd();glColor3f(1.0 ,0.0 ,1.0);glBegin(GL_TRIANGLES);glVertex2i(680,130);glVertex2i(760,190);glVertex2i(840,130);glEnd();glColor3f(0.0 ,0.0 ,0.0);glBegin(GL_POLYGON);glVertex2i(720,130);glVertex2i(780,130);glVertex2i(840,80);glVertex2i(840,40);glVertex2i(780,0);glVertex2i(720,0);glVertex2i(660,40); Página 26
  27. 27. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(660,80);glEnd();glColor3f(0.0 ,1.0 ,1.0);glBegin(GL_TRIANGLES);glVertex2i(770,730);glVertex2i(890,400);glVertex2i(910,750);glEnd();glColor3f(0.0 ,1.0 ,1.0);glBegin(GL_TRIANGLES);glVertex2i(840,350);glVertex2i(890,400);glVertex2i(950,370);glEnd();glColor3f(0.0 ,0.0 ,0.0);glBegin(GL_LINES);glVertex2i(880,700);glVertex2i(880,730);glVertex2i(880,730);glVertex2i(850,730);glVertex2i(850,730);glVertex2i(850,700);glEnd();glColor3f(0.0 ,0.0 ,0.0);glBegin(GL_LINES);glVertex2i(850,670); Página 27
  28. 28. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(880,670);glVertex2i(880,670);glVertex2i(880,640);glVertex2i(880,640);glVertex2i(850,640);glVertex2i(850,640);glVertex2i(850,670);glEnd();glColor3f(0.0 ,0.0 ,0.0);glBegin(GL_LINES);glVertex2i(840,610);glVertex2i(880,610);glVertex2i(880,610);glVertex2i(880,590);glVertex2i(880,590);glVertex2i(860,590);glVertex2i(860,590);glVertex2i(860,610);glEnd();glColor3f(0.0 ,0.0 ,0.0);glBegin(GL_LINES);glVertex2i(880,550);glVertex2i(850,560);glVertex2i(880,550);glVertex2i(850,540);glVertex2i(865,555); Página 28
  29. 29. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(865,540);glEnd();glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizació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} Página 29
  30. 30. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Casita Ahora realizaremos una casa con todo lo aprendido hasta ahora esta casa tiene que tener cuadrados, carretera, triángulos, etc. Borrador con coordenadas utilizadas: glBegin(GL_QUADS); glBegin(GL_LINES); glBegin(GL_POLYGON); glBegin(GL_TRIANGLES); 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 proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0,0.0, 1000.0); //vista ortogonal Página 30
  31. 31. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(0.0 , 0.0 , 0.0);//carreteraglBegin(GL_QUADS);glVertex2i(0,200);glVertex2i(0,0);glVertex2i(1000,0);glVertex2i(1000,200);glEnd();glColor3f(1.0 , 1.0 , 1.0);glLineWidth(2);glBegin(GL_LINES);glVertex2i(10,100);glVertex2i(100,100);glVertex2i(200,100);glVertex2i(300,100);glVertex2i(400,100);glVertex2i(500,100);glVertex2i(600,100);glVertex2i(700,100);glVertex2i(800,100); Página 31
  32. 32. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(900,100);glVertex2i(980,100);glVertex2i(1000,100);glEnd();//pastoglColor3f(0.0 , 1.0 , 0.0);glBegin(GL_QUADS);glVertex2i(0,500);glVertex2i(0,200);glVertex2i(1000,200);glVertex2i(1000,500);glEnd();//linea amarillaglColor3f(1.0 , 1.0 , 0.0);glLineWidth(8);glBegin(GL_LINES);glVertex2i(0,200);glVertex2i(1000,200);glEnd();//banquetaglColor3f(0.5 , 0.5 , 0.5);glLineWidth(50);glBegin(GL_QUADS);glVertex2i(0,208);glVertex2i(0,300); Página 32
  33. 33. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1000,300);glVertex2i(1000,208);glVertex2i(440,300);glVertex2i(440,450);glVertex2i(560,450);glVertex2i(560,300);glEnd();glColor3f(0.5 , 0.5 , 0.5);glBegin(GL_QUADS);glVertex2i(200,350);glVertex2i(200,380);glVertex2i(250,380);glVertex2i(250,350);glVertex2i(150,350);glVertex2i(150,380);glVertex2i(100,380);glVertex2i(100,350);glVertex2i(200,400);glVertex2i(200,430);glVertex2i(250,430);glVertex2i(250,400);glVertex2i(150,400); Página 33
  34. 34. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(150,430);glVertex2i(100,430);glVertex2i(100,400);glEnd();//sercaglColor3f(1.0 , 1.0 , 0.0);glBegin(GL_POLYGON);glVertex2i(0,540);glVertex2i(0,480);glVertex2i(20,480);glVertex2i(20,540);glVertex2i(10,550);glEnd();glBegin(GL_POLYGON);glVertex2i(40,540);glVertex2i(40,480);glVertex2i(60,480);glVertex2i(60,540);glVertex2i(50,550);glEnd();glBegin(GL_POLYGON);glVertex2i(710,540);glVertex2i(710,480);glVertex2i(730,480);glVertex2i(730,540);glVertex2i(720,550); Página 34
  35. 35. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();glBegin(GL_POLYGON);glVertex2i(750,540);glVertex2i(750,480);glVertex2i(770,480);glVertex2i(770,540);glVertex2i(760,550);glEnd();glBegin(GL_POLYGON);glVertex2i(790,540);glVertex2i(790,480);glVertex2i(810,480);glVertex2i(810,540);glVertex2i(800,550);glEnd();glBegin(GL_POLYGON);glVertex2i(830,540);glVertex2i(830,480);glVertex2i(850,480);glVertex2i(850,540);glVertex2i(840,550);glEnd();glBegin(GL_POLYGON);glVertex2i(870,540);glVertex2i(870,480);glVertex2i(890,480); Página 35
  36. 36. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(890,540);glVertex2i(880,550);glEnd();glBegin(GL_POLYGON);glVertex2i(910,540);glVertex2i(910,480);glVertex2i(930,480);glVertex2i(930,540);glVertex2i(920,550);glEnd();glBegin(GL_POLYGON);glVertex2i(950,540);glVertex2i(950,480);glVertex2i(970,480);glVertex2i(970,540);glVertex2i(960,550);glEnd();glBegin(GL_POLYGON);glVertex2i(990,540);glVertex2i(990,480);glVertex2i(1010,480);glVertex2i(1010,540);glVertex2i(1000,550);glEnd();glColor3f(1.0 , 1.0 , 0.0);glLineWidth(10); Página 36
  37. 37. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglBegin(GL_LINES);glVertex2i(0,520);glVertex2i(1000,520);glEnd();//casaglColor3f(1.0 , 1.0 , 0.0);glBegin(GL_QUADS);glVertex2i(300,750);glVertex2i(300,450);glVertex2i(700,450);glVertex2i(700,750);glEnd();glColor3f(0.0 , 0.0 , 1.0);glLineWidth(14);glBegin(GL_LINES);glVertex2i(300,600);glVertex2i(700,600);glVertex2i(440,450);glVertex2i(440,750);glVertex2i(560,450);glVertex2i(560,750);glEnd();//techo casaglColor3f(1.0 , 0.0 , 0.0);glBegin(GL_POLYGON);glVertex2i(300,820); Página 37
  38. 38. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(240,750);glVertex2i(760,750);glVertex2i(700,820);glEnd();//triangulo techo casaglColor3f(0.7 , 0.2 , 0.2);glBegin(GL_TRIANGLES);glVertex2i(600,720);glVertex2i(500,800);glVertex2i(400,720);glEnd();//puerta casaglColor3f(1.0 , 1.0 , 1.0);glBegin(GL_QUADS);glVertex2i(454,450);glVertex2i(454,570);glVertex2i(546,570);glVertex2i(546,450);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(474,470);glVertex2i(474,550);glVertex2i(526,550);glVertex2i(526,470);glEnd();glColor3f(0.0 ,0.0 , 0.0);glPointSize(3); Página 38
  39. 39. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglBegin(GL_POINTS);glVertex2i(464,505);glEnd();//ventanas casaglColor3f(1.0 , 0.0 , 1.0);glBegin(GL_QUADS);glVertex2i(320,570);glVertex2i(320,510);glVertex2i(400,510);glVertex2i(400,570);glVertex2i(595,570);glVertex2i(595,510);glVertex2i(675,510);glVertex2i(675,570);glVertex2i(320,730);glVertex2i(320,660);glVertex2i(400,660);glVertex2i(400,730);glVertex2i(595,730);glVertex2i(595,660);glVertex2i(675,660);glVertex2i(675,730);glEnd(); Página 39
  40. 40. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglColor3f(1.0 , 1.0 , 1.0);glLineWidth(4);glBegin(GL_LINES);glVertex2i(320,570);glVertex2i(320,510);glVertex2i(320,510);glVertex2i(400,510);glVertex2i(400,510);glVertex2i(400,570);glVertex2i(400,570);glVertex2i(320,570);glVertex2i(320,530);glVertex2i(400,530);glVertex2i(360,530);glVertex2i(360,510);glVertex2i(595,570);glVertex2i(595,510);glVertex2i(595,510);glVertex2i(675,510);glVertex2i(675,510);glVertex2i(675,570);glVertex2i(675,570);glVertex2i(595,570);glVertex2i(595,530);glVertex2i(675,530); Página 40
  41. 41. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(635,530);glVertex2i(635,510);glVertex2i(320,730);glVertex2i(320,660);glVertex2i(320,660);glVertex2i(400,660);glVertex2i(400,660);glVertex2i(400,730);glVertex2i(400,730);glVertex2i(320,730);glVertex2i(320,680);glVertex2i(400,680);glVertex2i(360,680);glVertex2i(360,660);glVertex2i(595,730);glVertex2i(595,660);glVertex2i(595,660);glVertex2i(675,660);glVertex2i(675,660);glVertex2i(675,730);glVertex2i(675,730);glVertex2i(595,730);glVertex2i(595,680);glVertex2i(675,680); Página 41
  42. 42. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(635,680);glVertex2i(635,660);glEnd();//balcon casaglColor3f(1.0 , 0.0 , 1.0);glBegin(GL_QUADS);glVertex2i(454,720);glVertex2i(454,600);glVertex2i(546,600);glVertex2i(546,720);glEnd();glColor3f(1.0 , 1.0, 1.0);glLineWidth(3);glBegin(GL_LINES);glVertex2i(455,640);glVertex2i(455,600);glVertex2i(467,640);glVertex2i(467,600);glVertex2i(479,640);glVertex2i(479,600);glVertex2i(491,640);glVertex2i(491,600);glVertex2i(503,640);glVertex2i(503,600);glVertex2i(515,640); Página 42
  43. 43. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(515,600);glVertex2i(527,640);glVertex2i(527,600);glVertex2i(539,640);glVertex2i(539,600);glVertex2i(455,640);glVertex2i(546,640);glVertex2i(505,640);glVertex2i(505,720);glEnd();//cocheraglColor3f(0.8 , 0.8 , 0.8);glBegin(GL_QUADS);glVertex2i(90,450);glVertex2i(90,600);glVertex2i(300,600);glVertex2i(300,450);glEnd();glColor3f(0.0 , 0.0, 1.0);glLineWidth(12);glBegin(GL_LINES);glVertex2i(90,450);glVertex2i(90,600);glEnd();//techo cocheraglColor3f(1.0 , 0.0 , 0.0); Página 43
  44. 44. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglBegin(GL_POLYGON);glVertex2i(90,660);glVertex2i(60,600);glVertex2i(300,600);glVertex2i(300,660);glEnd();//pinosglColor3f(0.5 , 0.3 , 0.3);glBegin(GL_QUADS);glVertex2i(850,450);glVertex2i(900,450);glVertex2i(900,530);glVertex2i(850,530);glEnd();int i,a=9;glColor3f(0.1 , 0.3 , 0.2);glLineWidth(3);glBegin(GL_LINES);for(i=0;i<=14;i++){glVertex2i(1000-a*i,530+a*i);glVertex2i(740+a*i,530+a*i);}glEnd();glFlush(); //forza dibujo Página 44
  45. 45. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizació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} Página 45
  46. 46. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Oso En esta práctica haremos un la forma de un oso aplicando un nuevo código. Borrador con coordenadas utilizadas: void circulo(int x, int y, int radio) 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 proyeccionglLoadIdentity(); //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); Página 46
  47. 47. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//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); //borra pantallaglColor3f(1.0,0.0,0.0);circuloc(250,250,5,150);circuloc(150,100,5,50); Página 47
  48. 48. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOcirculoc(350,100,5,50);circuloc(100,350,5,50);circuloc(400,350,5,50);circuloc(250,450,5,125);circuloc(175,600,5,55);circuloc(325,600,5,55);glColor3f(0.0,0.0,0.0);circuloc(200,500,5,25);glColor3f(1.0,1.0,0.5);circulo(250,250,150);circulo(350,100,50);circulo(150,100,50);circulo(250,450,125);circulo(400,350,50);circulo(100,350,50);circulo(325,600,55);circulo(175,600,55);///////////////////////////////////////////////////////////////////////////////glColor3f(0.0,0.0,0.0);circuloc(200,500,1,25);circuloc(300,500,1,25);glColor3f(1.0,1.0,1.0);circulo(200,500,25);glColor3f(0.0,0.0,0.0);circulo(200,500,15); Página 48
  49. 49. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglColor3f(1.0,1.0,1.0);circulo(300,500,25);circulo(325,600,40);circulo(175,600,40);glColor3f(0.0,0.0,0.0);circulo(300,500,15);glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizació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ónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} Página 49
  50. 50. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Página 50
  51. 51. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Cubo con cubitos En este ejercicio hacer un cubo como el que ya hicimos anteriormente pero esta vez en vez de líneas será hecho por puros cubitos chiquitos. Borrador con coordenadas utilizadas: glBegin(GL_LINES); glBegin(GL_QUADS); for(i=0;i<=10;i++){ for(i=0;i<=10;i++){ Código//mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>void inicializa(void){glClearColor(0.0,0.0,0.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 2000.0, 0.0, 2000.0); //vista ortogonal Página 51
  52. 52. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}void dibuja(void) //funcion dibuja{int i,a=100;glClear(GL_COLOR_BUFFER_BIT);///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////for(i=0;i<=10;i++){glColor3f(6.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(700,600+a*i);glVertex2i(700,700+a*i);//arrivaglVertex2i(750,750+a*i);//derecha Página 52
  53. 53. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(750,650+a*i);glEnd();glColor3f(0.0 ,0.8 ,6.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(600,600+a*i);glVertex2i(600,700+a*i);//arrivaglVertex2i(700,700+a*i);//derechaglVertex2i(700,600+a*i);//abajoglEnd();glColor3f(0.0 ,6.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS); Página 53
  54. 54. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//cuadro//izquierdaglVertex2i(600,700+a*i);glVertex2i(650,750+a*i);//arrivaglVertex2i(750,750+a*i);//derechaglVertex2i(700,700+a*i);//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,6.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(600,600+a*i);glVertex2i(600,700+a*i);//arrivaglVertex2i(600,700+a*i);glVertex2i(700,700+a*i);//derechaglVertex2i(700,700+a*i);glVertex2i(700,600+a*i);//abajo Página 54
  55. 55. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(700,600+a*i);glVertex2i(600,600+a*i);//diagonal derecha esquina arrivaglVertex2i(650,750+a*i);glVertex2i(600,700+a*i);//linea cuadro atras//linea cuadro atrasglVertex2i(650,750+a*i);glVertex2i(750,750+a*i);//linea derecha atrasglVertex2i(750,750+a*i);glVertex2i(750,650+a*i);//linea abajo derecha diagonalglVertex2i(700,600+a*i);glVertex2i(750,650+a*i);//linea arriva derecha diagonalglVertex2i(700,700+a*i);glVertex2i(750,750+a*i);glEnd();} Página 55
  56. 56. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO////////////////////////////////////////////////////////////////////////for(i=0;i<=10;i++){glColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(1700,1600);glVertex2i(1700,1700);//arrivaglVertex2i(1750,1750);//derechaglVertex2i(1750,1650);glEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro Página 56
  57. 57. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//izquierdaglVertex2i(1600-a*i,1600);glVertex2i(1600-a*i,1700);//arrivaglVertex2i(1700-a*i,1700);//derechaglVertex2i(1700-a*i,1600);//abajoglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1600-a*i,1700);glVertex2i(1650-a*i,1750);//arrivaglVertex2i(1750-a*i,1750);//derechaglVertex2i(1700-a*i,1700);//abajoglEnd(); Página 57
  58. 58. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(1600-a*i,1600);glVertex2i(1600-a*i,1700);//arrivaglVertex2i(1600-a*i,1700);glVertex2i(1700-a*i,1700);//derechaglVertex2i(1700-a*i,1700);glVertex2i(1700-a*i,1600);//abajoglVertex2i(1700-a*i,1600);glVertex2i(1600-a*i,1600);//diagonal derecha esquina arrivaglVertex2i(1650-a*i,1750);glVertex2i(1600-a*i,1700);//linea cuadro atras//linea cuadro atrasglVertex2i(1650-a*i,1750);glVertex2i(1750-a*i,1750);//linea derecha atras Página 58
  59. 59. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1750,1750);glVertex2i(1750,1650);//linea abajo derecha diagonalglVertex2i(1700,1600);glVertex2i(1750,1650);//linea arriva derecha diagonalglVertex2i(1700-a*i,1700);glVertex2i(1750-a*i,1750);glEnd();}///////////////////////////////////////////////////////////////////////for(i=0;i<=9;i++){glColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS); Página 59
  60. 60. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//izquierdaglVertex2i(1700,600);glVertex2i(1700,700);//arrivaglVertex2i(1750,750);//derechaglVertex2i(1750,650);glEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1600-a*i,600);glVertex2i(1600-a*i,700);//arrivaglVertex2i(1700-a*i,700);//derechaglVertex2i(1700-a*i,600);//abajo Página 60
  61. 61. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1600-a*i,700);glVertex2i(1650-a*i,750);//arrivaglVertex2i(1750-a*i,750);//derechaglVertex2i(1700-a*i,700);//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(1600-a*i,600);glVertex2i(1600-a*i,700); Página 61
  62. 62. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//arrivaglVertex2i(1600-a*i,700);glVertex2i(1700-a*i,700);//derechaglVertex2i(1700-a*i,700);glVertex2i(1700-a*i,600);//abajoglVertex2i(1700-a*i,600);glVertex2i(1600-a*i,600);//diagonal derecha esquina arrivaglVertex2i(1650-a*i,750);glVertex2i(1600-a*i,700);//linea cuadro atras//linea cuadro atrasglVertex2i(1650-a*i,750);glVertex2i(1750-a*i,750);//linea derecha atrasglVertex2i(1750,750);glVertex2i(1750,650);//linea abajo derecha diagonalglVertex2i(1700,600);glVertex2i(1750,650);//linea arriva derecha diagonal Página 62
  63. 63. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1700-a*i,700);glVertex2i(1750-a*i,750);glEnd();}//////////////////////////////////////////////////////////////////////for(i=0;i<=10;i++){glColor3f(16.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(1700,600+a*i);glVertex2i(1700,700+a*i);//arrivaglVertex2i(1750,750+a*i);//derechaglVertex2i(1750,650+a*i); Página 63
  64. 64. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();glColor3f(0.0 ,0.8 ,6.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1600,600+a*i);glVertex2i(1600,700+a*i);//arrivaglVertex2i(1700,700+a*i);//derechaglVertex2i(1700,600+a*i);//abajoglEnd();glColor3f(0.0 ,6.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierda Página 64
  65. 65. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1600,700+a*i);glVertex2i(1650,750+a*i);//arrivaglVertex2i(1750,750+a*i);//derechaglVertex2i(1700,700+a*i);//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,6.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(1600,600+a*i);glVertex2i(1600,700+a*i);//arrivaglVertex2i(1600,700+a*i);glVertex2i(1700,700+a*i);//derechaglVertex2i(1700,700+a*i);glVertex2i(1700,600+a*i);//abajoglVertex2i(1700,600+a*i);glVertex2i(1600,600+a*i); Página 65
  66. 66. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//diagonal derecha esquina arrivaglVertex2i(1650,750+a*i);glVertex2i(1600,700+a*i);//linea cuadro atras//linea cuadro atrasglVertex2i(1650,750+a*i);glVertex2i(1750,750+a*i);//linea derecha atrasglVertex2i(1750,750+a*i);glVertex2i(1750,650+a*i);//linea abajo derecha diagonalglVertex2i(1700,600+a*i);glVertex2i(1750,650+a*i);//linea arriva derecha diagonalglVertex2i(1700,700+a*i);glVertex2i(1750,750+a*i);glEnd();}//////////////////////////////////////////////////////////////////////for(i=0;i<=9;i++){ Página 66
  67. 67. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(200+(50*i),100+(50*i));glVertex2i(200+(50*i),200+(50*i));//arrivaglVertex2i(250+(50*i),250+(50*i));//derechaglVertex2i(250+(50*i),150+(50*i));glEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(100,100);glVertex2i(100,200);//arriva Página 67
  68. 68. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(200,200);//derechaglVertex2i(200,100);//abajoglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(100+(50*i),200+(50*i));glVertex2i(150+(50*i),250+(50*i));//arrivaglVertex2i(250+(50*i),250+(50*i));//derechaglVertex2i(200+(50*i),200+(50*i));//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES); Página 68
  69. 69. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//cuadro//izquierdaglVertex2i(100,100);glVertex2i(100,200);//arrivaglVertex2i(100+(50*i),200+(50*i));glVertex2i(200+(50*i),200+(50*i));//derechaglVertex2i(200+(50*i),200+(50*i));glVertex2i(200+(50*i),100+(50*i));//abajoglVertex2i(200,100);glVertex2i(100,100);//diagonal derecha esquina arrivaglVertex2i(150+(50*i),250+(50*i));glVertex2i(100+(50*i),200+(50*i));//linea cuadro atras//linea cuadro atrasglVertex2i(150+(50*i),250+(50*i));glVertex2i(250+(50*i),250+(50*i));//linea derecha atrasglVertex2i(250+(50*i),250+(50*i));glVertex2i(250+(50*i),150+(50*i));//linea abajo derecha diagonal Página 69
  70. 70. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(200+(50*i),100+(50*i));glVertex2i(250+(50*i),150+(50*i));//linea arriva derecha diagonalglVertex2i(200+(50*i),200+(50*i));glVertex2i(250+(50*i),250+(50*i));glEnd();}///////////////////////////////////////////////////////for(i=0;i<=9;i++){glColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(1200+(50*i),100+(50*i));glVertex2i(1200+(50*i),200+(50*i));//arrivaglVertex2i(1250+(50*i),250+(50*i));//derechaglVertex2i(1250+(50*i),150+(50*i)); Página 70
  71. 71. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100,100);glVertex2i(1100,200);//arrivaglVertex2i(1200,200);//derechaglVertex2i(1200,100);//abajoglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierda Página 71
  72. 72. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1100+(50*i),200+(50*i));glVertex2i(1150+(50*i),250+(50*i));//arrivaglVertex2i(1250+(50*i),250+(50*i));//derechaglVertex2i(1200+(50*i),200+(50*i));//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(1100,100);glVertex2i(1100,200);//arrivaglVertex2i(1100+(50*i),200+(50*i));glVertex2i(1200+(50*i),200+(50*i));//derechaglVertex2i(1200+(50*i),200+(50*i));glVertex2i(1200+(50*i),100+(50*i));//abajoglVertex2i(1200,100);glVertex2i(1100,100); Página 72
  73. 73. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//diagonal derecha esquina arrivaglVertex2i(1150+(50*i),250+(50*i));glVertex2i(1100+(50*i),200+(50*i));//linea cuadro atras//linea cuadro atrasglVertex2i(1150+(50*i),250+(50*i));glVertex2i(1250+(50*i),250+(50*i));//linea derecha atrasglVertex2i(1250+(50*i),250+(50*i));glVertex2i(1250+(50*i),150+(50*i));//linea abajo derecha diagonalglVertex2i(1200+(50*i),100+(50*i));glVertex2i(1250+(50*i),150+(50*i));//linea arriva derecha diagonalglVertex2i(1200+(50*i),200+(50*i));glVertex2i(1250+(50*i),250+(50*i));glEnd();}////////////////////////////////////////////////////////for(i=0;i<=9;i++){glColor3f(1.0 ,0.8 ,0.5 ); Página 73
  74. 74. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(200+(50*i),1100+(50*i));glVertex2i(200+(50*i),1200+(50*i));//arrivaglVertex2i(250+(50*i),1250+(50*i));//derechaglVertex2i(250+(50*i),1150+(50*i));glEnd();glColor3f(0.0 ,0.8 ,11.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(100,1100);glVertex2i(100,1200);//arrivaglVertex2i(200,1200); Página 74
  75. 75. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//derechaglVertex2i(200,1100);//abajoglEnd();glColor3f(0.0 ,11.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(100+(50*i),1200+(50*i));glVertex2i(150+(50*i),1250+(50*i));//arrivaglVertex2i(250+(50*i),1250+(50*i));//derechaglVertex2i(200+(50*i),1200+(50*i));//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,11.0 );glLineWidth(4);glBegin(GL_LINES); Página 75
  76. 76. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//cuadro//izquierdaglVertex2i(100,1100);glVertex2i(100,1200);//arrivaglVertex2i(100+(50*i),1200+(50*i));glVertex2i(200+(50*i),1200+(50*i));//derechaglVertex2i(200+(50*i),1200+(50*i));glVertex2i(200+(50*i),1100+(50*i));//abajoglVertex2i(200,1100);glVertex2i(100,1100);//diagonal derecha esquina arrivaglVertex2i(150+(50*i),1250+(50*i));glVertex2i(100+(50*i),1200+(50*i));//linea cuadro atras//linea cuadro atrasglVertex2i(150+(50*i),1250+(50*i));glVertex2i(250+(50*i),1250+(50*i));//linea derecha atrasglVertex2i(250+(50*i),1250+(50*i));glVertex2i(250+(50*i),1150+(50*i));//linea abajo derecha diagonalglVertex2i(200+(50*i),1100+(50*i)); Página 76
  77. 77. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(250+(50*i),1150+(50*i));//linea arriva derecha diagonalglVertex2i(200+(50*i),1200+(50*i));glVertex2i(250+(50*i),1250+(50*i));glEnd();}////////////////////////////////////////////////////////////for(i=0;i<=9;i++){glColor3f(11.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(1200+(50*i),1100+(50*i));glVertex2i(1200+(50*i),1200+(50*i));//arrivaglVertex2i(1250+(50*i),1250+(50*i));//derechaglVertex2i(1250+(50*i),1150+(50*i)); Página 77
  78. 78. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();glColor3f(0.0 ,0.8 ,11.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100,1100);glVertex2i(1100,1200);//arrivaglVertex2i(1200,1200);//derechaglVertex2i(1200,1100);//abajoglEnd();glColor3f(0.0 ,11.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100+(50*i),1200+(50*i)); Página 78
  79. 79. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1150+(50*i),1250+(50*i));//arrivaglVertex2i(1250+(50*i),1250+(50*i));//derechaglVertex2i(1200+(50*i),1200+(50*i));//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,11.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(1100,1100);glVertex2i(1100,1200);//arrivaglVertex2i(1100+(50*i),1200+(50*i));glVertex2i(1200+(50*i),1200+(50*i));//derechaglVertex2i(1200+(50*i),1200+(50*i));glVertex2i(1200+(50*i),1100+(50*i));//abajoglVertex2i(1200,1100);glVertex2i(1100,1100);//diagonal derecha esquina arriva Página 79
  80. 80. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1150+(50*i),1250+(50*i));glVertex2i(1100+(50*i),1200+(50*i));//linea cuadro atras//linea cuadro atrasglVertex2i(1150+(50*i),1250+(50*i));glVertex2i(1250+(50*i),1250+(50*i));//linea derecha atrasglVertex2i(1250+(50*i),1250+(50*i));glVertex2i(1250+(50*i),1150+(50*i));//linea abajo derecha diagonalglVertex2i(1200+(50*i),1100+(50*i));glVertex2i(1250+(50*i),1150+(50*i));//linea arriva derecha diagonalglVertex2i(1200+(50*i),1200+(50*i));glVertex2i(1250+(50*i),1250+(50*i));glEnd();}////////////////////////////////////////////////////////////////////// Página 80
  81. 81. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOfor(i=0;i<=10;i++){glColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(200,100+a*i);glVertex2i(200,200+a*i);//arrivaglVertex2i(250,250+a*i);//derechaglVertex2i(250,150+a*i);glEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(100,100+a*i);glVertex2i(100,200+a*i); Página 81
  82. 82. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//arrivaglVertex2i(200,200+a*i);//derechaglVertex2i(200,100+a*i);//abajoglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(100,200+a*i);glVertex2i(150,250+a*i);//arrivaglVertex2i(250,250+a*i);//derechaglVertex2i(200,200+a*i);//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4); Página 82
  83. 83. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglBegin(GL_LINES);//cuadro//izquierdaglVertex2i(100,100+a*i);glVertex2i(100,200+a*i);//arrivaglVertex2i(100,200+a*i);glVertex2i(200,200+a*i);//derechaglVertex2i(200,200+a*i);glVertex2i(200,100+a*i);//abajoglVertex2i(200,100+a*i);glVertex2i(100,100+a*i);//diagonal derecha esquina arrivaglVertex2i(150,250+a*i);glVertex2i(100,200+a*i);//linea cuadro atras//linea cuadro atrasglVertex2i(150,250+a*i);glVertex2i(250,250+a*i);//linea derecha atrasglVertex2i(250,250+a*i);glVertex2i(250,150+a*i); Página 83
  84. 84. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//linea abajo derecha diagonalglVertex2i(200,100+a*i);glVertex2i(250,150+a*i);//linea arriva derecha diagonalglVertex2i(200,200+a*i);glVertex2i(250,250+a*i);glEnd();}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////for(i=0;i<=9;i++){glColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(1200,1100);glVertex2i(1200,1200);//arriva Página 84
  85. 85. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1250,1250);//derechaglVertex2i(1250,1150);glEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100-a*i,1100);glVertex2i(1100-a*i,1200);//arrivaglVertex2i(1200-a*i,1200);//derechaglVertex2i(1200-a*i,1100);//abajoglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8); Página 85
  86. 86. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100-a*i,1200);glVertex2i(1150-a*i,1250);//arrivaglVertex2i(1250-a*i,1250);//derechaglVertex2i(1200-a*i,1200);//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(1100-a*i,1100);glVertex2i(1100-a*i,1200);//arrivaglVertex2i(1100-a*i,1200);glVertex2i(1200-a*i,1200);//derechaglVertex2i(1200-a*i,1200); Página 86
  87. 87. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1200-a*i,1100);//abajoglVertex2i(1200-a*i,1100);glVertex2i(1100-a*i,1100);//diagonal derecha esquina arrivaglVertex2i(1150-a*i,1250);glVertex2i(1100-a*i,1200);//linea cuadro atras//linea cuadro atrasglVertex2i(1150-a*i,1250);glVertex2i(1250-a*i,1250);//linea derecha atrasglVertex2i(1250,1250);glVertex2i(1250,1150);//linea abajo derecha diagonalglVertex2i(1200,1100);glVertex2i(1250,1150);//linea arriva derecha diagonalglVertex2i(1200-a*i,1200);glVertex2i(1250-a*i,1250); Página 87
  88. 88. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////for(i=0;i<=9;i++){glColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(1200,100);glVertex2i(1200,200);//arrivaglVertex2i(1250,250);//derechaglVertex2i(1250,150); Página 88
  89. 89. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100-a*i,100);glVertex2i(1100-a*i,200);//arrivaglVertex2i(1200-a*i,200);//derechaglVertex2i(1200-a*i,100);//abajoglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100-a*i,200); Página 89
  90. 90. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1150-a*i,250);//arrivaglVertex2i(1250-a*i,250);//derechaglVertex2i(1200-a*i,200);//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES);//cuadro//izquierdaglVertex2i(1100-a*i,100);glVertex2i(1100-a*i,200);//arrivaglVertex2i(1100-a*i,200);glVertex2i(1200-a*i,200);//derechaglVertex2i(1200-a*i,200);glVertex2i(1200-a*i,100);//abajoglVertex2i(1200-a*i,100);glVertex2i(1100-a*i,100);//diagonal derecha esquina arriva Página 90
  91. 91. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1150-a*i,250);glVertex2i(1100-a*i,200);//linea cuadro atras//linea cuadro atrasglVertex2i(1150-a*i,250);glVertex2i(1250-a*i,250);//linea derecha atrasglVertex2i(1250,250);glVertex2i(1250,150);//linea abajo derecha diagonalglVertex2i(1200,100);glVertex2i(1250,150);//linea arriva derecha diagonalglVertex2i(1200-a*i,200);glVertex2i(1250-a*i,250);glEnd();}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////for(i=0;i<=10;i++){ Página 91
  92. 92. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglColor3f(1.0 ,0.8 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//izquierdaglVertex2i(1200,100+a*i);glVertex2i(1200,200+a*i);//arrivaglVertex2i(1250,250+a*i);//derechaglVertex2i(1250,150+a*i);glEnd();glColor3f(0.0 ,0.8 ,1.0 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100,100+a*i);glVertex2i(1100,200+a*i);//arriva Página 92
  93. 93. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(1200,200+a*i);//derechaglVertex2i(1200,100+a*i);//abajoglEnd();glColor3f(0.0 ,1.0 ,0.5 );glLineWidth(8);glBegin(GL_QUADS);//cuadro//izquierdaglVertex2i(1100,200+a*i);glVertex2i(1150,250+a*i);//arrivaglVertex2i(1250,250+a*i);//derechaglVertex2i(1200,200+a*i);//abajoglEnd();//cuadroglColor3f(0.0 ,0.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES); Página 93
  94. 94. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//cuadro//izquierdaglVertex2i(1100,100+a*i);glVertex2i(1100,200+a*i);//arrivaglVertex2i(1100,200+a*i);glVertex2i(1200,200+a*i);//derechaglVertex2i(1200,200+a*i);glVertex2i(1200,100+a*i);//abajoglVertex2i(1200,100+a*i);glVertex2i(1100,100+a*i);//diagonal derecha esquina arrivaglVertex2i(1150,250+a*i);glVertex2i(1100,200+a*i);//linea cuadro atras//linea cuadro atrasglVertex2i(1150,250+a*i);glVertex2i(1250,250+a*i);//linea derecha atrasglVertex2i(1250,250+a*i);glVertex2i(1250,150+a*i); Página 94
  95. 95. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO//linea abajo derecha diagonalglVertex2i(1200,100+a*i);glVertex2i(1250,150+a*i);//linea arriva derecha diagonalglVertex2i(1200,200+a*i);glVertex2i(1250,250+a*i);glEnd();}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUT Página 95
  96. 96. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("cubo3d"); //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} Página 96
  97. 97. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Muñeco con formas En esta actividad realizaremos un muñeco con laque ya hemos aprendido pero ahora más detallado Borrador con coordenadas utilizadas: glBegin(GL_POINTS); glBegin(GL_TRIANGLE_FAN); glBegin(GL_QUADS); glBegin(GL_POLYGON); glBegin(GL_TRIANGLES); glBegin(GL_LINES); 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 Página 97
  98. 98. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 800.0, 0.0, 800.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(); Página 98
  99. 99. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT);//brazo derechoglColor3f(1.0 , 0.8 , 0.7);glBegin(GL_QUADS);glVertex2i(510,395);glVertex2i(580,340);glVertex2i(620,340);glVertex2i(540,400);glEnd();//brazo izquierdoglColor3f(1.0 , 0.8 , 0.7);glBegin(GL_QUADS);glVertex2i(190,395);glVertex2i(140,340);glVertex2i(100,340);glVertex2i(250,480);glEnd();//cuerpo pechoglColor3f(1.0 , 0.0 , 0.0);glBegin(GL_QUADS);glVertex2i(250,480);glVertex2i(250,300); Página 99
  100. 100. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(450,300);glVertex2i(450,480);//manos derechaglVertex2i(450,420);glVertex2i(500,390);glVertex2i(560,400);glVertex2i(450,480);//mano izquierdaglVertex2i(250,420);glVertex2i(200,390);glVertex2i(150,400);glVertex2i(250,480);glEnd();//cabeza con cuelloglColor3f(1.0 , 0.8 , 0.7);glBegin(GL_POLYGON);glVertex2i(330,520);glVertex2i(330,470);glVertex2i(350,440);glVertex2i(370,470);glVertex2i(370,520);glEnd();circulo(350,600,100);circulo(350,560,30);//pantalon Página 100
  101. 101. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglColor3f(0.0 , 1.0 , 0.0);glBegin(GL_POLYGON);glVertex2i(250,300);glVertex2i(220,100);glVertex2i(280,70);glVertex2i(420,300);glVertex2i(410,70);glVertex2i(470,100);glVertex2i(450,300);glEnd();glColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);//Pie izquierdoglVertex2i(220,100);glVertex2i(280,70);glVertex2i(140,70);glEnd();//Pie derechoglColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(470,100);glVertex2i(410,70);glVertex2i(560,70);glEnd();//ojosglColor3f(1.0 , 1.0 , 1.0); Página 101
  102. 102. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOcirculo(300,600,20);circulo(400,600,20);circulo(350,550,30);glColor3f(0.0 , 0.0 , 0.0);circulo(300,600,10);circulo(400,600,10);glColor3f(1.0 , 0.8 , 0.7);circulo(350,560,30);//narizglColor3f(0.0 , 0.0 , 0.0);glBegin(GL_LINES);glVertex2i(350,580);glVertex2i(370,560);glVertex2i(370,560);glVertex2i(350,560);glEnd();//cabellocirculo(350,690,40);circulo(310,690,40);circulo(380,690,40);circulo(430,670,40);circulo(280,670,40);circulo(250,630,35);circulo(450,630,35);glColor3f(1.0 , 0.8 , 0.7); Página 102
  103. 103. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOcirculo(595,330,35);circulo(110,330,35);glFlush(); //forza dibujo}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(700,700); //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ónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} Página 103
  104. 104. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Página 104
  105. 105. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Sistema solar En este ejercicio tenemos que hacer un sistema solar con el sol y sus planetas girando alrededor de este. Borrador con coordenadas utilizadas glBegin(GL_POINTS); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);} glEnd(); glBegin(GL_TRIANGLE_FAN); Código#include <unistd.h>w#include <GL/glut.h>#include <GL/gl.h>#include <math.h>int rad=500;double ang=0,a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;void inicializa(void){ Página 105
  106. 106. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglClearColor(0.0,0.0,0.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 1800.0, 0.0, 1800.0);// el ancho y largo de nuestra pantalla}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); glVertex2f(x,y); Página 106
  107. 107. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO for (angulo=0;angulo<=360; angulo++){ 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( 900,900,60); //funcion circuloglColor3f(0.0,0.0,1.0);circulo( 900+ sin(ang) * 120,900 + cos(ang) * 120,5);circuloc(900,900,1,120);glColor3f(0.0,1.0,0.1);circulo( 900+ sin(a) * 250,900 + cos(a) * 250,10);circuloc(900,900,2,250);glColor3f(0.4,0.0,1.0);circulo( 900+ sin(b) * 350,900 + cos(b) * 350,15);circuloc(900,900,2,350); Página 107
  108. 108. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglColor3f(3.0,5.0,1.0);circulo( 900+ sin(c) * 450,900 + cos(c) * 450,20);circuloc(900,900,2,450);glColor3f(0.1,3.0,1.0);circulo( 900+ sin(d) * 550,900 + cos(d) * 550,25);circuloc(900,900,2,550);glColor3f(0.2,0.0,1.0);circulo( 900+ sin(e) * 680,900 + cos(e) * 680,30);circuloc(900,900,2,680);glColor3f(1.0,0.0,0.0);circulo( 900+ sin(f) * 800,900 + cos(f) * 800,35);circuloc(900,900,2,800);glColor3f(0.0,1.0,0.0);circulo( 900+ sin(i) * 890,900 + cos(i) * 890,40);circuloc(900,900,2,890); Página 108
  109. 109. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOa=a+0.09;b=b+0.08;c=c+0.07;d=d+0.06;e=e+0.05;f=f+0.04;g=g+0.03;h=h+0.02;i=i+0.03;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 dibujadoglutSwapBuffers(); //y esto}int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//estotambienglutInitWindowSize(1000,1000);glutInitWindowPosition(10,10); Página 109
  110. 110. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglutCreateWindow("Ventana");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo que cambiaglutMainLoop();return 0;} Página 110
  111. 111. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Movimiento en 8 En esta actividad tenemos que hacer como una pista de carreras en donde salga un circulo moviéndose por todo el ocho son salirse se la línea limite. Borrador con coordenadas utilizadas: glBegin(GL_TRIANGLE_FAN); for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);} Código#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.8,0.5,0.3,1.0);glMatrixMode(GL_PROJECTION);glLoadIdentity(); Página 111
  112. 112. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOgluOrtho2D(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.0, 0.5, 0.1);circulo(310, 310, 80);circulo(310,190,80);glColor3f(1.0,0.0,0.0);circulo(310,310,40);circulo(310,190,40);glColor3f(0.0,0.0,1.0);if(a>=6.15 && a<=12.41){circulo(300+ sin (a)*60,300- cos(a)*60,10);a=a+0.01;}else{circulo(300 + sin (b) *60,180-cos(b)*-60,10); Página 112
  113. 113. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOb=b + 0.25;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(); Página 113
  114. 114. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return 0;} Página 114
  115. 115. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Semáforo En esta práctica lo que tenemos que hacer es un semáforo que cambie de color como si fuera un semáforo real de verde, amarillo y rojo y asi sucesivamente. Borrador con coordenadas utilizadas; glBegin(GL_TRIANGLE_FAN); for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);} glBegin(GL_QUADS); Código#include <unistd.h>#include <GL/glut.h>#include <GL/gl.h>#include <math.h>int x=1,z=1,w=1, y=1;void inicializa(void){glClearColor(0.0,0.0,0.0,0.0);glMatrixMode(GL_PROJECTION); Página 115
  116. 116. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglLoadIdentity();gluOrtho2D(0.0, 1800.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); 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.0,0.0,0.0);if(x>=1 && x<800){circulo(100+1*x,700,20);glFlush();x++;}glColor3f(.0,0.0,0.0);if(y>=1 && y<600 && x==800){circulo(900,700-y,20);glFlush(); Página 116
  117. 117. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOy++;}glColor3f(.0,0.0,0.0);if(w>=1 && w<800 && y==600 && x==800){circulo(900-w,100,20);glFlush();w++;}glColor3f(.0,0.0,0.0);if(z>=1 && z<600 && y==600 && x==800 && w==800){circulo(100,100+z,20);glFlush();z++;if(z==600) {z=1;x=1;y=1;w=1;}} glColor3f(1.0,0.0,1.0);glBegin(GL_QUADS);glVertex2i(690,690);glVertex2i(690,250);glVertex2i(1000,250);glVertex2i(1000,690);glEnd();glBegin(GL_QUADS);glVertex2i(800,290); Página 117
  118. 118. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOglVertex2i(800,0);glVertex2i(900,0);glVertex2i(900,290);glEnd();glFlush();glColor3f(0.0,0.0,0.0);circulo(850,600,50);glColor3f(0.0,0.0,0.0);circulo(850,480,50);circulo(850,350,50);glColor3f(1.0,0.0,0.0);if(x>=1 && x<800){circulo(850,600,50);glFlush();x++;}glColor3f(1.0,1.0,0.0);if(y>=1 && y<600 && x==800){circulo(850,480,50);glFlush();y++; Página 118
  119. 119. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO}glColor3f(0.0,1.0,0.0);if(w>=1 && w<800 && y==600 && x==800){circulo(850,350,50);glFlush();w++;}glColor3f(0.0,1.0,0.0);if(z>=1 && z<600 && y==600 && x==800 && w==800){circulo(950,450,60);glFlush();z++;{z=1;x=1;y=1;w=1;}}glutSwapBuffers();}int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);glutInitWindowSize(1200,600);glutInitWindowPosition(10,10);glutCreateWindow("Ventana"); Página 119
  120. 120. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCOinicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return 0;} Página 120

×