SlideShare una empresa de Scribd logo
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                ESTADO DE MEXCO

UTILIZACION DE SOFTWARE DE
          DISEÑO
       MANUAL DE OPEN GL


 PROFESOR: RENE DOMINGUEZ ESCALONA


ALUMNOS: EDUARDO TAPIA HERNANDEZ Y
    CESAR RAFAEL ESCOBAR SANCHEZ


                  GRUPO: 303


             TURNO: MATUTINO


       ESPECIALIDAD: INFORMATICA




                     Página 1
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 movimiento
Este 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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO




                         Tablero de ajedrez
En 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 8
cuadrados x 8 cuadrados así que tenemos que ser
 muy precisos con nuestras coordenadas y poner
un 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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glClearColor(0.0,0.0,1.0,0.0); //color de fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 1050.0, 0.0, 1000.0);    //vista ortogonal

}



void dibuja(void)              //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);               //borra pantalla

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

{

glutInit(&argc, argv);                //incializa GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);            //establece el modo de
visualización

glutInitWindowSize(500,500);           //tamaño de la ventana

glutInitWindowPosition(0,0);       //posicion inicial de la ventana

glutCreateWindow("MI primer ventana");           //nombre de la ventana

inicializa();

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

glutMainLoop();                   //muestra todo y espera

return 0;                      //retorna un valor de cero

}




                                        Página 7
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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);    //vista ortogonal

}



void dibuja(void)              //funcion dibuja

{




                                         Página 8
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glClear(GL_COLOR_BUFFER_BIT);                   //borra pantalla

glColor3f(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 GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                //establece el modo de
visualización

glutInitWindowSize(500,500);               //tamaño de la ventana

glutInitWindowPosition(0,0);           //posicion inicial de la ventana

glutCreateWindow("MI primer ventana");                //nombre de la ventana



                                            Página 9
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

inicializa();

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

glutMainLoop();               //muestra todo y espera

return 0;                  //retorna un valor de cero

}




                                    Página
                                    10
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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);    //vista ortogonal


                                         Página
                                         11
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

}



void dibuja(void)             //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);              //borra pantalla

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO




glVertex2i(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 GLUT



glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                //establece el modo de

visualización

glutInitWindowSize(500,500);               //tamaño de la ventana




glutInitWindowPosition(0,0);           //posicion inicial de la ventana

glutCreateWindow("MI primer ventana");               //nombre de la ventana

inicializa();


                                            Página
                                            13
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

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

glutMainLoop();               //muestra todo y espera

return 0;                  //retorna un valor de cero

}




                                    Página
                                    14
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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);    //vista ortogonal

}




                                         Página
                                         15
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


void dibuja(void)                 //funcion dibuja

{

int i,a=25;

glClear(GL_COLOR_BUFFER_BIT);                    //borra pantalla

glColor3f(1.0 , 1.0 , 1.0);

glLineWidth(2);

glBegin(GL_LINES);

//valor inicial ---- valor final o condicion ---- incremento

for(i=1;i<=11;i++){

//abajo

glVertex2i (250-a*i,250-a*i);

glVertex2i (270+a*i,250-a*i);

//derecha

glVertex2i (270+a*i,250-a*i);

glVertex2i (270+a*i,270+a*i);

//izquierda

glVertex2i (250-a*i,250-a*i);

glVertex2i (250-a*i,270+a*i);

//arriba

glVertex2i (250-a*i,270+a*i);

glVertex2i (270+a*i,270+a*i);

}

glEnd();

glFlush();                      //forza dibujo

}


                                             Página
                                             16
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO




int main (int argc, char** argv)       //metodo main

{

glutInit(&argc, argv);                    //incializa GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                //establece el modo de
visualización

glutInitWindowSize(400,400);               //tamaño de la ventana

glutInitWindowPosition(0,0);           //posicion inicial de la ventana

glutCreateWindow("Cuadros");               //nombre de la ventana

inicializa();



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

glutMainLoop();                       //muestra todo y espera

return 0;                          //retorna un valor de cero

}




                                            Página
                                            17
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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);    //vista ortogonal



                                         Página
                                         18
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

}



void dibuja(void)             //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);              //borra pantalla




glBegin(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                   ESTADO DE MEXCO

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);

glVertex2i(300,400);

glVertex2i(300,600);

glVertex2i(200,500);

glVertex2i(400,500);

glVertex2i(500,600);


                        Página
                        20
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glEnd();

glFlush();                     //forza dibujo

}

int main (int argc, char** argv)       //metodo main

{

glutInit(&argc, argv);                    //incializa GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                //establece el modo de
visualización

glutInitWindowSize(500,500);               //tamaño de la ventana

glutInitWindowPosition(0,0);           //posicion inicial de la ventana

glutCreateWindow("MI primer ventana");               //nombre de la ventana

inicializa();

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

glutMainLoop();                       //muestra todo y espera

return 0;                          //retorna un valor de cero

}




                                            Página
                                            21
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO



                         Muñeco con triángulos
   Esta vez haremos un muñeco en forma de
humano 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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);    //vista ortogonal



                                         Página
                                         22
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

}



void dibuja(void)             //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);              //borra pantalla

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(865,540);

glEnd();

glFlush();                     //forza dibujo

}

int main (int argc, char** argv)       //metodo main

{

glutInit(&argc, argv);                    //incializa GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                //establece el modo de
visualización

glutInitWindowSize(500,500);               //tamaño de la ventana

glutInitWindowPosition(0,0);           //posicion inicial de la ventana

glutCreateWindow("MI primer ventana");               //nombre de la ventana

inicializa();

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

glutMainLoop();                       //muestra todo y espera

return 0;                          //retorna un valor de cero

}




                                            Página
                                            29
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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 1000.0,0.0, 1000.0);     //vista ortogonal


                                         Página
                                         30
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

}



void dibuja(void)             //funcion dibuja

{



glClear(GL_COLOR_BUFFER_BIT);              //borra pantalla

glColor3f(0.0 , 0.0 , 0.0);

//carretera

glBegin(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(900,100);

glVertex2i(980,100);

glVertex2i(1000,100);

glEnd();

//pasto

glColor3f(0.0 , 1.0 , 0.0);

glBegin(GL_QUADS);

glVertex2i(0,500);

glVertex2i(0,200);

glVertex2i(1000,200);

glVertex2i(1000,500);

glEnd();



//linea amarilla

glColor3f(1.0 , 1.0 , 0.0);

glLineWidth(8);

glBegin(GL_LINES);

glVertex2i(0,200);

glVertex2i(1000,200);

glEnd();

//banqueta

glColor3f(0.5 , 0.5 , 0.5);

glLineWidth(50);

glBegin(GL_QUADS);

glVertex2i(0,208);

glVertex2i(0,300);


                              Página
                              32
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(150,430);

glVertex2i(100,430);

glVertex2i(100,400);

glEnd();

//serca

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glEnd();

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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glBegin(GL_LINES);

glVertex2i(0,520);

glVertex2i(1000,520);

glEnd();

//casa

glColor3f(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 casa

glColor3f(1.0 , 0.0 , 0.0);

glBegin(GL_POLYGON);

glVertex2i(300,820);


                              Página
                              37
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(240,750);

glVertex2i(760,750);

glVertex2i(700,820);

glEnd();

//triangulo techo casa

glColor3f(0.7 , 0.2 , 0.2);

glBegin(GL_TRIANGLES);

glVertex2i(600,720);

glVertex2i(500,800);

glVertex2i(400,720);

glEnd();

//puerta casa

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glBegin(GL_POINTS);

glVertex2i(464,505);

glEnd();

//ventanas casa

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                   ESTADO DE MEXCO

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(635,680);

glVertex2i(635,660);

glEnd();

//balcon casa

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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();

//cochera

glColor3f(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 cochera

glColor3f(1.0 , 0.0 , 0.0);


                              Página
                              43
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glBegin(GL_POLYGON);

glVertex2i(90,660);

glVertex2i(60,600);

glVertex2i(300,600);

glVertex2i(300,660);

glEnd();

//pinos

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

}



int main (int argc, char** argv)      //metodo main

{

glutInit(&argc, argv);                    //incializa GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                //establece el modo de
visualización

glutInitWindowSize(500,500);               //tamaño de la ventana

glutInitWindowPosition(0,0);           //posicion inicial de la ventana

glutCreateWindow("MI primer ventana");               //nombre de la ventana

inicializa();

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

glutMainLoop();                       //muestra todo y espera

return 0;                          //retorna un valor de cero

}




                                            Página
                                            45
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 fondo

glMatrixMode(GL_PROJECTION);                      //Modo de proyeccion

glLoadIdentity();                    //Establece los parametros de proyeccion

gluOrtho2D(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
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 pantalla

glColor3f(1.0,0.0,0.0);

circuloc(250,250,5,150);

circuloc(150,100,5,50);




                                              Página
                                              47
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

circuloc(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


glColor3f(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 GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                 //establece el modo de
visualización

glutInitWindowSize(500,500);               //tamaño de la ventana

glutInitWindowPosition(100,100);               //posicion inicial de la ventana

glutCreateWindow("Ventana");              //nombre de la ventana

inicializa();

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

glutMainLoop();                       //muestra todo y espera

return 0;                          //retorna un valor de cero

}



                                            Página
                                            49
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                ESTADO DE MEXCO




                     Página
                     50
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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

gluOrtho2D(0.0, 2000.0, 0.0, 2000.0);    //vista ortogonal


                                         Página
                                         51
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);




//izquierda

glVertex2i(700,600+a*i);

glVertex2i(700,700+a*i);



//arriva

glVertex2i(750,750+a*i);

//derecha


                                                                 Página
                                                                 52
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(750,650+a*i);




glEnd();

glColor3f(0.0 ,0.8 ,6.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(600,600+a*i);

glVertex2i(600,700+a*i);

//arriva

glVertex2i(700,700+a*i);

//derecha

glVertex2i(700,600+a*i);

//abajo




glEnd();

glColor3f(0.0 ,6.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);




                             Página
                             53
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//cuadro

//izquierda

glVertex2i(600,700+a*i);

glVertex2i(650,750+a*i);

//arriva

glVertex2i(750,750+a*i);

//derecha

glVertex2i(700,700+a*i);

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,6.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(600,600+a*i);

glVertex2i(600,700+a*i);

//arriva

glVertex2i(600,700+a*i);

glVertex2i(700,700+a*i);

//derecha

glVertex2i(700,700+a*i);

glVertex2i(700,600+a*i);

//abajo


                             Página
                             54
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(700,600+a*i);

glVertex2i(600,600+a*i);

//diagonal derecha esquina arriva

glVertex2i(650,750+a*i);

glVertex2i(600,700+a*i);

//linea cuadro atras

//linea cuadro atras

glVertex2i(650,750+a*i);

glVertex2i(750,750+a*i);

//linea derecha atras

glVertex2i(750,750+a*i);

glVertex2i(750,650+a*i);



//linea abajo derecha diagonal

glVertex2i(700,600+a*i);

glVertex2i(750,650+a*i);

//linea arriva derecha diagonal

glVertex2i(700,700+a*i);

glVertex2i(750,750+a*i);




glEnd();

}




                                    Página
                                    55
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);



//izquierda

glVertex2i(1700,1600);

glVertex2i(1700,1700);



//arriva

glVertex2i(1750,1750);

//derecha

glVertex2i(1750,1650);




glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro


                                                                 Página
                                                                 56
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//izquierda

glVertex2i(1600-a*i,1600);

glVertex2i(1600-a*i,1700);

//arriva

glVertex2i(1700-a*i,1700);

//derecha

glVertex2i(1700-a*i,1600);

//abajo




glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1600-a*i,1700);

glVertex2i(1650-a*i,1750);

//arriva

glVertex2i(1750-a*i,1750);

//derecha

glVertex2i(1700-a*i,1700);

//abajo

glEnd();


                             Página
                             57
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(1600-a*i,1600);

glVertex2i(1600-a*i,1700);

//arriva

glVertex2i(1600-a*i,1700);

glVertex2i(1700-a*i,1700);

//derecha

glVertex2i(1700-a*i,1700);

glVertex2i(1700-a*i,1600);

//abajo

glVertex2i(1700-a*i,1600);

glVertex2i(1600-a*i,1600);

//diagonal derecha esquina arriva

glVertex2i(1650-a*i,1750);

glVertex2i(1600-a*i,1700);

//linea cuadro atras

//linea cuadro atras

glVertex2i(1650-a*i,1750);

glVertex2i(1750-a*i,1750);

//linea derecha atras


                                    Página
                                    58
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO


glVertex2i(1750,1750);

glVertex2i(1750,1650);



//linea abajo derecha diagonal



glVertex2i(1700,1600);

glVertex2i(1750,1650);

//linea arriva derecha diagonal



glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//izquierda

glVertex2i(1700,600);

glVertex2i(1700,700);



//arriva

glVertex2i(1750,750);

//derecha

glVertex2i(1750,650);




glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1600-a*i,600);

glVertex2i(1600-a*i,700);

//arriva

glVertex2i(1700-a*i,700);

//derecha

glVertex2i(1700-a*i,600);

//abajo




                             Página
                             60
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1600-a*i,700);

glVertex2i(1650-a*i,750);

//arriva

glVertex2i(1750-a*i,750);

//derecha

glVertex2i(1700-a*i,700);

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(1600-a*i,600);

glVertex2i(1600-a*i,700);


                             Página
                             61
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//arriva

glVertex2i(1600-a*i,700);

glVertex2i(1700-a*i,700);

//derecha

glVertex2i(1700-a*i,700);

glVertex2i(1700-a*i,600);

//abajo

glVertex2i(1700-a*i,600);

glVertex2i(1600-a*i,600);

//diagonal derecha esquina arriva

glVertex2i(1650-a*i,750);

glVertex2i(1600-a*i,700);

//linea cuadro atras

//linea cuadro atras

glVertex2i(1650-a*i,750);

glVertex2i(1750-a*i,750);

//linea derecha atras



glVertex2i(1750,750);

glVertex2i(1750,650);



//linea abajo derecha diagonal



glVertex2i(1700,600);

glVertex2i(1750,650);

//linea arriva derecha diagonal


                                    Página
                                    62
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO


glVertex2i(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);




//izquierda

glVertex2i(1700,600+a*i);

glVertex2i(1700,700+a*i);



//arriva

glVertex2i(1750,750+a*i);

//derecha

glVertex2i(1750,650+a*i);




                                                                 Página
                                                                 63
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO




glEnd();

glColor3f(0.0 ,0.8 ,6.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1600,600+a*i);

glVertex2i(1600,700+a*i);

//arriva

glVertex2i(1700,700+a*i);

//derecha

glVertex2i(1700,600+a*i);

//abajo




glEnd();

glColor3f(0.0 ,6.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda


                             Página
                             64
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(1600,700+a*i);

glVertex2i(1650,750+a*i);

//arriva

glVertex2i(1750,750+a*i);

//derecha

glVertex2i(1700,700+a*i);

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,6.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(1600,600+a*i);

glVertex2i(1600,700+a*i);

//arriva

glVertex2i(1600,700+a*i);

glVertex2i(1700,700+a*i);

//derecha

glVertex2i(1700,700+a*i);

glVertex2i(1700,600+a*i);

//abajo

glVertex2i(1700,600+a*i);

glVertex2i(1600,600+a*i);


                             Página
                             65
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

//diagonal derecha esquina arriva

glVertex2i(1650,750+a*i);

glVertex2i(1600,700+a*i);

//linea cuadro atras

//linea cuadro atras

glVertex2i(1650,750+a*i);

glVertex2i(1750,750+a*i);

//linea derecha atras

glVertex2i(1750,750+a*i);

glVertex2i(1750,650+a*i);



//linea abajo derecha diagonal

glVertex2i(1700,600+a*i);

glVertex2i(1750,650+a*i);

//linea arriva derecha diagonal

glVertex2i(1700,700+a*i);

glVertex2i(1750,750+a*i);




glEnd();

}




//////////////////////////////////////////////////////////////////////

for(i=0;i<=9;i++){


                                                                 Página
                                                                 66
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glColor3f(1.0 ,0.8 ,0.5 );

glLineWidth(8);

glBegin(GL_QUADS);




//izquierda

glVertex2i(200+(50*i),100+(50*i));

glVertex2i(200+(50*i),200+(50*i));



//arriva

glVertex2i(250+(50*i),250+(50*i));

//derecha

glVertex2i(250+(50*i),150+(50*i));




glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(100,100);

glVertex2i(100,200);

//arriva


                                     Página
                                     67
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(200,200);

//derecha

glVertex2i(200,100);

//abajo




glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(100+(50*i),200+(50*i));

glVertex2i(150+(50*i),250+(50*i));

//arriva

glVertex2i(250+(50*i),250+(50*i));

//derecha

glVertex2i(200+(50*i),200+(50*i));

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);

glBegin(GL_LINES);


                                     Página
                                     68
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


//cuadro

//izquierda

glVertex2i(100,100);

glVertex2i(100,200);

//arriva

glVertex2i(100+(50*i),200+(50*i));

glVertex2i(200+(50*i),200+(50*i));

//derecha

glVertex2i(200+(50*i),200+(50*i));

glVertex2i(200+(50*i),100+(50*i));

//abajo

glVertex2i(200,100);

glVertex2i(100,100);

//diagonal derecha esquina arriva

glVertex2i(150+(50*i),250+(50*i));

glVertex2i(100+(50*i),200+(50*i));

//linea cuadro atras

//linea cuadro atras

glVertex2i(150+(50*i),250+(50*i));

glVertex2i(250+(50*i),250+(50*i));

//linea derecha atras

glVertex2i(250+(50*i),250+(50*i));

glVertex2i(250+(50*i),150+(50*i));



//linea abajo derecha diagonal


                                     Página
                                     69
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

glVertex2i(200+(50*i),100+(50*i));

glVertex2i(250+(50*i),150+(50*i));

//linea arriva derecha diagonal

glVertex2i(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);




//izquierda

glVertex2i(1200+(50*i),100+(50*i));

glVertex2i(1200+(50*i),200+(50*i));



//arriva

glVertex2i(1250+(50*i),250+(50*i));

//derecha

glVertex2i(1250+(50*i),150+(50*i));




                                                          Página
                                                          70
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO




glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100,100);

glVertex2i(1100,200);

//arriva

glVertex2i(1200,200);

//derecha

glVertex2i(1200,100);

//abajo




glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda


                             Página
                             71
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(1100+(50*i),200+(50*i));

glVertex2i(1150+(50*i),250+(50*i));

//arriva

glVertex2i(1250+(50*i),250+(50*i));

//derecha

glVertex2i(1200+(50*i),200+(50*i));

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(1100,100);

glVertex2i(1100,200);

//arriva

glVertex2i(1100+(50*i),200+(50*i));

glVertex2i(1200+(50*i),200+(50*i));

//derecha

glVertex2i(1200+(50*i),200+(50*i));

glVertex2i(1200+(50*i),100+(50*i));

//abajo

glVertex2i(1200,100);

glVertex2i(1100,100);


                                      Página
                                      72
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

//diagonal derecha esquina arriva

glVertex2i(1150+(50*i),250+(50*i));

glVertex2i(1100+(50*i),200+(50*i));

//linea cuadro atras

//linea cuadro atras

glVertex2i(1150+(50*i),250+(50*i));

glVertex2i(1250+(50*i),250+(50*i));

//linea derecha atras

glVertex2i(1250+(50*i),250+(50*i));

glVertex2i(1250+(50*i),150+(50*i));



//linea abajo derecha diagonal

glVertex2i(1200+(50*i),100+(50*i));

glVertex2i(1250+(50*i),150+(50*i));

//linea arriva derecha diagonal

glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glLineWidth(8);

glBegin(GL_QUADS);




//izquierda

glVertex2i(200+(50*i),1100+(50*i));

glVertex2i(200+(50*i),1200+(50*i));



//arriva

glVertex2i(250+(50*i),1250+(50*i));

//derecha

glVertex2i(250+(50*i),1150+(50*i));




glEnd();

glColor3f(0.0 ,0.8 ,11.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(100,1100);

glVertex2i(100,1200);

//arriva

glVertex2i(200,1200);


                                      Página
                                      74
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//derecha

glVertex2i(200,1100);

//abajo




glEnd();

glColor3f(0.0 ,11.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(100+(50*i),1200+(50*i));

glVertex2i(150+(50*i),1250+(50*i));

//arriva

glVertex2i(250+(50*i),1250+(50*i));

//derecha

glVertex2i(200+(50*i),1200+(50*i));

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,11.0 );

glLineWidth(4);

glBegin(GL_LINES);




                                      Página
                                      75
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//cuadro

//izquierda

glVertex2i(100,1100);

glVertex2i(100,1200);

//arriva

glVertex2i(100+(50*i),1200+(50*i));

glVertex2i(200+(50*i),1200+(50*i));

//derecha

glVertex2i(200+(50*i),1200+(50*i));

glVertex2i(200+(50*i),1100+(50*i));

//abajo

glVertex2i(200,1100);

glVertex2i(100,1100);

//diagonal derecha esquina arriva

glVertex2i(150+(50*i),1250+(50*i));

glVertex2i(100+(50*i),1200+(50*i));

//linea cuadro atras

//linea cuadro atras

glVertex2i(150+(50*i),1250+(50*i));

glVertex2i(250+(50*i),1250+(50*i));

//linea derecha atras

glVertex2i(250+(50*i),1250+(50*i));

glVertex2i(250+(50*i),1150+(50*i));



//linea abajo derecha diagonal

glVertex2i(200+(50*i),1100+(50*i));


                                      Página
                                      76
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

glVertex2i(250+(50*i),1150+(50*i));

//linea arriva derecha diagonal

glVertex2i(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);




//izquierda

glVertex2i(1200+(50*i),1100+(50*i));

glVertex2i(1200+(50*i),1200+(50*i));



//arriva

glVertex2i(1250+(50*i),1250+(50*i));

//derecha

glVertex2i(1250+(50*i),1150+(50*i));




                                                               Página
                                                               77
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


glEnd();

glColor3f(0.0 ,0.8 ,11.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100,1100);

glVertex2i(1100,1200);

//arriva

glVertex2i(1200,1200);

//derecha

glVertex2i(1200,1100);

//abajo




glEnd();

glColor3f(0.0 ,11.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100+(50*i),1200+(50*i));


                                       Página
                                       78
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(1150+(50*i),1250+(50*i));

//arriva

glVertex2i(1250+(50*i),1250+(50*i));

//derecha

glVertex2i(1200+(50*i),1200+(50*i));

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,11.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(1100,1100);

glVertex2i(1100,1200);

//arriva

glVertex2i(1100+(50*i),1200+(50*i));

glVertex2i(1200+(50*i),1200+(50*i));

//derecha

glVertex2i(1200+(50*i),1200+(50*i));

glVertex2i(1200+(50*i),1100+(50*i));

//abajo

glVertex2i(1200,1100);

glVertex2i(1100,1100);

//diagonal derecha esquina arriva


                                       Página
                                       79
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

glVertex2i(1150+(50*i),1250+(50*i));

glVertex2i(1100+(50*i),1200+(50*i));

//linea cuadro atras

//linea cuadro atras

glVertex2i(1150+(50*i),1250+(50*i));

glVertex2i(1250+(50*i),1250+(50*i));

//linea derecha atras

glVertex2i(1250+(50*i),1250+(50*i));

glVertex2i(1250+(50*i),1150+(50*i));



//linea abajo derecha diagonal

glVertex2i(1200+(50*i),1100+(50*i));

glVertex2i(1250+(50*i),1150+(50*i));

//linea arriva derecha diagonal

glVertex2i(1200+(50*i),1200+(50*i));

glVertex2i(1250+(50*i),1250+(50*i));




glEnd();

}




//////////////////////////////////////////////////////////////////////


                                                                 Página
                                                                 80
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);




//izquierda

glVertex2i(200,100+a*i);

glVertex2i(200,200+a*i);



//arriva

glVertex2i(250,250+a*i);

//derecha

glVertex2i(250,150+a*i);




glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(100,100+a*i);

glVertex2i(100,200+a*i);


                             Página
                             81
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

//arriva

glVertex2i(200,200+a*i);

//derecha

glVertex2i(200,100+a*i);

//abajo




glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(100,200+a*i);

glVertex2i(150,250+a*i);

//arriva

glVertex2i(250,250+a*i);

//derecha

glVertex2i(200,200+a*i);

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);


                             Página
                             82
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(100,100+a*i);

glVertex2i(100,200+a*i);

//arriva

glVertex2i(100,200+a*i);

glVertex2i(200,200+a*i);

//derecha

glVertex2i(200,200+a*i);

glVertex2i(200,100+a*i);

//abajo

glVertex2i(200,100+a*i);

glVertex2i(100,100+a*i);

//diagonal derecha esquina arriva

glVertex2i(150,250+a*i);

glVertex2i(100,200+a*i);

//linea cuadro atras

//linea cuadro atras

glVertex2i(150,250+a*i);

glVertex2i(250,250+a*i);

//linea derecha atras

glVertex2i(250,250+a*i);

glVertex2i(250,150+a*i);




                                    Página
                                    83
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

//linea abajo derecha diagonal

glVertex2i(200,100+a*i);

glVertex2i(250,150+a*i);

//linea arriva derecha diagonal

glVertex2i(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);



//izquierda

glVertex2i(1200,1100);

glVertex2i(1200,1200);



//arriva


                                                                 Página
                                                                 84
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(1250,1250);

//derecha

glVertex2i(1250,1150);




glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100-a*i,1100);

glVertex2i(1100-a*i,1200);

//arriva

glVertex2i(1200-a*i,1200);

//derecha

glVertex2i(1200-a*i,1100);

//abajo




glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);


                             Página
                             85
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100-a*i,1200);

glVertex2i(1150-a*i,1250);

//arriva

glVertex2i(1250-a*i,1250);

//derecha

glVertex2i(1200-a*i,1200);

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(1100-a*i,1100);

glVertex2i(1100-a*i,1200);

//arriva

glVertex2i(1100-a*i,1200);

glVertex2i(1200-a*i,1200);

//derecha

glVertex2i(1200-a*i,1200);


                             Página
                             86
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(1200-a*i,1100);

//abajo

glVertex2i(1200-a*i,1100);

glVertex2i(1100-a*i,1100);

//diagonal derecha esquina arriva

glVertex2i(1150-a*i,1250);

glVertex2i(1100-a*i,1200);

//linea cuadro atras

//linea cuadro atras

glVertex2i(1150-a*i,1250);

glVertex2i(1250-a*i,1250);

//linea derecha atras



glVertex2i(1250,1250);

glVertex2i(1250,1150);



//linea abajo derecha diagonal



glVertex2i(1200,1100);

glVertex2i(1250,1150);

//linea arriva derecha diagonal



glVertex2i(1200-a*i,1200);

glVertex2i(1250-a*i,1250);




                                    Página
                                    87
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO


glEnd();

}




//////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////

for(i=0;i<=9;i++){



glColor3f(1.0 ,0.8 ,0.5 );

glLineWidth(8);

glBegin(GL_QUADS);



//izquierda

glVertex2i(1200,100);

glVertex2i(1200,200);



//arriva

glVertex2i(1250,250);

//derecha

glVertex2i(1250,150);




                                                                 Página
                                                                 88
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100-a*i,100);

glVertex2i(1100-a*i,200);

//arriva

glVertex2i(1200-a*i,200);

//derecha

glVertex2i(1200-a*i,100);

//abajo




glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100-a*i,200);


                             Página
                             89
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(1150-a*i,250);

//arriva

glVertex2i(1250-a*i,250);

//derecha

glVertex2i(1200-a*i,200);

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);

glBegin(GL_LINES);



//cuadro

//izquierda

glVertex2i(1100-a*i,100);

glVertex2i(1100-a*i,200);

//arriva

glVertex2i(1100-a*i,200);

glVertex2i(1200-a*i,200);

//derecha

glVertex2i(1200-a*i,200);

glVertex2i(1200-a*i,100);

//abajo

glVertex2i(1200-a*i,100);

glVertex2i(1100-a*i,100);

//diagonal derecha esquina arriva


                                    Página
                                    90
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

glVertex2i(1150-a*i,250);

glVertex2i(1100-a*i,200);

//linea cuadro atras

//linea cuadro atras

glVertex2i(1150-a*i,250);

glVertex2i(1250-a*i,250);

//linea derecha atras



glVertex2i(1250,250);

glVertex2i(1250,150);



//linea abajo derecha diagonal



glVertex2i(1200,100);

glVertex2i(1250,150);

//linea arriva derecha diagonal



glVertex2i(1200-a*i,200);

glVertex2i(1250-a*i,250);




glEnd();

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

for(i=0;i<=10;i++){


                                                                 Página
                                                                 91
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


glColor3f(1.0 ,0.8 ,0.5 );

glLineWidth(8);

glBegin(GL_QUADS);



//izquierda

glVertex2i(1200,100+a*i);

glVertex2i(1200,200+a*i);



//arriva

glVertex2i(1250,250+a*i);

//derecha

glVertex2i(1250,150+a*i);




glEnd();

glColor3f(0.0 ,0.8 ,1.0 );

glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100,100+a*i);

glVertex2i(1100,200+a*i);

//arriva


                             Página
                             92
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(1200,200+a*i);

//derecha

glVertex2i(1200,100+a*i);

//abajo




glEnd();

glColor3f(0.0 ,1.0 ,0.5 );



glLineWidth(8);

glBegin(GL_QUADS);



//cuadro

//izquierda

glVertex2i(1100,200+a*i);

glVertex2i(1150,250+a*i);

//arriva

glVertex2i(1250,250+a*i);

//derecha

glVertex2i(1200,200+a*i);

//abajo

glEnd();

//cuadro

glColor3f(0.0 ,0.0 ,1.0 );

glLineWidth(4);

glBegin(GL_LINES);


                             Página
                             93
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


//cuadro

//izquierda

glVertex2i(1100,100+a*i);

glVertex2i(1100,200+a*i);

//arriva

glVertex2i(1100,200+a*i);

glVertex2i(1200,200+a*i);

//derecha

glVertex2i(1200,200+a*i);

glVertex2i(1200,100+a*i);

//abajo

glVertex2i(1200,100+a*i);

glVertex2i(1100,100+a*i);

//diagonal derecha esquina arriva

glVertex2i(1150,250+a*i);

glVertex2i(1100,200+a*i);

//linea cuadro atras

//linea cuadro atras

glVertex2i(1150,250+a*i);

glVertex2i(1250,250+a*i);

//linea derecha atras



glVertex2i(1250,250+a*i);

glVertex2i(1250,150+a*i);




                                    Página
                                    94
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                      ESTADO DE MEXCO

//linea abajo derecha diagonal



glVertex2i(1200,100+a*i);

glVertex2i(1250,150+a*i);

//linea arriva derecha diagonal



glVertex2i(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);           //establece el modo de
visualización

glutInitWindowSize(500,500);           //tamaño de la ventana

glutInitWindowPosition(0,0);       //posicion inicial de la ventana

glutCreateWindow("cubo3d");          //nombre de la ventana

inicializa();



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

glutMainLoop();                   //muestra todo y espera

return 0;                      //retorna un valor de cero

}




                                        Página
                                        96
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

                          Muñeco con formas
 En esta actividad realizaremos un muñeco con la
que 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 fondo

glMatrixMode(GL_PROJECTION);               //Modo de proyeccion


                                         Página
                                         97
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glLoadIdentity();                    //Establece los parametros de proyeccion

gluOrtho2D(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

}



void dibuja(void)             //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);

//brazo derecho

glColor3f(1.0 , 0.8 , 0.7);

glBegin(GL_QUADS);

glVertex2i(510,395);

glVertex2i(580,340);

glVertex2i(620,340);

glVertex2i(540,400);

glEnd();

//brazo izquierdo

glColor3f(1.0 , 0.8 , 0.7);

glBegin(GL_QUADS);

glVertex2i(190,395);

glVertex2i(140,340);

glVertex2i(100,340);

glVertex2i(250,480);

glEnd();

//cuerpo pecho

glColor3f(1.0 , 0.0 , 0.0);

glBegin(GL_QUADS);

glVertex2i(250,480);

glVertex2i(250,300);


                                        Página
                                        99
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(450,300);

glVertex2i(450,480);

//manos derecha



glVertex2i(450,420);

glVertex2i(500,390);

glVertex2i(560,400);

glVertex2i(450,480);

//mano izquierda

glVertex2i(250,420);

glVertex2i(200,390);

glVertex2i(150,400);

glVertex2i(250,480);

glEnd();

//cabeza con cuello

glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glColor3f(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 izquierdo

glVertex2i(220,100);

glVertex2i(280,70);

glVertex2i(140,70);

glEnd();

//Pie derecho

glColor3f(0.0 , 0.0 , 0.0);

glBegin(GL_TRIANGLES);

glVertex2i(470,100);

glVertex2i(410,70);

glVertex2i(560,70);

glEnd();

//ojos

glColor3f(1.0 , 1.0 , 1.0);


                              Página
                              101
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

circulo(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);

//nariz

glColor3f(0.0 , 0.0 , 0.0);

glBegin(GL_LINES);

glVertex2i(350,580);

glVertex2i(370,560);

glVertex2i(370,560);

glVertex2i(350,560);

glEnd();

//cabello

circulo(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

circulo(595,330,35);

circulo(110,330,35);



glFlush();                    //forza dibujo



}




int main (int argc, char** argv)       //metodo main

{

glutInit(&argc, argv);                    //incializa GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);                 //establece el modo de
visualización

glutInitWindowSize(700,700);               //tamaño de la ventana

glutInitWindowPosition(100,100);               //posicion inicial de la ventana

glutCreateWindow("Ventana");              //nombre de la ventana

inicializa();

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

glutMainLoop();                       //muestra todo y espera

return 0;                          //retorna un valor de cero

}




                                            Página
                                            103
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                ESTADO DE MEXCO




                     Página
                     104
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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glClearColor(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
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);//esto



glColor3f(1.0,1.0,0.0);

circulo( 900,900,60); //funcion circulo




glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                   ESTADO DE MEXCO


glColor3f(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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO


a=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 lento

for(int j=1;j<=10000000;j++){}//pausa

if(ang==360){ang=0;}// se repite idefinidamente

glFlush(); //forzar dibujado

glutSwapBuffers(); //y esto

}




int main (int argc, char** argv)

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//esto
tambien

glutInitWindowSize(1000,1000);

glutInitWindowPosition(10,10);


                                        Página
                                        109
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glutCreateWindow("Ventana");

inicializa();

glutDisplayFunc(dibuja);

glutIdleFunc(dibuja);//esto es lo que cambia

glutMainLoop();

return 0;

}




                                     Página
                                     110
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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

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.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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

b=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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glutDisplayFunc(dibuja);

glutIdleFunc(dibuja);

glutMainLoop();

return 0;

}




                           Página
                           114
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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glLoadIdentity();

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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

y++;

}

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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

glVertex2i(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
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
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL
                    ESTADO DE MEXCO

inicializa();

glutDisplayFunc(dibuja);

glutIdleFunc(dibuja);

glutMainLoop();

return 0;

}




                           Página
                           120

Más contenido relacionado

DOCX
Utilización del software de diseño(C++)
DOCX
Trabajo opengl
DOCX
Renee opengl karla
DOCX
Open gl tutorial diana hernandez 303
DOCX
Manual de Practicas de Open GL con Dev C++
PDF
DOCX
Manual de practicas de Open GL
DOCX
Practicas OpenglC++
Utilización del software de diseño(C++)
Trabajo opengl
Renee opengl karla
Open gl tutorial diana hernandez 303
Manual de Practicas de Open GL con Dev C++
Manual de practicas de Open GL
Practicas OpenglC++

La actualidad más candente (8)

DOC
Estela y naye
DOCX
Manual de actividades
DOC
Practicas para slider Rene Dominguez
DOCX
Manual de practicas de open gl con dev c
PDF
Intro opengl
DOCX
Proyecto de rene
DOCX
Programa de cuadrado en c++
Estela y naye
Manual de actividades
Practicas para slider Rene Dominguez
Manual de practicas de open gl con dev c
Intro opengl
Proyecto de rene
Programa de cuadrado en c++
Publicidad

Destacado (20)

PPTX
PDF
Natércia Freire
PDF
Tugas plkj hunting picture di monas
PDF
Lost | Transmídia, Economia da Participação e a nova audiência
PDF
Xarxes verticals edirectivos
PDF
Vanesitha
PPT
Aniversaris setembre
DOCX
Vaya que trabajito ii
PPT
Pa Slidesjoset6m1
PDF
Embaixada da Colombia 2011
PPT
JobProviders
PDF
Mx m363 u-20121106_111623
PPT
Apresentação clubimaxi
PDF
Case BrasíliaTtwestival 2011 no Social Media Brasil 2011
PPTX
淺析第一封詢價的回覆之案例分析(台灣篇)
PPTX
Crack mata
PPT
Tamara
DOCX
EL VERBO TO BE
ODP
5 SENSES
Natércia Freire
Tugas plkj hunting picture di monas
Lost | Transmídia, Economia da Participação e a nova audiência
Xarxes verticals edirectivos
Vanesitha
Aniversaris setembre
Vaya que trabajito ii
Pa Slidesjoset6m1
Embaixada da Colombia 2011
JobProviders
Mx m363 u-20121106_111623
Apresentação clubimaxi
Case BrasíliaTtwestival 2011 no Social Media Brasil 2011
淺析第一封詢價的回覆之案例分析(台灣篇)
Crack mata
Tamara
EL VERBO TO BE
5 SENSES
Publicidad

Similar a Manual open gl (20)

DOCX
Manual de practicas de open gl con dev c
DOCX
Manual de practicas de open gl con dev c
DOCX
Manual de practicas de open gl con dev c
DOCX
Manual de practicas de open gl con dev c
DOCX
Proyecto de reneya terminado
DOCX
Proyecto de reneya terminado
DOC
Manual de practicas de dev c++
PDF
Manual de prácticas rivera y ruiz
PDF
Manual de prácticas belmonte & ponce
DOC
manual de practicas de opengl
PDF
Mini introopengl
PDF
Programación Open GL ES en iPhone e iPod touch
PDF
OpenGL_Introduccion_Bases_Educacion_Fundamentos.PDF
PDF
PDF
Introducción a las librerías PyGame y PyOpenGL
PDF
Guia de Programación básica OpenGL ES 2.0
PDF
Iniciación a OpenGL
PPT
Introduccion al OpenGL
DOCX
Manual de practicas segundo parcial
PDF
Laboratorio Computación Gráfica - Práctica 03
Manual de practicas de open gl con dev c
Manual de practicas de open gl con dev c
Manual de practicas de open gl con dev c
Manual de practicas de open gl con dev c
Proyecto de reneya terminado
Proyecto de reneya terminado
Manual de practicas de dev c++
Manual de prácticas rivera y ruiz
Manual de prácticas belmonte & ponce
manual de practicas de opengl
Mini introopengl
Programación Open GL ES en iPhone e iPod touch
OpenGL_Introduccion_Bases_Educacion_Fundamentos.PDF
Introducción a las librerías PyGame y PyOpenGL
Guia de Programación básica OpenGL ES 2.0
Iniciación a OpenGL
Introduccion al OpenGL
Manual de practicas segundo parcial
Laboratorio Computación Gráfica - Práctica 03

Último (20)

PPTX
Filosofia hispano americano 2020 profesor
PDF
1ra ACTIVIDAD 24 321CCSS 3°2025 FBT..pdf
PPTX
"ADMITIMOS QUE ERAMOS IMPOTENTES ANTE EL ALCOHOL Y QUE NUESTRAS VIDAS HABIAN ...
PPTX
El matrimonio como pacto. Presentación de power point
PPT
Programa 5 tecnica y concepto en un ambiente competitivo
PPT
RESOLUCION 2646 INTERSALUD sobre riesgo psicosocial
PDF
Sexualidad y genero en los Adolescentes
DOCX
SILABO. III PRACTIA E INVESTIG 2025.docx
PPTX
ADQUISICION Y DESARROLLO LENGUAJE MAPA CONCEPTUAL.pptx
PPTX
Presentacion Educativa Sobre Sexualidad Responsable y Metodos Anticonceptivos...
PDF
Examen Trabajo de Investigación final.pdf
PPT
Autocuidado para cualquier persona que desee atender su propia salud mental
PPTX
Pediatric Nursing Healthcare Center by Slidesgo.pptx
PDF
El_Tabernaculo_de_Moises......................................
PPTX
"MÁS A CERCA DEL ALCOHOLIMOSMO AA" LIBRO AZUL
PDF
Que es PNL, ejercicios, ejemplos, para mejorar
PPTX
Larry Nasser un Caso para leer y aprender
PDF
132521686-Modulo-i-Sistemas-de-Permiso-de-Trabajo.pdf
PPTX
ATRAVEZ DEL MAR ROJO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
PDF
presentacion_propuesta_de_proyecto_scrapbook_doodle_marron_y_blanco_20250811_...
Filosofia hispano americano 2020 profesor
1ra ACTIVIDAD 24 321CCSS 3°2025 FBT..pdf
"ADMITIMOS QUE ERAMOS IMPOTENTES ANTE EL ALCOHOL Y QUE NUESTRAS VIDAS HABIAN ...
El matrimonio como pacto. Presentación de power point
Programa 5 tecnica y concepto en un ambiente competitivo
RESOLUCION 2646 INTERSALUD sobre riesgo psicosocial
Sexualidad y genero en los Adolescentes
SILABO. III PRACTIA E INVESTIG 2025.docx
ADQUISICION Y DESARROLLO LENGUAJE MAPA CONCEPTUAL.pptx
Presentacion Educativa Sobre Sexualidad Responsable y Metodos Anticonceptivos...
Examen Trabajo de Investigación final.pdf
Autocuidado para cualquier persona que desee atender su propia salud mental
Pediatric Nursing Healthcare Center by Slidesgo.pptx
El_Tabernaculo_de_Moises......................................
"MÁS A CERCA DEL ALCOHOLIMOSMO AA" LIBRO AZUL
Que es PNL, ejercicios, ejemplos, para mejorar
Larry Nasser un Caso para leer y aprender
132521686-Modulo-i-Sistemas-de-Permiso-de-Trabajo.pdf
ATRAVEZ DEL MAR ROJO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
presentacion_propuesta_de_proyecto_scrapbook_doodle_marron_y_blanco_20250811_...

Manual open gl

  • 1. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO UTILIZACION DE SOFTWARE DE DISEÑO MANUAL DE OPEN GL PROFESOR: RENE DOMINGUEZ ESCALONA ALUMNOS: EDUARDO TAPIA HERNANDEZ Y CESAR RAFAEL ESCOBAR SANCHEZ GRUPO: 303 TURNO: MATUTINO ESPECIALIDAD: INFORMATICA Página 1
  • 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 movimiento Este 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Tablero de ajedrez En 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 8 cuadrados x 8 cuadrados así que tenemos que ser muy precisos con nuestras coordenadas y poner un 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glClearColor(0.0,0.0,1.0,0.0); //color de fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 1050.0, 0.0, 1000.0); //vista ortogonal } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO { glutInit(&argc, argv); //incializa GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("MI primer ventana"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 7
  • 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal } void dibuja(void) //funcion dibuja { Página 8
  • 9. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(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 GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("MI primer ventana"); //nombre de la ventana Página 9
  • 10. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 10
  • 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal Página 11
  • 12. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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 GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("MI primer ventana"); //nombre de la ventana inicializa(); Página 13
  • 14. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 14
  • 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal } Página 15
  • 16. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO void dibuja(void) //funcion dibuja { int i,a=25; glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(1.0 , 1.0 , 1.0); glLineWidth(2); glBegin(GL_LINES); //valor inicial ---- valor final o condicion ---- incremento for(i=1;i<=11;i++){ //abajo glVertex2i (250-a*i,250-a*i); glVertex2i (270+a*i,250-a*i); //derecha glVertex2i (270+a*i,250-a*i); glVertex2i (270+a*i,270+a*i); //izquierda glVertex2i (250-a*i,250-a*i); glVertex2i (250-a*i,270+a*i); //arriba glVertex2i (250-a*i,270+a*i); glVertex2i (270+a*i,270+a*i); } glEnd(); glFlush(); //forza dibujo } Página 16
  • 17. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO int main (int argc, char** argv) //metodo main { glutInit(&argc, argv); //incializa GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(400,400); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("Cuadros"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 17
  • 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal Página 18
  • 19. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glBegin(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO 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); glVertex2i(300,400); glVertex2i(300,600); glVertex2i(200,500); glVertex2i(400,500); glVertex2i(500,600); Página 20
  • 21. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); glFlush(); //forza dibujo } int main (int argc, char** argv) //metodo main { glutInit(&argc, argv); //incializa GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("MI primer ventana"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 21
  • 22. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Muñeco con triángulos Esta vez haremos un muñeco en forma de humano 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal Página 22
  • 23. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(865,540); glEnd(); glFlush(); //forza dibujo } int main (int argc, char** argv) //metodo main { glutInit(&argc, argv); //incializa GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("MI primer ventana"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 29
  • 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 1000.0,0.0, 1000.0); //vista ortogonal Página 30
  • 31. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(0.0 , 0.0 , 0.0); //carretera glBegin(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(900,100); glVertex2i(980,100); glVertex2i(1000,100); glEnd(); //pasto glColor3f(0.0 , 1.0 , 0.0); glBegin(GL_QUADS); glVertex2i(0,500); glVertex2i(0,200); glVertex2i(1000,200); glVertex2i(1000,500); glEnd(); //linea amarilla glColor3f(1.0 , 1.0 , 0.0); glLineWidth(8); glBegin(GL_LINES); glVertex2i(0,200); glVertex2i(1000,200); glEnd(); //banqueta glColor3f(0.5 , 0.5 , 0.5); glLineWidth(50); glBegin(GL_QUADS); glVertex2i(0,208); glVertex2i(0,300); Página 32
  • 33. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(150,430); glVertex2i(100,430); glVertex2i(100,400); glEnd(); //serca glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glBegin(GL_LINES); glVertex2i(0,520); glVertex2i(1000,520); glEnd(); //casa glColor3f(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 casa glColor3f(1.0 , 0.0 , 0.0); glBegin(GL_POLYGON); glVertex2i(300,820); Página 37
  • 38. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(240,750); glVertex2i(760,750); glVertex2i(700,820); glEnd(); //triangulo techo casa glColor3f(0.7 , 0.2 , 0.2); glBegin(GL_TRIANGLES); glVertex2i(600,720); glVertex2i(500,800); glVertex2i(400,720); glEnd(); //puerta casa glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glBegin(GL_POINTS); glVertex2i(464,505); glEnd(); //ventanas casa glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(635,680); glVertex2i(635,660); glEnd(); //balcon casa glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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(); //cochera glColor3f(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 cochera glColor3f(1.0 , 0.0 , 0.0); Página 43
  • 44. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glBegin(GL_POLYGON); glVertex2i(90,660); glVertex2i(60,600); glVertex2i(300,600); glVertex2i(300,660); glEnd(); //pinos glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO } int main (int argc, char** argv) //metodo main { glutInit(&argc, argv); //incializa GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("MI primer ventana"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 45
  • 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(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. 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 pantalla glColor3f(1.0,0.0,0.0); circuloc(250,250,5,150); circuloc(150,100,5,50); Página 47
  • 48. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO circuloc(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glColor3f(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 GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(100,100); //posicion inicial de la ventana glutCreateWindow("Ventana"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 49
  • 50. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Página 50
  • 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 2000.0, 0.0, 2000.0); //vista ortogonal Página 51
  • 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); //izquierda glVertex2i(700,600+a*i); glVertex2i(700,700+a*i); //arriva glVertex2i(750,750+a*i); //derecha Página 52
  • 53. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(750,650+a*i); glEnd(); glColor3f(0.0 ,0.8 ,6.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(600,600+a*i); glVertex2i(600,700+a*i); //arriva glVertex2i(700,700+a*i); //derecha glVertex2i(700,600+a*i); //abajo glEnd(); glColor3f(0.0 ,6.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); Página 53
  • 54. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //cuadro //izquierda glVertex2i(600,700+a*i); glVertex2i(650,750+a*i); //arriva glVertex2i(750,750+a*i); //derecha glVertex2i(700,700+a*i); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,6.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(600,600+a*i); glVertex2i(600,700+a*i); //arriva glVertex2i(600,700+a*i); glVertex2i(700,700+a*i); //derecha glVertex2i(700,700+a*i); glVertex2i(700,600+a*i); //abajo Página 54
  • 55. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(700,600+a*i); glVertex2i(600,600+a*i); //diagonal derecha esquina arriva glVertex2i(650,750+a*i); glVertex2i(600,700+a*i); //linea cuadro atras //linea cuadro atras glVertex2i(650,750+a*i); glVertex2i(750,750+a*i); //linea derecha atras glVertex2i(750,750+a*i); glVertex2i(750,650+a*i); //linea abajo derecha diagonal glVertex2i(700,600+a*i); glVertex2i(750,650+a*i); //linea arriva derecha diagonal glVertex2i(700,700+a*i); glVertex2i(750,750+a*i); glEnd(); } Página 55
  • 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); //izquierda glVertex2i(1700,1600); glVertex2i(1700,1700); //arriva glVertex2i(1750,1750); //derecha glVertex2i(1750,1650); glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro Página 56
  • 57. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //izquierda glVertex2i(1600-a*i,1600); glVertex2i(1600-a*i,1700); //arriva glVertex2i(1700-a*i,1700); //derecha glVertex2i(1700-a*i,1600); //abajo glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1600-a*i,1700); glVertex2i(1650-a*i,1750); //arriva glVertex2i(1750-a*i,1750); //derecha glVertex2i(1700-a*i,1700); //abajo glEnd(); Página 57
  • 58. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(1600-a*i,1600); glVertex2i(1600-a*i,1700); //arriva glVertex2i(1600-a*i,1700); glVertex2i(1700-a*i,1700); //derecha glVertex2i(1700-a*i,1700); glVertex2i(1700-a*i,1600); //abajo glVertex2i(1700-a*i,1600); glVertex2i(1600-a*i,1600); //diagonal derecha esquina arriva glVertex2i(1650-a*i,1750); glVertex2i(1600-a*i,1700); //linea cuadro atras //linea cuadro atras glVertex2i(1650-a*i,1750); glVertex2i(1750-a*i,1750); //linea derecha atras Página 58
  • 59. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1750,1750); glVertex2i(1750,1650); //linea abajo derecha diagonal glVertex2i(1700,1600); glVertex2i(1750,1650); //linea arriva derecha diagonal glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //izquierda glVertex2i(1700,600); glVertex2i(1700,700); //arriva glVertex2i(1750,750); //derecha glVertex2i(1750,650); glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1600-a*i,600); glVertex2i(1600-a*i,700); //arriva glVertex2i(1700-a*i,700); //derecha glVertex2i(1700-a*i,600); //abajo Página 60
  • 61. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1600-a*i,700); glVertex2i(1650-a*i,750); //arriva glVertex2i(1750-a*i,750); //derecha glVertex2i(1700-a*i,700); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(1600-a*i,600); glVertex2i(1600-a*i,700); Página 61
  • 62. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //arriva glVertex2i(1600-a*i,700); glVertex2i(1700-a*i,700); //derecha glVertex2i(1700-a*i,700); glVertex2i(1700-a*i,600); //abajo glVertex2i(1700-a*i,600); glVertex2i(1600-a*i,600); //diagonal derecha esquina arriva glVertex2i(1650-a*i,750); glVertex2i(1600-a*i,700); //linea cuadro atras //linea cuadro atras glVertex2i(1650-a*i,750); glVertex2i(1750-a*i,750); //linea derecha atras glVertex2i(1750,750); glVertex2i(1750,650); //linea abajo derecha diagonal glVertex2i(1700,600); glVertex2i(1750,650); //linea arriva derecha diagonal Página 62
  • 63. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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); //izquierda glVertex2i(1700,600+a*i); glVertex2i(1700,700+a*i); //arriva glVertex2i(1750,750+a*i); //derecha glVertex2i(1750,650+a*i); Página 63
  • 64. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); glColor3f(0.0 ,0.8 ,6.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1600,600+a*i); glVertex2i(1600,700+a*i); //arriva glVertex2i(1700,700+a*i); //derecha glVertex2i(1700,600+a*i); //abajo glEnd(); glColor3f(0.0 ,6.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda Página 64
  • 65. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1600,700+a*i); glVertex2i(1650,750+a*i); //arriva glVertex2i(1750,750+a*i); //derecha glVertex2i(1700,700+a*i); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,6.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(1600,600+a*i); glVertex2i(1600,700+a*i); //arriva glVertex2i(1600,700+a*i); glVertex2i(1700,700+a*i); //derecha glVertex2i(1700,700+a*i); glVertex2i(1700,600+a*i); //abajo glVertex2i(1700,600+a*i); glVertex2i(1600,600+a*i); Página 65
  • 66. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //diagonal derecha esquina arriva glVertex2i(1650,750+a*i); glVertex2i(1600,700+a*i); //linea cuadro atras //linea cuadro atras glVertex2i(1650,750+a*i); glVertex2i(1750,750+a*i); //linea derecha atras glVertex2i(1750,750+a*i); glVertex2i(1750,650+a*i); //linea abajo derecha diagonal glVertex2i(1700,600+a*i); glVertex2i(1750,650+a*i); //linea arriva derecha diagonal glVertex2i(1700,700+a*i); glVertex2i(1750,750+a*i); glEnd(); } ////////////////////////////////////////////////////////////////////// for(i=0;i<=9;i++){ Página 66
  • 67. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glColor3f(1.0 ,0.8 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //izquierda glVertex2i(200+(50*i),100+(50*i)); glVertex2i(200+(50*i),200+(50*i)); //arriva glVertex2i(250+(50*i),250+(50*i)); //derecha glVertex2i(250+(50*i),150+(50*i)); glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(100,100); glVertex2i(100,200); //arriva Página 67
  • 68. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(200,200); //derecha glVertex2i(200,100); //abajo glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(100+(50*i),200+(50*i)); glVertex2i(150+(50*i),250+(50*i)); //arriva glVertex2i(250+(50*i),250+(50*i)); //derecha glVertex2i(200+(50*i),200+(50*i)); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); glBegin(GL_LINES); Página 68
  • 69. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //cuadro //izquierda glVertex2i(100,100); glVertex2i(100,200); //arriva glVertex2i(100+(50*i),200+(50*i)); glVertex2i(200+(50*i),200+(50*i)); //derecha glVertex2i(200+(50*i),200+(50*i)); glVertex2i(200+(50*i),100+(50*i)); //abajo glVertex2i(200,100); glVertex2i(100,100); //diagonal derecha esquina arriva glVertex2i(150+(50*i),250+(50*i)); glVertex2i(100+(50*i),200+(50*i)); //linea cuadro atras //linea cuadro atras glVertex2i(150+(50*i),250+(50*i)); glVertex2i(250+(50*i),250+(50*i)); //linea derecha atras glVertex2i(250+(50*i),250+(50*i)); glVertex2i(250+(50*i),150+(50*i)); //linea abajo derecha diagonal Página 69
  • 70. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(200+(50*i),100+(50*i)); glVertex2i(250+(50*i),150+(50*i)); //linea arriva derecha diagonal glVertex2i(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); //izquierda glVertex2i(1200+(50*i),100+(50*i)); glVertex2i(1200+(50*i),200+(50*i)); //arriva glVertex2i(1250+(50*i),250+(50*i)); //derecha glVertex2i(1250+(50*i),150+(50*i)); Página 70
  • 71. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100,100); glVertex2i(1100,200); //arriva glVertex2i(1200,200); //derecha glVertex2i(1200,100); //abajo glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda Página 71
  • 72. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1100+(50*i),200+(50*i)); glVertex2i(1150+(50*i),250+(50*i)); //arriva glVertex2i(1250+(50*i),250+(50*i)); //derecha glVertex2i(1200+(50*i),200+(50*i)); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(1100,100); glVertex2i(1100,200); //arriva glVertex2i(1100+(50*i),200+(50*i)); glVertex2i(1200+(50*i),200+(50*i)); //derecha glVertex2i(1200+(50*i),200+(50*i)); glVertex2i(1200+(50*i),100+(50*i)); //abajo glVertex2i(1200,100); glVertex2i(1100,100); Página 72
  • 73. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //diagonal derecha esquina arriva glVertex2i(1150+(50*i),250+(50*i)); glVertex2i(1100+(50*i),200+(50*i)); //linea cuadro atras //linea cuadro atras glVertex2i(1150+(50*i),250+(50*i)); glVertex2i(1250+(50*i),250+(50*i)); //linea derecha atras glVertex2i(1250+(50*i),250+(50*i)); glVertex2i(1250+(50*i),150+(50*i)); //linea abajo derecha diagonal glVertex2i(1200+(50*i),100+(50*i)); glVertex2i(1250+(50*i),150+(50*i)); //linea arriva derecha diagonal glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glLineWidth(8); glBegin(GL_QUADS); //izquierda glVertex2i(200+(50*i),1100+(50*i)); glVertex2i(200+(50*i),1200+(50*i)); //arriva glVertex2i(250+(50*i),1250+(50*i)); //derecha glVertex2i(250+(50*i),1150+(50*i)); glEnd(); glColor3f(0.0 ,0.8 ,11.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(100,1100); glVertex2i(100,1200); //arriva glVertex2i(200,1200); Página 74
  • 75. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //derecha glVertex2i(200,1100); //abajo glEnd(); glColor3f(0.0 ,11.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(100+(50*i),1200+(50*i)); glVertex2i(150+(50*i),1250+(50*i)); //arriva glVertex2i(250+(50*i),1250+(50*i)); //derecha glVertex2i(200+(50*i),1200+(50*i)); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,11.0 ); glLineWidth(4); glBegin(GL_LINES); Página 75
  • 76. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //cuadro //izquierda glVertex2i(100,1100); glVertex2i(100,1200); //arriva glVertex2i(100+(50*i),1200+(50*i)); glVertex2i(200+(50*i),1200+(50*i)); //derecha glVertex2i(200+(50*i),1200+(50*i)); glVertex2i(200+(50*i),1100+(50*i)); //abajo glVertex2i(200,1100); glVertex2i(100,1100); //diagonal derecha esquina arriva glVertex2i(150+(50*i),1250+(50*i)); glVertex2i(100+(50*i),1200+(50*i)); //linea cuadro atras //linea cuadro atras glVertex2i(150+(50*i),1250+(50*i)); glVertex2i(250+(50*i),1250+(50*i)); //linea derecha atras glVertex2i(250+(50*i),1250+(50*i)); glVertex2i(250+(50*i),1150+(50*i)); //linea abajo derecha diagonal glVertex2i(200+(50*i),1100+(50*i)); Página 76
  • 77. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(250+(50*i),1150+(50*i)); //linea arriva derecha diagonal glVertex2i(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); //izquierda glVertex2i(1200+(50*i),1100+(50*i)); glVertex2i(1200+(50*i),1200+(50*i)); //arriva glVertex2i(1250+(50*i),1250+(50*i)); //derecha glVertex2i(1250+(50*i),1150+(50*i)); Página 77
  • 78. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); glColor3f(0.0 ,0.8 ,11.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100,1100); glVertex2i(1100,1200); //arriva glVertex2i(1200,1200); //derecha glVertex2i(1200,1100); //abajo glEnd(); glColor3f(0.0 ,11.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100+(50*i),1200+(50*i)); Página 78
  • 79. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1150+(50*i),1250+(50*i)); //arriva glVertex2i(1250+(50*i),1250+(50*i)); //derecha glVertex2i(1200+(50*i),1200+(50*i)); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,11.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(1100,1100); glVertex2i(1100,1200); //arriva glVertex2i(1100+(50*i),1200+(50*i)); glVertex2i(1200+(50*i),1200+(50*i)); //derecha glVertex2i(1200+(50*i),1200+(50*i)); glVertex2i(1200+(50*i),1100+(50*i)); //abajo glVertex2i(1200,1100); glVertex2i(1100,1100); //diagonal derecha esquina arriva Página 79
  • 80. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1150+(50*i),1250+(50*i)); glVertex2i(1100+(50*i),1200+(50*i)); //linea cuadro atras //linea cuadro atras glVertex2i(1150+(50*i),1250+(50*i)); glVertex2i(1250+(50*i),1250+(50*i)); //linea derecha atras glVertex2i(1250+(50*i),1250+(50*i)); glVertex2i(1250+(50*i),1150+(50*i)); //linea abajo derecha diagonal glVertex2i(1200+(50*i),1100+(50*i)); glVertex2i(1250+(50*i),1150+(50*i)); //linea arriva derecha diagonal glVertex2i(1200+(50*i),1200+(50*i)); glVertex2i(1250+(50*i),1250+(50*i)); glEnd(); } ////////////////////////////////////////////////////////////////////// Página 80
  • 81. 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); //izquierda glVertex2i(200,100+a*i); glVertex2i(200,200+a*i); //arriva glVertex2i(250,250+a*i); //derecha glVertex2i(250,150+a*i); glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(100,100+a*i); glVertex2i(100,200+a*i); Página 81
  • 82. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //arriva glVertex2i(200,200+a*i); //derecha glVertex2i(200,100+a*i); //abajo glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(100,200+a*i); glVertex2i(150,250+a*i); //arriva glVertex2i(250,250+a*i); //derecha glVertex2i(200,200+a*i); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); Página 82
  • 83. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glBegin(GL_LINES); //cuadro //izquierda glVertex2i(100,100+a*i); glVertex2i(100,200+a*i); //arriva glVertex2i(100,200+a*i); glVertex2i(200,200+a*i); //derecha glVertex2i(200,200+a*i); glVertex2i(200,100+a*i); //abajo glVertex2i(200,100+a*i); glVertex2i(100,100+a*i); //diagonal derecha esquina arriva glVertex2i(150,250+a*i); glVertex2i(100,200+a*i); //linea cuadro atras //linea cuadro atras glVertex2i(150,250+a*i); glVertex2i(250,250+a*i); //linea derecha atras glVertex2i(250,250+a*i); glVertex2i(250,150+a*i); Página 83
  • 84. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //linea abajo derecha diagonal glVertex2i(200,100+a*i); glVertex2i(250,150+a*i); //linea arriva derecha diagonal glVertex2i(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); //izquierda glVertex2i(1200,1100); glVertex2i(1200,1200); //arriva Página 84
  • 85. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1250,1250); //derecha glVertex2i(1250,1150); glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100-a*i,1100); glVertex2i(1100-a*i,1200); //arriva glVertex2i(1200-a*i,1200); //derecha glVertex2i(1200-a*i,1100); //abajo glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); Página 85
  • 86. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100-a*i,1200); glVertex2i(1150-a*i,1250); //arriva glVertex2i(1250-a*i,1250); //derecha glVertex2i(1200-a*i,1200); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(1100-a*i,1100); glVertex2i(1100-a*i,1200); //arriva glVertex2i(1100-a*i,1200); glVertex2i(1200-a*i,1200); //derecha glVertex2i(1200-a*i,1200); Página 86
  • 87. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1200-a*i,1100); //abajo glVertex2i(1200-a*i,1100); glVertex2i(1100-a*i,1100); //diagonal derecha esquina arriva glVertex2i(1150-a*i,1250); glVertex2i(1100-a*i,1200); //linea cuadro atras //linea cuadro atras glVertex2i(1150-a*i,1250); glVertex2i(1250-a*i,1250); //linea derecha atras glVertex2i(1250,1250); glVertex2i(1250,1150); //linea abajo derecha diagonal glVertex2i(1200,1100); glVertex2i(1250,1150); //linea arriva derecha diagonal glVertex2i(1200-a*i,1200); glVertex2i(1250-a*i,1250); Página 87
  • 88. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); } ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// for(i=0;i<=9;i++){ glColor3f(1.0 ,0.8 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //izquierda glVertex2i(1200,100); glVertex2i(1200,200); //arriva glVertex2i(1250,250); //derecha glVertex2i(1250,150); Página 88
  • 89. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100-a*i,100); glVertex2i(1100-a*i,200); //arriva glVertex2i(1200-a*i,200); //derecha glVertex2i(1200-a*i,100); //abajo glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100-a*i,200); Página 89
  • 90. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1150-a*i,250); //arriva glVertex2i(1250-a*i,250); //derecha glVertex2i(1200-a*i,200); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); glBegin(GL_LINES); //cuadro //izquierda glVertex2i(1100-a*i,100); glVertex2i(1100-a*i,200); //arriva glVertex2i(1100-a*i,200); glVertex2i(1200-a*i,200); //derecha glVertex2i(1200-a*i,200); glVertex2i(1200-a*i,100); //abajo glVertex2i(1200-a*i,100); glVertex2i(1100-a*i,100); //diagonal derecha esquina arriva Página 90
  • 91. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1150-a*i,250); glVertex2i(1100-a*i,200); //linea cuadro atras //linea cuadro atras glVertex2i(1150-a*i,250); glVertex2i(1250-a*i,250); //linea derecha atras glVertex2i(1250,250); glVertex2i(1250,150); //linea abajo derecha diagonal glVertex2i(1200,100); glVertex2i(1250,150); //linea arriva derecha diagonal glVertex2i(1200-a*i,200); glVertex2i(1250-a*i,250); glEnd(); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// for(i=0;i<=10;i++){ Página 91
  • 92. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glColor3f(1.0 ,0.8 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //izquierda glVertex2i(1200,100+a*i); glVertex2i(1200,200+a*i); //arriva glVertex2i(1250,250+a*i); //derecha glVertex2i(1250,150+a*i); glEnd(); glColor3f(0.0 ,0.8 ,1.0 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100,100+a*i); glVertex2i(1100,200+a*i); //arriva Página 92
  • 93. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(1200,200+a*i); //derecha glVertex2i(1200,100+a*i); //abajo glEnd(); glColor3f(0.0 ,1.0 ,0.5 ); glLineWidth(8); glBegin(GL_QUADS); //cuadro //izquierda glVertex2i(1100,200+a*i); glVertex2i(1150,250+a*i); //arriva glVertex2i(1250,250+a*i); //derecha glVertex2i(1200,200+a*i); //abajo glEnd(); //cuadro glColor3f(0.0 ,0.0 ,1.0 ); glLineWidth(4); glBegin(GL_LINES); Página 93
  • 94. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //cuadro //izquierda glVertex2i(1100,100+a*i); glVertex2i(1100,200+a*i); //arriva glVertex2i(1100,200+a*i); glVertex2i(1200,200+a*i); //derecha glVertex2i(1200,200+a*i); glVertex2i(1200,100+a*i); //abajo glVertex2i(1200,100+a*i); glVertex2i(1100,100+a*i); //diagonal derecha esquina arriva glVertex2i(1150,250+a*i); glVertex2i(1100,200+a*i); //linea cuadro atras //linea cuadro atras glVertex2i(1150,250+a*i); glVertex2i(1250,250+a*i); //linea derecha atras glVertex2i(1250,250+a*i); glVertex2i(1250,150+a*i); Página 94
  • 95. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO //linea abajo derecha diagonal glVertex2i(1200,100+a*i); glVertex2i(1250,150+a*i); //linea arriva derecha diagonal glVertex2i(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(500,500); //tamaño de la ventana glutInitWindowPosition(0,0); //posicion inicial de la ventana glutCreateWindow("cubo3d"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 96
  • 97. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Muñeco con formas En esta actividad realizaremos un muñeco con la que 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 fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion Página 97
  • 98. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //brazo derecho glColor3f(1.0 , 0.8 , 0.7); glBegin(GL_QUADS); glVertex2i(510,395); glVertex2i(580,340); glVertex2i(620,340); glVertex2i(540,400); glEnd(); //brazo izquierdo glColor3f(1.0 , 0.8 , 0.7); glBegin(GL_QUADS); glVertex2i(190,395); glVertex2i(140,340); glVertex2i(100,340); glVertex2i(250,480); glEnd(); //cuerpo pecho glColor3f(1.0 , 0.0 , 0.0); glBegin(GL_QUADS); glVertex2i(250,480); glVertex2i(250,300); Página 99
  • 100. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(450,300); glVertex2i(450,480); //manos derecha glVertex2i(450,420); glVertex2i(500,390); glVertex2i(560,400); glVertex2i(450,480); //mano izquierda glVertex2i(250,420); glVertex2i(200,390); glVertex2i(150,400); glVertex2i(250,480); glEnd(); //cabeza con cuello glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glColor3f(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 izquierdo glVertex2i(220,100); glVertex2i(280,70); glVertex2i(140,70); glEnd(); //Pie derecho glColor3f(0.0 , 0.0 , 0.0); glBegin(GL_TRIANGLES); glVertex2i(470,100); glVertex2i(410,70); glVertex2i(560,70); glEnd(); //ojos glColor3f(1.0 , 1.0 , 1.0); Página 101
  • 102. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO circulo(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); //nariz glColor3f(0.0 , 0.0 , 0.0); glBegin(GL_LINES); glVertex2i(350,580); glVertex2i(370,560); glVertex2i(370,560); glVertex2i(350,560); glEnd(); //cabello circulo(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO circulo(595,330,35); circulo(110,330,35); glFlush(); //forza dibujo } int main (int argc, char** argv) //metodo main { glutInit(&argc, argv); //incializa GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualización glutInitWindowSize(700,700); //tamaño de la ventana glutInitWindowPosition(100,100); //posicion inicial de la ventana glutCreateWindow("Ventana"); //nombre de la ventana inicializa(); glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización glutMainLoop(); //muestra todo y espera return 0; //retorna un valor de cero } Página 103
  • 104. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO Página 104
  • 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glClearColor(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. 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);//esto glColor3f(1.0,1.0,0.0); circulo( 900,900,60); //funcion circulo glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glColor3f(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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO a=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 lento for(int j=1;j<=10000000;j++){}//pausa if(ang==360){ang=0;}// se repite idefinidamente glFlush(); //forzar dibujado glutSwapBuffers(); //y esto } int main (int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//esto tambien glutInitWindowSize(1000,1000); glutInitWindowPosition(10,10); Página 109
  • 110. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glutCreateWindow("Ventana"); inicializa(); glutDisplayFunc(dibuja); glutIdleFunc(dibuja);//esto es lo que cambia glutMainLoop(); return 0; } Página 110
  • 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO 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.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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO b=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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glutDisplayFunc(dibuja); glutIdleFunc(dibuja); glutMainLoop(); return 0; } Página 114
  • 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glLoadIdentity(); 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO y++; } 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO glVertex2i(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. 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. COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO inicializa(); glutDisplayFunc(dibuja); glutIdleFunc(dibuja); glutMainLoop(); return 0; } Página 120