SlideShare una empresa de Scribd logo
1 de 103
Centro de estudios Científicos y Tecnológicos del
   Estado de México (CECYTEM)-Tecámac




  UTILIZACIÓN DEL
SOFTWARE DE DISEÑO
(MANUAL DE OPENGL)


           Cantero MoralesRaúl
                 Grupo: 303
         Especialidad: Informática
Profesor: Ing. Rene Domínguez Escalona




                                 1         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac


                         INTRODUCCION
En este documento podrás apreciar la estructura de los documentos realizados
alrededor del 2° parcial del 3°sementre de la carera de técnico en informática del
plantel CECYTEM Tecámac, en las cuales consisten en pequeños y simples
ejercicios sobre los manejos de OpenGL y algunas instrucciones que pueden ser
de ayuda para aquellos que cursan esta materia.

 En este manual podrás apreciar trabajos desde lo básico con puntos hasta la
realización de objetos 3D con movimiento.




                                                      2             28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac


                       ÍNDICE
Tablero de Ajedrez ………………………………………………………………………4

Estrella…………………………………………………………………………………….10

Cubo con líneas………………………………………………………………………….13

Piramide…………………………………………………………………………………..17

Cubo delineado…………………………………………………………………………..22

Muñeco con triángulos…………………………………………………………………..27

Casita……………………………………………………………………………………..34

Oso………………………………………………………………………………………..48

Cubo con Cubitos………………………………………………………………………..53

Muñeco con formas ……………………………………………………………………..59

AnimaciónCírculos………………………………………………………………………68

Animación sistema solar………………………………………………………………..72

Movimiento en Ocho…………………………………………………………………….78

Semáforo………………………………………………………………………………….82

Objetos 3D Wire (9)……………………………………………………………………..88

Cubo 3D con líneas




                                     3         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

                               Tablero de Ajedrez

Descripción.- Realiza por medio de la instrucción glpoints un tablero de ajedrez
con cuadros del mismo tamaño el tablero estará conformado por 8 cuadrados de
base y 8 de altura, con los colores que lleva un tablero de ajedrez.

Borrador con coordenada utilizadas:------

Código:

#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, 500.0, 0.0, 500.0);    //vista ortogonal

}



void dibuja(void)              //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);               //borra pantalla

glColor3f(0.0 , 0.0 , 0.0);

glPointSize(50);

glBegin(GL_POINTS);


                                                           4        28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(50,50);

glVertex2f(50,150);

glVertex2f(50,250);

glVertex2f(50,350);



glVertex2f(100,100);

glVertex2f(100,200);

glVertex2f(100,300);

glVertex2f(100,400);



glVertex2f(150,50);

glVertex2f(150,150);

glVertex2f(150,250);

glVertex2f(150,350);



glVertex2f(200,100);

glVertex2f(200,200);

glVertex2f(200,300);

glVertex2f(200,400);



glVertex2f(250,50);

glVertex2f(250,150);

glVertex2f(250,250);


                                     5         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(250,350);



glVertex2f(300,100);

glVertex2f(300,200);

glVertex2f(300,300);

glVertex2f(300,400);



glVertex2f(350,50);

glVertex2f(350,150);

glVertex2f(350,250);

glVertex2f(350,350);



glVertex2f(400,100);

glVertex2f(400,200);

glVertex2f(400,300);

glVertex2f(400,400);



{

glClear(GL_COLOR_BUFFER_BIT);   //borra pantalla

glColor3f(1.0 , 1.0 , 1.0);

glPointSize(50);

glBegin(GL_POINTS);

glVertex2f(50,100);


                                            6      28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(50,200);

glVertex2f(50,300);

glVertex2f(50,400);

               //forza dibujo

}

glVertex2f(100,50);

glVertex2f(100,150);

glVertex2f(100,250);

glVertex2f(100,350);



glVertex2f(150,100);

glVertex2f(150,200);

glVertex2f(150,300);

glVertex2f(150,400);



glVertex2f(200,50);

glVertex2f(200,150);

glVertex2f(200,250);

glVertex2f(200,350);



glVertex2f(250,100);

glVertex2f(250,200);

glVertex2f(250,300);


                                     7         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(250,400);



glVertex2f(300,50);

glVertex2f(300,150);

glVertex2f(300,250);

glVertex2f(300,350);



glVertex2f(350,100);

glVertex2f(350,200);

glVertex2f(350,300);

glVertex2f(350,400);



glVertex2f(400,50);

glVertex2f(400,150);

glVertex2f(400,250);

glVertex2f(400,350);




glEnd();

glFlush();             //forza dibujo

}




                                        8      28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac



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 dfj");              //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

}




                                                             9            28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

                                      Estrella

Descripción.- Realiza por medio de la instrucción gl lines una estrella

Borrador con coordenada utilizadas:------

Código:

#include <GL/glut.h>

#include <GL/gl.h>

#include <GL/glu.h>



void inicializa(void)

{

glClearColor(1.0,1.0,1.0,1.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

{

glClear(GL_COLOR_BUFFER_BIT);                 //borra pantalla

glColor3f(0.0 , 0.0 , 0.0);

glLineWidth(15);

glBegin(GL_LINES);

glVertex2i(450,400);


                                                         10               28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(500,700);



glVertex2i(500,700);

glVertex2i(550,400);



glVertex2i(550,400);

glVertex2i(400,600);



glVertex2i(400,600);

glVertex2i(600,600);



glVertex2i(600,600);

glVertex2i(450,400);

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(700,700);              //tamaño de la ventana

                                                        11             28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

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

}




                                                     12               28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

                                 Cubo con líneas

Descripción.- Realiza por medio de la instrucción Gl Lines un cubo en el centro de
la pantalla

Borrador con coordenada utilizadas:------

Código:

#include <GL/glut.h>

#include <GL/gl.h>

#include <GL/glu.h>



void inicializa(void)

{

glClearColor(1.0,1.0,1.0,1.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

{

glClear(GL_COLOR_BUFFER_BIT);                 //borra pantalla

glColor3f(0.0 , 0.0 , 0.0);

glLineWidth(4);

glBegin(GL_LINES);

glVertex2i(250,550);

                                                         13          28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(550,550);



glVertex2i(250,550);

glVertex2i(250,250);



glVertex2i(250,250);

glVertex2i(550,250);



glVertex2i(250,250);

glVertex2i(400,400);



glVertex2i(550,550);

glVertex2i(550,250);



glVertex2i(400,400);

glVertex2i(400,700);



glVertex2i(250,550);

glVertex2i(400,700);



glVertex2i(400,400);

glVertex2i(700,400);




                                    14         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(550,250);

glVertex2i(700,400);



glVertex2i(400,700);

glVertex2i(700,700);



glVertex2i(550,550);

glVertex2i(700,700);



glVertex2i(700,700);

glVertex2i(700,400);




glEnd();

glFlush();                    //forza dibujo

}




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

{


                                                     15   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

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("CUBO");            //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

}




                                                     16               28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                      Piramide

Descripción.- Realiza por medio de la instrucción GL_LINES una pirámide
apreciada desde arriba

Borrador con coordenada utilizadas:------

Código:

#include <GL/glut.h>

#include <GL/gl.h>

#include <GL/glu.h>



void inicializa(void)

{

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

glMatrixMode(GL_PROJECTION);                //Modo de proyeccion

glLoadIdentity();              //Establece los parametros de proyeccion

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

}



void dibuja(void)              //funcion dibuja

{

    int i,a=10;

glClear(GL_COLOR_BUFFER_BIT);               //borra pantalla

glColor3f(3.0 , 0.0 , 0.0);

glLineWidth(2);

glBegin(GL_LINES);

                                                       17           28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

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

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

//abajo

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

glVertex2i (260+a*i,240-a*i);

//derecha

glVertex2i (260+a*i,240-a*i);

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

//izquierda

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

glVertex2i (240-a*i,260+a*i);

//arriba

glVertex2i (240-a*i,260+a*i);

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

}

glEnd();

glColor3f(3.0 , 0.0 , 0.0);

glLineWidth(2);

glBegin(GL_LINES);

//punto superior izquierdo

glVertex2i (240,260);

glVertex2i (230,270);

glVertex2i (220,280);


                                                               18   28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i (210,290);

glVertex2i (200,300);

glVertex2i (190,310);

glVertex2i (180,320);

glVertex2i (170,330);

glVertex2i (160,340);

glVertex2i (150,350);

//punto superir derecho

glVertex2i (260,260);

glVertex2i (270,270);

glVertex2i (280,280);

glVertex2i (290,290);

glVertex2i (300,300);

glVertex2i (310,310);

glVertex2i (320,320);

glVertex2i (330,330);

glVertex2i (340,340);

glVertex2i (350,350);



//punto inferior derecho

glVertex2i (260,240);

glVertex2i (270,230);

glVertex2i (280,220);


                                    19         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i (290,210);

glVertex2i (300,200);

glVertex2i (310,190);

glVertex2i (320,180);

glVertex2i (330,170);

glVertex2i (340,160);

glVertex2i (350,150);

//punto inferior izquierdo

glVertex2i (240,240);

glVertex2i (230,230);

glVertex2i (220,220);

glVertex2i (210,210);

glVertex2i (200,200);

glVertex2i (190,190);

glVertex2i (180,180);

glVertex2i (170,170);

glVertex2i (160,160);

glVertex2i (150,150);

glEnd();

glFlush();                   //forza dibujo

}




                                              20   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac




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

}




                                                         21               28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                 Cubo Delineado

Descripción.- Realiza por medio de la instrucción GL_QUADS un cubo con cada
una de sus cara de diferentes colores y con la propiedad LineWidth para modificar
el grosor de las lineas.

Borrador con coordenada utilizadas:------

Código:

#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, 500.0, 0.0, 500.0);    //vista ortogonal

}



void dibuja(void)              //funcion dibuja

{

    glClear(GL_COLOR_BUFFER_BIT);                 //borra pantalla




glColor3f(1.0 , 0.0 , 0.0);


                                                         22          28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glBegin(GL_QUADS);

glVertex2f(100,200);

glVertex2f(300,200);

glVertex2f(300,400);

glVertex2f(100,400);

glEnd();

glColor3f(0.0 , 1.0 , 0.0);

glBegin(GL_QUADS);

glVertex2f(300,200);

glVertex2f(300,400);

glVertex2f(400,480);

glVertex2f(400,300);

glEnd();

glColor3f(0.0 , 0.0 , 1.0);

glBegin(GL_QUADS);

glVertex2f(300,400);

glVertex2f(100,400);

glVertex2f(200,480);

glVertex2f(400,480);



glEnd();

glColor3f(0.0,0.0,0.0);

glLineWidth(10);


                                    23         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glBegin(GL_LINES);

glVertex2f(100,200);

glVertex2f(100,400);

glVertex2f(100,400);

glVertex2f(300,400);

glVertex2f(300,400);

glVertex2f(300,200);

glVertex2f(300,200);

glVertex2f(100,200);



glEnd();

glColor3f(0.0,0.0,0.0);

glLineWidth(10);

glBegin(GL_LINE_STRIP);

glVertex2f(300,200);

glVertex2f(300,400);

glVertex2f(400,480);

glVertex2f(400,300);

glVertex2f(300,200);



glVertex2f(300,400);

glVertex2f(100,400);

glVertex2f(200,480);


                                    24         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

glVertex2f(400,480);

glVertex2f(300,400);




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


                                                         25               28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

return 0;            //retorna un valor de cero

}




                                           26     28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

                              Muñeco con triángulos

Descripción.- Realiza por medio de la instrucción GL_TRIANGLES,GL_QUADS,GL
LINES Y GL POLIGON un jugador de futbol

Borrador con coordenada utilizadas:------

Código:

#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, 500.0, 0.0, 500.0);    //vista ortogonal

}



void dibuja(void)              //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);               //borra pantalla

glColor3f(0.0 , 1.0 , 0.0);

glLineWidth(3);

glBegin(GL_QUADS);

glVertex2f(0,0);

                                                       27           28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(500,0);

glVertex2f(500,45);

glVertex2f(0,45);

glEnd();

glColor3f(1.0 , 1.0 , 0.0);

glLineWidth(3);

glBegin(GL_TRIANGLES);

glVertex2f(151,387);

glVertex2f(302,387);

glVertex2f(227,436);



glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(188,387);

glVertex2f(265,387);

glVertex2f(227,317);



glEnd();

glColor3f(0.0 , 1.0 , 0.0);

glLineWidth(3);

glBegin(GL_QUADS);

glVertex2f(175,317);

glVertex2f(175,199);

glVertex2f(278,199);


                                    28         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(278,317);



glEnd();                       //forza dibujo   //borra pantalla

glColor3f(0.99 , 0.8 , 0.4);

glLineWidth(3);

glBegin(GL_TRIANGLES);

glColor3f(1.0 , 1.0 , 0.0);

glVertex2f(364,330);

glVertex2f(416,330);

glVertex2f(390,202);

glVertex2f(355,188);

glVertex2f(390,202);

glVertex2f(425,188);

glVertex2f(339,330);

glVertex2f(352,324);

glVertex2f(364,330);

glVertex2f(339,330);

glVertex2f(352,324);

glVertex2f(388,212);

glVertex2f(421,330);

glVertex2f(430,324);

glVertex2f(442,330);

glVertex2f(393,212);


                                                        29         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(430,324);

glVertex2f(442,330);




glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(215,317);

glVertex2f(239,317);

glVertex2f(227,295);

glColor3f(0.0 , 1.0 , 0.0);

glVertex2f(175,317);

glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(124,199);

glVertex2f(110,246);

glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(98,268);

glVertex2f(86,224);

glVertex2f(109,246);

glColor3f(0.0,1.0,0.0);

glVertex2f(277,317);

glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(329,200);

glVertex2f(342,246);

glColor3f(0.99 , 0.8 , 0.4);


                                    30         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(342,246);

glVertex2f(355,266);

glVertex2f(374,221);

glColor3f(1.0,1.0,1.0);

glVertex2f(214,200);

glVertex2f(175,163);

glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(213,34);

glColor3f(1.0,0.0,0.0);

glVertex2f(214,34);

glVertex2f(175,57);

glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(213,34);

glColor3f(1.0,0.0,0.0);

glVertex2f(213,34);

glVertex2f(175,57);

glVertex2f(149,34);

glColor3f(1.0,1.0,1.0);

glVertex2f(239,199);

glVertex2f(239,163);

glColor3f(0.99 , 0.8 , 0.4);

glVertex2f(303,163);

glColor3f(0.99 , 0.8 , 0.4);


                                    31         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(303,163);

glVertex2f(291,105);

glVertex2f(277,139);

glColor3f(1.0,0.0,0.0);

glVertex2f(291,105);

glVertex2f(328,127);

glVertex2f(354,104);

glEnd();

glColor3f(1.0 , 1.0 , 0.0);

glBegin(GL_POLYGON);

glVertex2f(330,104);

glVertex2f(353,82);

glVertex2f(353,56);

glVertex2f(330,33);

glVertex2f(302,33);

glVertex2f(278,56);

glVertex2f(278,82);

glVertex2f(302,104);

glEnd();

glFlush();                    //forza dibujo

}




                                               32   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

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

}




                                                         33               28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                      Casita

Descripción.- Realiza por medio de la instrucción ya aprendidas una casa de dos
pisos con patio y cerca ayúdate con la instrucción if

Borrador con coordenada utilizadas:------

Código:

#include <GL/glut.h>

#include <GL/gl.h>



void inicializa(void)

{

glClearColor (2.0, 1.0, 1.0, 1.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(0.0,1000.0,0.0,600.0);

}



void dibuja(void)

{

       int i,j=0;



/* borra la pantalla */

glClear(GL_COLOR_BUFFER_BIT);



// Cerca

                                                   34             28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

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

glBegin(GL_POLYGON);

glColor3f (1.0, 0.3, 0.0);

glVertex2f(0+20*i,292);

glVertex2f(5+20*i,300);

glVertex2f(10+20*i,292);

glVertex2f(10+20*i,240);

glVertex2f(0+20*i,240);

glEnd();

}

glBegin(GL_QUADS);



glVertex2i(0,289);

glVertex2i(1000,289);

glVertex2i(1000,280);

glVertex2i(0,280);



//pasto

glColor3f (0.4, 0.8, 0.2);

glVertex2i(0,240);

glVertex2i(1000,240);

glVertex2i(1000,120);

glVertex2i(0,120);


                                    35         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

//banqueta

glColor3f (0.6, 0.6, 0.6);

glVertex2i(0,120);

glVertex2i(1000,120);

glVertex2i(1000,90);

glVertex2i(0,90);



glColor3f (1.0, 1.0, 0.0);

glVertex2i(0,90);

glVertex2i(1000,90);

glVertex2i(1000,82);

glVertex2i(0,82);

//calle

glColor3f (0.3, 0.3, 0.3);

glVertex2i(0,82);

glVertex2i(1000,82);

glVertex2i(1000,0);

glVertex2i(0,0);



//piedras

glColor3f (0.6, 0.6, 0.6);

glVertex2i(105,180);

glVertex2i(135,180);


                                     36         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(135,165);

glVertex2i(105,165);



glVertex2i(165,180);

glVertex2i(195,180);

glVertex2i(195,165);

glVertex2i(165,165);



glVertex2i(105,150);

glVertex2i(135,150);

glVertex2i(135,135);

glVertex2i(105,135);



glVertex2i(165,150);

glVertex2i(195,150);

glVertex2i(195,135);

glVertex2i(165,135);

//entrada

glVertex2i(345,195);

glVertex2i(405,195);

glVertex2i(405,120);

glVertex2i(345,120);




                                    37         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

// Casa

glColor3f (1.0, 0.8, 0.0);

glVertex2i(210,450);

glVertex2i(540,450);

glVertex2i(540,195);

glVertex2i(210,195);

// Techo casa

glColor3f (0.9, 0.09, 0.0);

glVertex2i(210,495);

glVertex2i(540,495);

glVertex2i(585,450);

glVertex2i(165,450);

// Techo cochera

glVertex2i(75,345);

glVertex2i(210,345);

glVertex2i(210,315);

glVertex2i(60,315);

//Cortina

glColor3f (0.9, 0.9, 0.9);

glVertex2i(90,315);

glVertex2i(210,315);

glVertex2i(210,195);

glVertex2i(90,195);


                                    38         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac



//Puerta

glColor3f (1.0, 1.0, 1.0);

glVertex2i(345,300);

glVertex2i(405,300);

glVertex2i(405,195);

glVertex2i(345,195);




//Columnas

glColor3f (0.7, 0.5, 0.3);

glVertex2i(75,315);

glVertex2i(90,315);

glVertex2i(90,195);

glVertex2i(75,195);



glVertex2i(210,330);

glVertex2i(540,330);

glVertex2i(540,315);

glVertex2i(210,315);




glVertex2i(330,435);


                                    39         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(345,435);

glVertex2i(345,195);

glVertex2i(330,195);



glVertex2i(405,435);

glVertex2i(420,435);

glVertex2i(420,195);

glVertex2i(405,195);



//Ventanas i

glColor3f (0.7, 0.7, 1.0);

glVertex2i(240,435);

glVertex2i(300,435);

glVertex2i(300,375);

glVertex2i(240,375);



glVertex2i(240,300);

glVertex2i(300,300);

glVertex2i(300,240);

glVertex2i(240,240);



//Ventanas d

glVertex2i(450,435);


                                    40         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(510,435);

glVertex2i(510,375);

glVertex2i(450,375);



glVertex2i(450,300);

glVertex2i(510,300);

glVertex2i(510,240);

glVertex2i(450,240);

//Ventanas balcon

glVertex2i(345,435);

glVertex2i(405,435);

glVertex2i(405,330);

glVertex2i(345,330);



//Ventanas puerta

glVertex2i(360,285);

glVertex2i(390,285);

glVertex2i(390,210);

glVertex2i(360,210);



//Tallos

glColor3f (0.5, 0.3, 0.2);

glVertex2i(670,225);


                                    41         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(700,225);

glVertex2i(700,150);

glVertex2i(670,150);



glVertex2i(875,225);

glVertex2i(905,225);

glVertex2i(905,150);

glVertex2i(875,150);




glEnd();



glBegin(GL_TRIANGLES);

// Techo balcon

glColor3f (0.5, 0.3, 0.2);

glVertex2i(375,480);

glVertex2i(435,435);

glVertex2i(315,435);

glEnd();

//arboles

glLineWidth (4);

glBegin(GL_LINES);

glColor3f (0.0, 0.7, 0.0);


                                    42         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

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

glVertex2i(680-3*i,540-10*j);

glVertex2i(690+3*i,540-10*j);

glVertex2i(685-3*i,535-10*j);

glVertex2i(695+3*i,535-10*j);



glVertex2i(885-3*i,540-10*j);

glVertex2i(895+3*i,540-10*j);

glVertex2i(890-3*i,535-10*j);

glVertex2i(900+3*i,535-10*j);

j=j+1;

}

glEnd();



//Linea Calle

glLineWidth (4);

glColor3f (0.0, 0.0, 0.0);

glBegin(GL_LINES);



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

glVertex2i(0+120*i,41);

glVertex2i(90+120*i,41);

}


                                    43         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac



//Barandal

glVertex2i(344,375);

glVertex2i(406,375);

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

glVertex2i(345+10*i,375);

glVertex2i(345+10*i,330);

}

//Divicion Ventana

glVertex2i(240,262);

glVertex2i(300,262);

glVertex2i(240,397);

glVertex2i(300,397);

glVertex2i(450,397);

glVertex2i(510,397);

glVertex2i(450,262);

glVertex2i(510,262);

glVertex2i(375,434);

glVertex2i(375,375);

glVertex2i(270,397);

glVertex2i(270,375);

glVertex2i(270,262);

glVertex2i(270,240);


                                    44         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac



glVertex2i(480,397);

glVertex2i(480,375);

glVertex2i(480,262);

glVertex2i(480,240);



glEnd();




//Contorno ventanas

glBegin(GL_LINE_LOOP);

glVertex2i(240,435);

glVertex2i(300,435);

glVertex2i(300,375);

glVertex2i(240,375);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(240,300);

glVertex2i(300,300);

glVertex2i(300,240);

glVertex2i(240,240);

glEnd();

glBegin(GL_LINE_LOOP);


                                    45         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(450,435);

glVertex2i(510,435);

glVertex2i(510,375);

glVertex2i(450,375);

glEnd();

glBegin(GL_LINE_LOOP);

glVertex2i(450,300);

glVertex2i(510,300);

glVertex2i(510,240);

glVertex2i(450,240);



glEnd();

//Chapa

glPointSize(4);

glColor3f (0.0, 0.0, 0.0);

glBegin(GL_POINTS);

glVertex2i(352,247);

glVertex2i(352,245);

glEnd();



glFlush();

}




                                    46         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

int main(int argc, char** argv)

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);

glutInitWindowSize(1000,600);

glutInitWindowPosition(100,100);

glutCreateWindow("My Home");

inicializa();

glutDisplayFunc(dibuja);

glutMainLoop();

return 0;

}




                                                47   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                                Oso

Descripción.- Realiza con ayuda de la siguiete instrucción

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

}

La cual corresponde a la realización de círculos, realiza un oso.

Borrador con coordenada utilizadas:------

Código:

#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

                                                            48           28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

glLoadIdentity();                    //Establece los parametros de proyeccion

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

}

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

{

       int angulo=0;

       glPointSize(t);

       glBegin(GL_POINTS);

//glColor3f (1.0, 0.0, 1.0);

       glVertex2f(x,y);

       //glColor3f(0,0.0,0.0);

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

       glEnd();

}

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

{

int angulo=0;

       glBegin(GL_TRIANGLE_FAN);

// glColor3f (1.0, 0.0, 1.0);

       glVertex2f(x,y);



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


                                                                49        28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

         glEnd();

}

void dibuja(void)           //funcion dibuja

{

glClear(GL_COLOR_BUFFER_BIT);

glColor3f(0.5,0.4,0.3);   //borra pantalla

circulo(250,400,50);

//ojos

glColor3f(0.0,0.0,0.0);   //borra pantalla

circulo(250,390,9);

glColor3f(1.0,1.0,1.0);   //borra pantalla

circulo(230,410,15);

glColor3f(1.0,1.0,1.0);   //borra pantalla

circulo(270,410,15);

glColor3f(0.0,0.0,0.0);   //borra pantalla

circulo(230,410,10);

glColor3f(0.0,0.0,0.0);   //borra pantalla

circulo(270,410,10);

glColor3f(0.5,0.4,0.3);

circulo(250,250,100);

glColor3f(0.6,0.5,0.4);

circulo(250,250,75);

glColor3f(0.5,0.4,0.3);


                                               50   28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

circulo(200,450,30);

glColor3f(0.5,0.4,0.3);

circulo(300,450,30);

glColor3f(0.6,0.5,0.4);

circulo(200,450,20);

glColor3f(0.6,0.5,0.4);

circulo(300,450,20);//manos

glColor3f(0.5,0.4,0.3);

circulo(350,300,35);

glColor3f(0.5,0.4,0.3);

circulo(150,300,35);

glColor3f(0.6,0.5,0.4);

circulo(350,300,25);

glColor3f(0.6,0.5,0.4);

circulo(150,300,25);;//patas

glColor3f(0.5,0.4,0.3);

circulo(170,170,35);

glColor3f(0.5,0.4,0.3);

circulo(320,170,35);

glColor3f(0.6,0.5,0.4);

circulo(170,170,25);

glColor3f(0.6,0.5,0.4);

circulo(320,170,25);


                                    51         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

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

}




                                                            52               28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                         Cubo con cubitos

Descripción.- Realiza por medio de la instrucción if y con los valores x y t l un cubo
con cubos pequeños

Borrador con coordenada utilizadas:------

Código:

#include <GL/glut.h>

#include <GL/gl.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, 600.0, 0.0, 600.0);            //vista ortogonal

}



void cubo (int x, int y,int t,int l){

    double a=.8,b=.6;

glColor3f(0.5 , 0.9 , 0.6);

glBegin(GL_QUADS);

glVertex2f(x,y);

glVertex2f(x+t,y);

glVertex2f(x+t,y+t);

glVertex2f(x,y+t);

glColor3f(0.02 , 0.9 , 0.1);

                                                               53            28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(x,y+t);

glVertex2f(x+t,y+t);

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

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

glColor3f(0.07 , 0.5 , 0.08);

glVertex2f(x+t,y+t);

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

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

glVertex2f(x+t,y);

glEnd();



glColor3f(0.0 , 0.0 , 0.0);

glLineWidth(l);

glBegin(GL_LINES);

glVertex2f(x,y);

glVertex2f(x+t,y);

glVertex2f(x+t,y);

glVertex2f(x+t,y+t);

glVertex2f(x+t,y+t);

glVertex2f(x,y+t);

glVertex2f(x,y);




                                    54         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(x,y+t);

glVertex2f(x+t,y+t);

glVertex2f(x+t,y+t);

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

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

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

glVertex2f(x,y+t);

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

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



glVertex2f(x+t,y+t);

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

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

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

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

glVertex2f(x+t,y);

glVertex2f(x+t,y+t);

glEnd();

    }




void dibuja(void)                  //funcion dibuja

{


                                                      55   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

glClear(GL_COLOR_BUFFER_BIT);         //borra pantalla

glColor3f(1.0 , 0.0 , 0.0);



for(int k=0;k<=10;k++){

cubo(260-20*k*.8,220-20*k*.6,20,5);

}

for(int j=0;j<=9;j++){

cubo(280+20*j,420,20,5);

cubo(280+20*j,220,20,5);

}

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

cubo(260,240+20*i,20,5);

}

for(int k=0;k<=10;k++){

cubo(481-20*k*.8,220-20*k*.6,20,5);

}

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

cubo(481,240+20*i,20,5);

}



//traves traseras

for(int k=0;k<=10;k++){

cubo(260-20*k*.8,420-20*k*.6,20,5);


                                                56       28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

}

for(int j=0;j<=9;j++){

cubo(280+20*j,420,20,5);

}

//cubo delantero

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

cubo(100,100+20*i,20,5);

}

for(int j=0;j<=9;j++){

cubo(120+20*j,100,20,5);

cubo(120+20*j,300,20,5);

}

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

cubo(320,100+20*i,20,5);

}

for(int k=0;k<=10;k++){

cubo(481-20*k*.8,420-20*k*.6,20,5);

}

glFlush();                    //forza dibujo

}




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


                                                     57   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

{

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

}




                                                     58                28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                    Muñeco con formas

Descripción.- Realiza por medio de lo ya aprendido un muñeco mas detallado.

Borrador con coordenada utilizadas:------

Código:

#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, 600.0, 0.0, 600.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);}

                                                                59         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

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

glBegin(GL_TRIANGLES);

glColor3f(0.0,0.0,0.0);

glVertex2f(218,532);

glVertex2f(282,532);

glVertex2f(250,600);

glVertex2f(218,532);

                                                       60           28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(282,532);

glVertex2f(280,600);

glVertex2f(218,532);

glVertex2f(282,532);

glVertex2f(230,600);

glVertex2f(218,532);

glVertex2f(282,532);

glVertex2f(300,600);

glVertex2f(218,532);

glVertex2f(282,532);

glVertex2f(200,600);




glEnd();

glBegin(GL_QUADS);

glColor3f(0.9,0.7,0.6);

glVertex2f(230,500);

glVertex2f(270,500);

glVertex2f(270,400);

glVertex2f(230,400);

//cinturon

glColor3f(1.0,1.0,0.0);


                                    61         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(350,200);

glVertex2f(150,200);

glVertex2f(150,170);

glVertex2f(350,170);

glColor3f(0.0,0.0,0.0);

glVertex2f(280,200);

glVertex2f(220,200);

glVertex2f(220,170);

glVertex2f(280,170);

//camisa

glColor3f(1.0,0.0,0.0);

glVertex2f(150,400);

glVertex2f(350,400);

glVertex2f(350,200);

glVertex2f(150,200);

//ess

glVertex2f(150,50);

glVertex2f(100,50);

glVertex2f(70,20);

glVertex2f(150,20);

glVertex2f(400,50);

glVertex2f(350,50);

glVertex2f(350,20);


                                    62         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2f(430,20);




//brazo

glVertex2f(350,400);

glVertex2f(300,350);

glVertex2f(400,250);

glVertex2f(450,300);

//mano

glColor3f(0.9,0.7,0.6);

glVertex2f(420,270);

glVertex2f(440,300);

glVertex2f(490,250);

glVertex2f(470,220);



glVertex2f(80,270);

glVertex2f(60,300);

glVertex2f(10,250);

glVertex2f(10,220);



//brazo2


                                    63         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glColor3f(1.0,0.0,0.0);

glVertex2f(150,400);

glVertex2f(200,350);

glVertex2f(100,250);

glVertex2f(50,300);

glEnd();

glPointSize(15);

glBegin(GL_POINTS);



glColor3f(0.0,0.7,0.6);

glVertex2f(250,325);

glVertex2f(250,275);

glVertex2f(250,225);

glEnd();

//pedaso de triangulo

glBegin(GL_TRIANGLES);

glColor3f(0.9,0.7,0.6);

glVertex2f(270,400);

glVertex2f(230,400);

glVertex2f(250,350);

//pantalon

//pieseses

glEnd();


                                    64         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glBegin(GL_POLYGON);

glColor3f(0.0,0.0,1.0);

glVertex2f(150,170);

glVertex2f(350,170);

glVertex2f(400,50);

glVertex2f(350,50);

glVertex2f(250,120);

glVertex2f(150,50);

glVertex2f(100,50);




glEnd();

glColor3f(0.9,0.7,0.6);   //borra pantalla

circulo(170,532,20);

circulo(330,532,20);

circulo(250,500,75);

glColor3f(0.0,0.0,0.0);

circulo(230,510,10);

circulo(270,510,10);

//dedos

glColor3f(0.9,0.7,0.6);

circulo(10,230,15);

circulo(30,235,10);


                                             65   28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

circulo(7,235,10);

circulo(7,240,10);



circulo(460,225,15);

circulo(475,225,10);

circulo(485,235,10);

circulo(495,245,10);

      //borra pantalla

glEnd();

glBegin(GL_LINES);

glColor3f(0.0,0.0,0.0);

glVertex2f(250,510);

glVertex2f(250,490);

glVertex2f(250,490);

glVertex2f(260,490);

glVertex2f(230,450);

glVertex2f(270,450);

glEnd();

//CAMISA




                                    66         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac



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

}




                                                         67               28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                        Animación circulo

Descripción.- Realiza por medio de la instrucción de circulo un movimiento en
alrededor de la pantalla.

Borrador con coordenada utilizadas:------

Código:

#include <unistd.h>

#include <GL/glut.h>

#include <GL/gl.h>

#include <math.h>

int x=1, y=1, z=1, t=1;

void inicializa(void)

{

glClearColor(0.0,0.0,1.0,0.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(0.0, 700.0, 0.0,700.0);// el ancho y largo de nuestra pantalla

}



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

{

int angulo=0;

       glBegin(GL_TRIANGLE_FAN); glColor3f (0.5, 0.5, 0.5);

       glVertex2f(x,y);

       glColor3f(0,0.0,0.0);

                                                            68        28/10/2012
Centro de estudios Científicos y Tecnológicos del
          Estado de México (CECYTEM)-Tecámac

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

if(x>=1 && x<500){

circulo(100+x,600,40);

glFlush();

x++;

}

if(y>=1 && y<500 && x==500){

circulo(600,600-y,40);

glFlush();

y++;

}

if(z>=1 && z<500 && y==500&& x==500 ){

circulo(600-z,100,40);

glFlush();

z++;

}

if(t>=1 && t<500 && z==500 && y==500&& x==500 ){ //reiniciar

       circulo(100,100+t,40);

                                                    69              28/10/2012
Centro de estudios Científicos y Tecnológicos del
          Estado de México (CECYTEM)-Tecámac

glFlush();

t++;

}

if(t==500){x=1; y=1; z=1; t=1;}

glutSwapBuffers();

}

int main (int argc, char** argv)

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);

glutInitWindowSize(700,700);

glutInitWindowPosition(10,10);

glutCreateWindow("Ventana");

inicializa();

glutDisplayFunc(dibuja);

glutIdleFunc(dibuja);

glutMainLoop();

return 0;

}




                                           70           28/10/2012
Centro de estudios Científicos y Tecnológicos del
   Estado de México (CECYTEM)-Tecámac




                                71         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                 Animación sistema solar

Descripción.- Realiza por medio de la instrucción circulo y movimiento una
simulación del sistema solar

Borrador con coordenada utilizadas:------

Código:

#include <unistd.h>

#include <GL/glut.h>

#include <GL/gl.h>

#include <math.h>

int rad=100;

double ang=0,a=0,b=0;

void inicializa(void)

{

glClearColor(0.0,0.0,0.0,0.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla

}



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

{

       int angulo=0;

       glBegin(GL_TRIANGLE_FAN);

       glVertex2f(x,y);

                                                       72             28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac



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

       glEnd();

}



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

{

       int angulo=0;

       glPointSize(t);

       glBegin(GL_POINTS);

//glColor3f (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 dibuja(void)

{

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//esto

glColor3f (0.9,0.8, 0.0);

circulo(500,500,50);

glColor3f (1.0,1.0, 1.0);


                                                    73              28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

circuloc(500,500,1,70);

glColor3f (1.0,0.0, 0.0);

circulo( 500+ sin(ang) * 70,500 + cos(ang) * 70,10);



glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,150); //funcion circulo

glColor3f (0.5, 0.3, 0.2);

circulo( 500+ sin(a) * 150,500 + cos(a) * 150,10);



glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,200);

glColor3f (0.0, 0.0, 1.0);

circulo( 500- sin(b) * 200,500 + cos(b) * 200,20);



glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,250);

glColor3f (0.9, 0.4, 0.1);

circulo( 500- sin(a) * 250,500 + cos(a) * 250,20);



glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,250);

glColor3f (0.9, 0.4, 0.1);

circulo( 500- sin(a) * 250,500 + cos(a) * 250,20);


                                                       74   28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac




glColor3f (0.4, 0.8, 0.4);

circulo( 500+ sin(b) * 310,500 + cos(b) * 310,15);

glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,310);



glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,370);

glColor3f (0.4, 0.8, 0.0);

circulo( 500+ sin(ang) * 370,500 + cos(ang) * 370,15);



glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,400);

glColor3f (0.4, 0.0, 1.0);

circulo( 500- sin(ang) * 400,500 + cos(ang) * 400,15);



glColor3f (1.0,1.0, 1.0);

circuloc(500,500,1,460);

glColor3f (0.8, 0.7, 0.4);

circulo( 500+ sin(b) * 460,500 + cos(b) * 460,15);



glColor3f (1.0,1.0, 1.0);


                                                         75   28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

circuloc(500,500,1,490);

glColor3f (0.4, 0.5, 0.4);

circulo( 500- sin(b) * 490,500 + cos(b) * 490,15);




a+=0.1;

b+=0.2;

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

glutCreateWindow("Ventana");

                                                     76          28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

inicializa();

glutDisplayFunc(dibuja);

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

glutMainLoop();

return 0;

}




                                               77   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                    Movimiento en Ocho

Descripción.- Realiza por medio de las instrucciones del ejercicio del sistema solar
un movimiento en ocho como si fuese una carrera da autos con un solo circulo.

Borrador con coordenada utilizadas:------

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.0,0.0,1.0,0.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla

}



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

       int angulo=0;

       glBegin(GL_TRIANGLE_FAN);

       glVertex2f(x,y);




                                                         78           28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

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



glColor3f (0.9,0.8, 0.0);

circulo(500,300,250);

glColor3f (0.9,0.0, 0.0);

circulo(500,300,150);

glColor3f (0.9,0.8, 0.0);

circulo(500,700,250);

glColor3f (0.9,0.0, 0.0);

circulo(500,700,150);//ocho



if(a>=6.15 && a<=12.41){

circulo(500+ sin (a)*200,700- cos(a)*200,40);

a=a+ 0.03;

}

else{

circulo(500 + sin (b) *200,300-cos(b)*-200,40);

b=b + 0.1;

if(b>12.4){a=6.15;b=6.15;}

                                                    79              28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

for(int j=0; j<=10000000; j++) {}

}



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

glutCreateWindow("Ventana");

inicializa();

glutDisplayFunc(dibuja);

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

glutMainLoop();

return 0;

}



                                                     80            28/10/2012
Centro de estudios Científicos y Tecnológicos del
   Estado de México (CECYTEM)-Tecámac




                                81         28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

                                           Semáforo

Descripción.- Realiza por medio de la instrucción utilizadas en el movimiento en
ocho un semáforo en el cual parpadeedos veces el verde luego cambia al amarillo
y después al rojo

Borrador con coordenada utilizadas:------

Código:

#include <unistd.h>

#include <GL/glut.h>

#include <GL/gl.h>

#include <math.h>

int rad=100;

double ang=0,a=0,b=0,c=0,d=0,e=0,f=0,g=0;

void inicializa(void)

{

glClearColor(0.0,0.0,0.0,0.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(0.0, 500.0, 0.0, 500.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);


                                                      82               28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

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

      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

glBegin(GL_QUADS);//Cuadros fondo semaforo

glColor3f(0.44 , 0.72 , 0.25);

glVertex2i(150,437);

glVertex2i(350,437);

glVertex2i(350,182);


                                                    83              28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glVertex2i(150,182);



glVertex2i(1,255);

glVertex2i(500,255);

glVertex2i(500,320);

glVertex2i(1,320);

glEnd();



glColor3f(0.0,0.0,0.0);//Luces Verde

circulo(247,226,30);



glColor3f(0.0,0.0,0.0);//Luces Amarrilla

circulo(247,302,30);



glColor3f(0.0,0.0,0.0);//Luces Roja

circulo(247,381,30);




a=a+1; //velocidad entre mas grande mas rapido y entre menos mas lento

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

if(a>1 && a<20){

glColor3f(1.0,0.0,0.0);//Luces Roja


                                                  84              28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

circulo(247,381,30);

}




if(a>20 && a<45){

glColor3f(0.0,1.0,0.0);//Luces Roja

circulo(247,226,30);

}// se repite idefinidamente

if(a>45 && a<55){

glColor3f(0.0,1.0,0.0);//Luces Roja

circulo(247,226,30);

}// se repite idefinidamente

if(a>55 && a<55){

glColor3f(1.0,1.0,0.0);//Luces Roja

circulo(247,302,30);

}// se repite idefinidamente



if(a>50 && a<60){

glColor3f(1.0,1.0,0.0);//Luces Roja

circulo(247,302,30);

}// se repite idefinidamente




                                      85       28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

if(a>50 && a<55){

glColor3f(1.0,1.0,0.0);//Luces Roja

circulo(247,302,30);

}// se repite idefinidamente



if(a>60){a=0;}

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(500,500);

glutInitWindowPosition(10,10);

glutCreateWindow("Ventana");

inicializa();

glutDisplayFunc(dibuja);

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

glutMainLoop();

return 0;

                                                     86            28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

}




                                    87         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

                                   Objetos 3D Wire(9)

                                       (Nombre)

Descripción.- Realiza por medio de las instrucción que se te da tu nombre en 3D

Borrador con coordenada utilizadas:------

Código:

#include <GL/gl.h>

#include <GL/glu.h>

#include <GL/glut.h>

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

GLfloat anguloEsfera = 0.0f;

GLfloat girax=0,giray=0,zoom=0,e,f;

GLboolean malla=GL_FALSE, ejes=GL_TRUE;



void mover(void){

   glTranslated(0,0,zoom);

   glRotated(girax,1.0,0.0,0.0);

   glRotated(giray,0.0,1.0,0.0);

   }

void creaMalla(void){

   int i, long_eje=10;

   glColor3f(1.0,1.0,0.0);


                                                        88          28/10/2012
Centro de estudios Científicos y Tecnológicos del
          Estado de México (CECYTEM)-Tecámac

   glBegin(GL_LINES);

   for(i=-long_eje;i<=long_eje;i++){

   glVertex3f(i,-long_eje,0);

   glVertex3f(i,long_eje,0);

   glVertex3f(-long_eje,i,0);

   glVertex3f(long_eje,i,0);

   glVertex3f(i,0,-long_eje);

   glVertex3f(i,0,long_eje);

   glVertex3f(-long_eje,0,i);

   glVertex3f(long_eje,0,i);

   }

   glEnd();

   }



void creaEjes(void){

   glColor3f(0.0,0.0,0.0);

   glBegin(GL_LINES);

       glColor3f(0.0,0.0,1.0);

   glVertex3f(-11.0,0.0,0.0);

   glVertex3f(11.0,0.0,0.0);

 glColor3f(1.0,0.0,0.0);

   glVertex3f(0.0,-11.0,0.0);

   glVertex3f(0.0,11.0,0.0);


                                       89         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

    glColor3f(0.0,1.0,0.0);

   glVertex3f(0.0,0.0,-11.0);

   glVertex3f(0.0,0.0,11.0);

   glEnd();

      glBegin(GL_TRIANGLES);

        glColor3f(0.0,0.0,1.0);

   glVertex3f(11.0,0.0,0.0);

glVertex3f(10.5,0.0,-.50);

   glVertex3f(10.5,0.0,.50);

    glColor3f(1.0,0.0,0.0);

   glVertex3f(0.0,11.0,0.0);

   glVertex3f(-.50,10.5,0.0);

   glVertex3f(.50,10.5,0.0);

       glColor3f(0.0,1.0,0.0);

   glVertex3f(0.0,0.0,11.0);

   glVertex3f(-.50,0.0,10.5);

   glVertex3f(.50,0.0,10.5);

   //puntas otras

 glColor3f(0.0,0.0,1.0);

   glVertex3f(-11.0,0.0,0.0);

   glVertex3f(-10.5,0.0,.50);

   glVertex3f(-10.5,0.0,-.50);

    glColor3f(1.0,0.0,0.0);


                                    90         28/10/2012
Centro de estudios Científicos y Tecnológicos del
           Estado de México (CECYTEM)-Tecámac

    glVertex3f(0.0,-11.0,0.0);

    glVertex3f(.50,-10.5,0.0);

    glVertex3f(-.50,-10.5,0.0);

glColor3f(0.0,1.0,0.0);

    glVertex3f(0.0,0.0,-11.0);

    glVertex3f(.50,0.0,-10.5);

    glVertex3f(-.50,0.0,-10.5);

    glEnd();



    }

void init ( void )

{

    glClearColor(1.0,1.0,1.0,0.0)     ;// Definimos el negro como color de fondo



         glEnable(GL_DEPTH_TEST); // Activamos el z-Buffer

    glEnable(GL_LIGHTING);         // Activamos la iluminación

         glEnable(GL_LIGHT0);         // Activamos la luz 0



         glMatrixMode(GL_PROJECTION); // set the view volume shape

         glLoadIdentity(); glOrtho(-15,15,-15,15,-30,30);

         glMatrixMode(GL_MODELVIEW); // position and aim the camera

         glLoadIdentity();

         gluLookAt(5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0);


                                                              91          28/10/2012
Centro de estudios Científicos y Tecnológicos del
         Estado de México (CECYTEM)-Tecámac

}

void dibuja( void )

{

glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

         glEnable(GL_DEPTH_TEST); // Activamos el z-Buffer

     glEnable(GL_LIGHTING);      // Activamos la iluminación

         glEnable(GL_LIGHT0);       // Activamos la luz 0



         //glShadeModel(GL_FLAT);

glShadeModel (GL_SMOOTH);

// Cargamos la matriz identidad para reiniciar las transformaciones

/*       float angulo;

         int i;

glLineWidth(20);

glBegin(GL_LINES);

         glColor3d(1,1,1);

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

      angulo = (GLfloat)i*3.14159f/180.0f; // grados a radianes

         glColor3d(1,1,1);

      glVertex3i(0,0,-3);

glVertex3f(0+cos(angulo)*45, 0+sin(angulo)*45,0);

}

glEnd();*/


                                                            92        28/10/2012
Centro de estudios Científicos y Tecnológicos del
         Estado de México (CECYTEM)-Tecámac

  // Colocamos una luz

glLightfv(GL_LIGHT0,GL_DIFFUSE,(GLfloat []){1.0f,1.0f,1.0f,0.0f}); // Color de la
luz

glLightfv(GL_LIGHT0,GL_AMBIENT,(GLfloat []){1.0, 1.0, 1.0, 4.0}); // Luz ambiente

glLightfv(GL_LIGHT0,GL_POSITION,(GLfloat []){0.0f,12.0f,5.0f,0.0f}); // Posición
de la luz

glLightfv(GL_LIGHT0,GL_EMISSION,(GLfloat []){0.5,0.5,0.5,1.0});

//glShadeModel (GL_SMOOTH);

// esfera

glPushMatrix();

mover();

if(malla) creaMalla();

if(ejes) creaEjes();

//glRotatef(anguloEsfera, 1.0f, 1.0f,0.0f);

glColor3f(1.0,1.0,0.0);

//R

glTranslatef(-8.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);


                                                    93              28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(-1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(2.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);


                                    94         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,-1.0, 0.0);

glutSolidCube(1);

glTranslatef(-1.0,2.0, 0.0);

glutSolidCube(1);

glTranslatef(3.0,-2.0, 0.0);

glutSolidCube(1);


                                    95         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,-4.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(2.0,-4.0, 0.0);


                                    96         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(0.0,1.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,-4.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);

glTranslatef(1.0,0.0, 0.0);

glutSolidCube(1);



// AQUI PONES TU NOMBRE



//AQUI

//AQUI

//AQUI//AQUI

//AQUI//AQUI//AQUI

//AQUI


                                    97         28/10/2012
Centro de estudios Científicos y Tecnológicos del
           Estado de México (CECYTEM)-Tecámac

glPopMatrix ();

glFlush();

glutSwapBuffers ();

//anguloEsfera+=2.0f;

}

void reshape(int w, int h){

glClearColor(1.0,1.0,1.0,0.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

glOrtho(-15,15,-15,15,-30,30);

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

glClear(GL_DEPTH_TEST);

}

void activo(int x,int y){

// x= e;

    //y= f;

girax=y;

giray=700-x;



        glutPostRedisplay();

    }




                                        98         28/10/2012
Centro de estudios Científicos y Tecnológicos del
       Estado de México (CECYTEM)-Tecámac

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

   switch(key){

           case 27:

              exit(0);

           case '+':

              zoom++;

              break;

           case '-':

              zoom--;

              break;

           case 'p':

              glMatrixMode(GL_PROJECTION);

              glLoadIdentity();

              gluPerspective(45,1,10,100);

              zoom=-40;

              break;

           case 'o':

              glMatrixMode(GL_PROJECTION);

              glLoadIdentity();

              glOrtho(-15,15,-15,15,-30,30);

              zoom=0;

              break;

           case 'm':


                                                 99   28/10/2012
Centro de estudios Científicos y Tecnológicos del
        Estado de México (CECYTEM)-Tecámac

               malla= !malla;

               break;

            case 'e':

               ejes= !ejes;

               default: break;

                }

                glutPostRedisplay();

       }



void flechas(int key, int x, int y){

   switch(key){

            case GLUT_KEY_LEFT:

               giray-=15;

               break;

            case GLUT_KEY_RIGHT:

               giray+=15;

               break;

            case GLUT_KEY_UP:

               girax-=15;

               break;

            case GLUT_KEY_DOWN:

               girax+=15;

               break;


                                       100      28/10/2012
Centro de estudios Científicos y Tecnológicos del
           Estado de México (CECYTEM)-Tecámac

              default: break;

}

    glutPostRedisplay();

    }



int main ( int argc, char** argv )

{

glutInit (&argc, argv);

glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

glutInitWindowSize (600,600);

glutInitWindowPosition (100,100);

glutCreateWindow ("Objetos 3D");

//init ( );



glutDisplayFunc (dibuja);

//glutIdleFunc(dibuja);

glutReshapeFunc ( reshape );

glutKeyboardFunc(teclado);

glutSpecialFunc(flechas);

glutMotionFunc(activo);

glutMainLoop( );

return 0;

}


                                           101               28/10/2012
Centro de estudios Científicos y Tecnológicos del
   Estado de México (CECYTEM)-Tecámac




                               102         28/10/2012
Centro de estudios Científicos y Tecnológicos del
   Estado de México (CECYTEM)-Tecámac




                               103         28/10/2012

Más contenido relacionado

Destacado

herramientas de photoshop
herramientas de photoshopherramientas de photoshop
herramientas de photoshopequipo3-303
 
Manual photoshop
Manual photoshopManual photoshop
Manual photoshopequipo3-303
 
Accidentes por cuestiones tecnológicas
Accidentes por cuestiones  tecnológicasAccidentes por cuestiones  tecnológicas
Accidentes por cuestiones tecnológicasequipo3-303
 
Curso componentes jumbos
Curso componentes jumbosCurso componentes jumbos
Curso componentes jumbosjceg83
 
72419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-2
72419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-272419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-2
72419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-2ادريان ادريان ادريان
 
Voladura controlada
Voladura controladaVoladura controlada
Voladura controladaincognitokvs
 

Destacado (9)

herramientas de photoshop
herramientas de photoshopherramientas de photoshop
herramientas de photoshop
 
Manual photoshop
Manual photoshopManual photoshop
Manual photoshop
 
Accidentes por cuestiones tecnológicas
Accidentes por cuestiones  tecnológicasAccidentes por cuestiones  tecnológicas
Accidentes por cuestiones tecnológicas
 
Software libre para el diseño gráfico
Software libre para el diseño gráficoSoftware libre para el diseño gráfico
Software libre para el diseño gráfico
 
Explotación y Comercialización de la Sílice
Explotación y Comercialización de la SíliceExplotación y Comercialización de la Sílice
Explotación y Comercialización de la Sílice
 
Curso componentes jumbos
Curso componentes jumbosCurso componentes jumbos
Curso componentes jumbos
 
72419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-2
72419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-272419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-2
72419841 diseno-de-una-malla-de-perforacion-en-mineria-subterranea-parte-2
 
Diseno mallas-perforacion-y-voladura-subterranea
Diseno mallas-perforacion-y-voladura-subterraneaDiseno mallas-perforacion-y-voladura-subterranea
Diseno mallas-perforacion-y-voladura-subterranea
 
Voladura controlada
Voladura controladaVoladura controlada
Voladura controlada
 

Similar a Utilización del software de diseño(C++)

Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminadoKaren_Avilaa
 
Manual de practicas de open gl con dev c
Manual de practicas de open gl con dev cManual de practicas de open gl con dev c
Manual de practicas de open gl con dev csantios11
 
Manual de practicas de open gl con dev c
Manual de practicas de open gl con dev cManual de practicas de open gl con dev c
Manual de practicas de open gl con dev crayder1
 
Manual de practicas de open gl con dev c
Manual de practicas de open gl con dev cManual de practicas de open gl con dev c
Manual de practicas de open gl con dev csantios11
 
Manual de practicas de Open GL
Manual de practicas de Open GLManual de practicas de Open GL
Manual de practicas de Open GLAlincita Simon
 
Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez Mery_Angie_Ugalde
 
Programa de cuadrado en c++
Programa de cuadrado en c++Programa de cuadrado en c++
Programa de cuadrado en c++Aliana_A
 
Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce Pachoon Vargas
 
Manual de prácticas rivera y ruiz
Manual de prácticas rivera y ruizManual de prácticas rivera y ruiz
Manual de prácticas rivera y ruizPachoon Vargas
 
Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Fernando Gallego
 
Deber piramide y cubo
Deber piramide y cuboDeber piramide y cubo
Deber piramide y cuboPao Alvarez
 
Intro opengl
Intro openglIntro opengl
Intro openglsispro
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLkdeespana
 
Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Rodrigo Branas
 

Similar a Utilización del software de diseño(C++) (20)

Manual open gl
Manual open glManual open gl
Manual open gl
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
 
Manual de practicas de open gl con dev c
Manual de practicas de open gl con dev cManual 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 cManual 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 cManual 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 cManual de practicas de open gl con dev c
Manual de practicas de open gl con dev c
 
Manual de practicas de Open GL
Manual de practicas de Open GLManual de practicas de Open GL
Manual de practicas de Open GL
 
Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez
 
Renee opengl karla
Renee opengl karlaRenee opengl karla
Renee opengl karla
 
Programa de cuadrado en c++
Programa de cuadrado en c++Programa de cuadrado en c++
Programa de cuadrado en c++
 
Manual
ManualManual
Manual
 
Estela y naye
Estela y nayeEstela y naye
Estela y naye
 
Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce
 
Proyecto de rene
Proyecto de reneProyecto de rene
Proyecto de rene
 
Manual de prácticas rivera y ruiz
Manual de prácticas rivera y ruizManual de prácticas rivera y ruiz
Manual de prácticas rivera y ruiz
 
Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014
 
Deber piramide y cubo
Deber piramide y cuboDeber piramide y cubo
Deber piramide y cubo
 
Intro opengl
Intro openglIntro opengl
Intro opengl
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGL
 
Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)
 

Último

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 

Último (20)

Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 

Utilización del software de diseño(C++)

  • 1. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac UTILIZACIÓN DEL SOFTWARE DE DISEÑO (MANUAL DE OPENGL) Cantero MoralesRaúl Grupo: 303 Especialidad: Informática Profesor: Ing. Rene Domínguez Escalona 1 28/10/2012
  • 2. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac INTRODUCCION En este documento podrás apreciar la estructura de los documentos realizados alrededor del 2° parcial del 3°sementre de la carera de técnico en informática del plantel CECYTEM Tecámac, en las cuales consisten en pequeños y simples ejercicios sobre los manejos de OpenGL y algunas instrucciones que pueden ser de ayuda para aquellos que cursan esta materia. En este manual podrás apreciar trabajos desde lo básico con puntos hasta la realización de objetos 3D con movimiento. 2 28/10/2012
  • 3. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac ÍNDICE Tablero de Ajedrez ………………………………………………………………………4 Estrella…………………………………………………………………………………….10 Cubo con líneas………………………………………………………………………….13 Piramide…………………………………………………………………………………..17 Cubo delineado…………………………………………………………………………..22 Muñeco con triángulos…………………………………………………………………..27 Casita……………………………………………………………………………………..34 Oso………………………………………………………………………………………..48 Cubo con Cubitos………………………………………………………………………..53 Muñeco con formas ……………………………………………………………………..59 AnimaciónCírculos………………………………………………………………………68 Animación sistema solar………………………………………………………………..72 Movimiento en Ocho…………………………………………………………………….78 Semáforo………………………………………………………………………………….82 Objetos 3D Wire (9)……………………………………………………………………..88 Cubo 3D con líneas 3 28/10/2012
  • 4. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Tablero de Ajedrez Descripción.- Realiza por medio de la instrucción glpoints un tablero de ajedrez con cuadros del mismo tamaño el tablero estará conformado por 8 cuadrados de base y 8 de altura, con los colores que lleva un tablero de ajedrez. Borrador con coordenada utilizadas:------ Código: #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, 500.0, 0.0, 500.0); //vista ortogonal } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(0.0 , 0.0 , 0.0); glPointSize(50); glBegin(GL_POINTS); 4 28/10/2012
  • 5. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(50,50); glVertex2f(50,150); glVertex2f(50,250); glVertex2f(50,350); glVertex2f(100,100); glVertex2f(100,200); glVertex2f(100,300); glVertex2f(100,400); glVertex2f(150,50); glVertex2f(150,150); glVertex2f(150,250); glVertex2f(150,350); glVertex2f(200,100); glVertex2f(200,200); glVertex2f(200,300); glVertex2f(200,400); glVertex2f(250,50); glVertex2f(250,150); glVertex2f(250,250); 5 28/10/2012
  • 6. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(250,350); glVertex2f(300,100); glVertex2f(300,200); glVertex2f(300,300); glVertex2f(300,400); glVertex2f(350,50); glVertex2f(350,150); glVertex2f(350,250); glVertex2f(350,350); glVertex2f(400,100); glVertex2f(400,200); glVertex2f(400,300); glVertex2f(400,400); { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(1.0 , 1.0 , 1.0); glPointSize(50); glBegin(GL_POINTS); glVertex2f(50,100); 6 28/10/2012
  • 7. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(50,200); glVertex2f(50,300); glVertex2f(50,400); //forza dibujo } glVertex2f(100,50); glVertex2f(100,150); glVertex2f(100,250); glVertex2f(100,350); glVertex2f(150,100); glVertex2f(150,200); glVertex2f(150,300); glVertex2f(150,400); glVertex2f(200,50); glVertex2f(200,150); glVertex2f(200,250); glVertex2f(200,350); glVertex2f(250,100); glVertex2f(250,200); glVertex2f(250,300); 7 28/10/2012
  • 8. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(250,400); glVertex2f(300,50); glVertex2f(300,150); glVertex2f(300,250); glVertex2f(300,350); glVertex2f(350,100); glVertex2f(350,200); glVertex2f(350,300); glVertex2f(350,400); glVertex2f(400,50); glVertex2f(400,150); glVertex2f(400,250); glVertex2f(400,350); glEnd(); glFlush(); //forza dibujo } 8 28/10/2012
  • 9. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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 dfj"); //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 } 9 28/10/2012
  • 10. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Estrella Descripción.- Realiza por medio de la instrucción gl lines una estrella Borrador con coordenada utilizadas:------ Código: #include <GL/glut.h> #include <GL/gl.h> #include <GL/glu.h> void inicializa(void) { glClearColor(1.0,1.0,1.0,1.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 { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(0.0 , 0.0 , 0.0); glLineWidth(15); glBegin(GL_LINES); glVertex2i(450,400); 10 28/10/2012
  • 11. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(500,700); glVertex2i(500,700); glVertex2i(550,400); glVertex2i(550,400); glVertex2i(400,600); glVertex2i(400,600); glVertex2i(600,600); glVertex2i(600,600); glVertex2i(450,400); 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(700,700); //tamaño de la ventana 11 28/10/2012
  • 12. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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 } 12 28/10/2012
  • 13. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Cubo con líneas Descripción.- Realiza por medio de la instrucción Gl Lines un cubo en el centro de la pantalla Borrador con coordenada utilizadas:------ Código: #include <GL/glut.h> #include <GL/gl.h> #include <GL/glu.h> void inicializa(void) { glClearColor(1.0,1.0,1.0,1.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 { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(0.0 , 0.0 , 0.0); glLineWidth(4); glBegin(GL_LINES); glVertex2i(250,550); 13 28/10/2012
  • 14. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(550,550); glVertex2i(250,550); glVertex2i(250,250); glVertex2i(250,250); glVertex2i(550,250); glVertex2i(250,250); glVertex2i(400,400); glVertex2i(550,550); glVertex2i(550,250); glVertex2i(400,400); glVertex2i(400,700); glVertex2i(250,550); glVertex2i(400,700); glVertex2i(400,400); glVertex2i(700,400); 14 28/10/2012
  • 15. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(550,250); glVertex2i(700,400); glVertex2i(400,700); glVertex2i(700,700); glVertex2i(550,550); glVertex2i(700,700); glVertex2i(700,700); glVertex2i(700,400); glEnd(); glFlush(); //forza dibujo } int main (int argc, char** argv) //metodo main { 15 28/10/2012
  • 16. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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("CUBO"); //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 } 16 28/10/2012
  • 17. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Piramide Descripción.- Realiza por medio de la instrucción GL_LINES una pirámide apreciada desde arriba Borrador con coordenada utilizadas:------ Código: #include <GL/glut.h> #include <GL/gl.h> #include <GL/glu.h> void inicializa(void) { glClearColor(1.0,1.0,1.0,1.0); //color de fondo glMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal } void dibuja(void) //funcion dibuja { int i,a=10; glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(3.0 , 0.0 , 0.0); glLineWidth(2); glBegin(GL_LINES); 17 28/10/2012
  • 18. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac //valor inicial ---- valor final o condicion ---- incremento for(i=0 ;i<=9;i++){ //abajo glVertex2i (240-a*i,240-a*i); glVertex2i (260+a*i,240-a*i); //derecha glVertex2i (260+a*i,240-a*i); glVertex2i (260+a*i,260+a*i); //izquierda glVertex2i (240-a*i,240-a*i); glVertex2i (240-a*i,260+a*i); //arriba glVertex2i (240-a*i,260+a*i); glVertex2i (260+a*i,260+a*i); } glEnd(); glColor3f(3.0 , 0.0 , 0.0); glLineWidth(2); glBegin(GL_LINES); //punto superior izquierdo glVertex2i (240,260); glVertex2i (230,270); glVertex2i (220,280); 18 28/10/2012
  • 19. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i (210,290); glVertex2i (200,300); glVertex2i (190,310); glVertex2i (180,320); glVertex2i (170,330); glVertex2i (160,340); glVertex2i (150,350); //punto superir derecho glVertex2i (260,260); glVertex2i (270,270); glVertex2i (280,280); glVertex2i (290,290); glVertex2i (300,300); glVertex2i (310,310); glVertex2i (320,320); glVertex2i (330,330); glVertex2i (340,340); glVertex2i (350,350); //punto inferior derecho glVertex2i (260,240); glVertex2i (270,230); glVertex2i (280,220); 19 28/10/2012
  • 20. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i (290,210); glVertex2i (300,200); glVertex2i (310,190); glVertex2i (320,180); glVertex2i (330,170); glVertex2i (340,160); glVertex2i (350,150); //punto inferior izquierdo glVertex2i (240,240); glVertex2i (230,230); glVertex2i (220,220); glVertex2i (210,210); glVertex2i (200,200); glVertex2i (190,190); glVertex2i (180,180); glVertex2i (170,170); glVertex2i (160,160); glVertex2i (150,150); glEnd(); glFlush(); //forza dibujo } 20 28/10/2012
  • 21. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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 } 21 28/10/2012
  • 22. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Cubo Delineado Descripción.- Realiza por medio de la instrucción GL_QUADS un cubo con cada una de sus cara de diferentes colores y con la propiedad LineWidth para modificar el grosor de las lineas. Borrador con coordenada utilizadas:------ Código: #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, 500.0, 0.0, 500.0); //vista ortogonal } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(1.0 , 0.0 , 0.0); 22 28/10/2012
  • 23. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glBegin(GL_QUADS); glVertex2f(100,200); glVertex2f(300,200); glVertex2f(300,400); glVertex2f(100,400); glEnd(); glColor3f(0.0 , 1.0 , 0.0); glBegin(GL_QUADS); glVertex2f(300,200); glVertex2f(300,400); glVertex2f(400,480); glVertex2f(400,300); glEnd(); glColor3f(0.0 , 0.0 , 1.0); glBegin(GL_QUADS); glVertex2f(300,400); glVertex2f(100,400); glVertex2f(200,480); glVertex2f(400,480); glEnd(); glColor3f(0.0,0.0,0.0); glLineWidth(10); 23 28/10/2012
  • 24. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glBegin(GL_LINES); glVertex2f(100,200); glVertex2f(100,400); glVertex2f(100,400); glVertex2f(300,400); glVertex2f(300,400); glVertex2f(300,200); glVertex2f(300,200); glVertex2f(100,200); glEnd(); glColor3f(0.0,0.0,0.0); glLineWidth(10); glBegin(GL_LINE_STRIP); glVertex2f(300,200); glVertex2f(300,400); glVertex2f(400,480); glVertex2f(400,300); glVertex2f(300,200); glVertex2f(300,400); glVertex2f(100,400); glVertex2f(200,480); 24 28/10/2012
  • 25. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(400,480); glVertex2f(300,400); 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 25 28/10/2012
  • 26. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac return 0; //retorna un valor de cero } 26 28/10/2012
  • 27. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Muñeco con triángulos Descripción.- Realiza por medio de la instrucción GL_TRIANGLES,GL_QUADS,GL LINES Y GL POLIGON un jugador de futbol Borrador con coordenada utilizadas:------ Código: #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, 500.0, 0.0, 500.0); //vista ortogonal } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(0.0 , 1.0 , 0.0); glLineWidth(3); glBegin(GL_QUADS); glVertex2f(0,0); 27 28/10/2012
  • 28. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(500,0); glVertex2f(500,45); glVertex2f(0,45); glEnd(); glColor3f(1.0 , 1.0 , 0.0); glLineWidth(3); glBegin(GL_TRIANGLES); glVertex2f(151,387); glVertex2f(302,387); glVertex2f(227,436); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(188,387); glVertex2f(265,387); glVertex2f(227,317); glEnd(); glColor3f(0.0 , 1.0 , 0.0); glLineWidth(3); glBegin(GL_QUADS); glVertex2f(175,317); glVertex2f(175,199); glVertex2f(278,199); 28 28/10/2012
  • 29. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(278,317); glEnd(); //forza dibujo //borra pantalla glColor3f(0.99 , 0.8 , 0.4); glLineWidth(3); glBegin(GL_TRIANGLES); glColor3f(1.0 , 1.0 , 0.0); glVertex2f(364,330); glVertex2f(416,330); glVertex2f(390,202); glVertex2f(355,188); glVertex2f(390,202); glVertex2f(425,188); glVertex2f(339,330); glVertex2f(352,324); glVertex2f(364,330); glVertex2f(339,330); glVertex2f(352,324); glVertex2f(388,212); glVertex2f(421,330); glVertex2f(430,324); glVertex2f(442,330); glVertex2f(393,212); 29 28/10/2012
  • 30. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(430,324); glVertex2f(442,330); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(215,317); glVertex2f(239,317); glVertex2f(227,295); glColor3f(0.0 , 1.0 , 0.0); glVertex2f(175,317); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(124,199); glVertex2f(110,246); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(98,268); glVertex2f(86,224); glVertex2f(109,246); glColor3f(0.0,1.0,0.0); glVertex2f(277,317); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(329,200); glVertex2f(342,246); glColor3f(0.99 , 0.8 , 0.4); 30 28/10/2012
  • 31. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(342,246); glVertex2f(355,266); glVertex2f(374,221); glColor3f(1.0,1.0,1.0); glVertex2f(214,200); glVertex2f(175,163); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(213,34); glColor3f(1.0,0.0,0.0); glVertex2f(214,34); glVertex2f(175,57); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(213,34); glColor3f(1.0,0.0,0.0); glVertex2f(213,34); glVertex2f(175,57); glVertex2f(149,34); glColor3f(1.0,1.0,1.0); glVertex2f(239,199); glVertex2f(239,163); glColor3f(0.99 , 0.8 , 0.4); glVertex2f(303,163); glColor3f(0.99 , 0.8 , 0.4); 31 28/10/2012
  • 32. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(303,163); glVertex2f(291,105); glVertex2f(277,139); glColor3f(1.0,0.0,0.0); glVertex2f(291,105); glVertex2f(328,127); glVertex2f(354,104); glEnd(); glColor3f(1.0 , 1.0 , 0.0); glBegin(GL_POLYGON); glVertex2f(330,104); glVertex2f(353,82); glVertex2f(353,56); glVertex2f(330,33); glVertex2f(302,33); glVertex2f(278,56); glVertex2f(278,82); glVertex2f(302,104); glEnd(); glFlush(); //forza dibujo } 32 28/10/2012
  • 33. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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 } 33 28/10/2012
  • 34. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Casita Descripción.- Realiza por medio de la instrucción ya aprendidas una casa de dos pisos con patio y cerca ayúdate con la instrucción if Borrador con coordenada utilizadas:------ Código: #include <GL/glut.h> #include <GL/gl.h> void inicializa(void) { glClearColor (2.0, 1.0, 1.0, 1.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0,1000.0,0.0,600.0); } void dibuja(void) { int i,j=0; /* borra la pantalla */ glClear(GL_COLOR_BUFFER_BIT); // Cerca 34 28/10/2012
  • 35. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac for(i=0;i<50;i++){ glBegin(GL_POLYGON); glColor3f (1.0, 0.3, 0.0); glVertex2f(0+20*i,292); glVertex2f(5+20*i,300); glVertex2f(10+20*i,292); glVertex2f(10+20*i,240); glVertex2f(0+20*i,240); glEnd(); } glBegin(GL_QUADS); glVertex2i(0,289); glVertex2i(1000,289); glVertex2i(1000,280); glVertex2i(0,280); //pasto glColor3f (0.4, 0.8, 0.2); glVertex2i(0,240); glVertex2i(1000,240); glVertex2i(1000,120); glVertex2i(0,120); 35 28/10/2012
  • 36. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac //banqueta glColor3f (0.6, 0.6, 0.6); glVertex2i(0,120); glVertex2i(1000,120); glVertex2i(1000,90); glVertex2i(0,90); glColor3f (1.0, 1.0, 0.0); glVertex2i(0,90); glVertex2i(1000,90); glVertex2i(1000,82); glVertex2i(0,82); //calle glColor3f (0.3, 0.3, 0.3); glVertex2i(0,82); glVertex2i(1000,82); glVertex2i(1000,0); glVertex2i(0,0); //piedras glColor3f (0.6, 0.6, 0.6); glVertex2i(105,180); glVertex2i(135,180); 36 28/10/2012
  • 37. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(135,165); glVertex2i(105,165); glVertex2i(165,180); glVertex2i(195,180); glVertex2i(195,165); glVertex2i(165,165); glVertex2i(105,150); glVertex2i(135,150); glVertex2i(135,135); glVertex2i(105,135); glVertex2i(165,150); glVertex2i(195,150); glVertex2i(195,135); glVertex2i(165,135); //entrada glVertex2i(345,195); glVertex2i(405,195); glVertex2i(405,120); glVertex2i(345,120); 37 28/10/2012
  • 38. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac // Casa glColor3f (1.0, 0.8, 0.0); glVertex2i(210,450); glVertex2i(540,450); glVertex2i(540,195); glVertex2i(210,195); // Techo casa glColor3f (0.9, 0.09, 0.0); glVertex2i(210,495); glVertex2i(540,495); glVertex2i(585,450); glVertex2i(165,450); // Techo cochera glVertex2i(75,345); glVertex2i(210,345); glVertex2i(210,315); glVertex2i(60,315); //Cortina glColor3f (0.9, 0.9, 0.9); glVertex2i(90,315); glVertex2i(210,315); glVertex2i(210,195); glVertex2i(90,195); 38 28/10/2012
  • 39. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac //Puerta glColor3f (1.0, 1.0, 1.0); glVertex2i(345,300); glVertex2i(405,300); glVertex2i(405,195); glVertex2i(345,195); //Columnas glColor3f (0.7, 0.5, 0.3); glVertex2i(75,315); glVertex2i(90,315); glVertex2i(90,195); glVertex2i(75,195); glVertex2i(210,330); glVertex2i(540,330); glVertex2i(540,315); glVertex2i(210,315); glVertex2i(330,435); 39 28/10/2012
  • 40. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(345,435); glVertex2i(345,195); glVertex2i(330,195); glVertex2i(405,435); glVertex2i(420,435); glVertex2i(420,195); glVertex2i(405,195); //Ventanas i glColor3f (0.7, 0.7, 1.0); glVertex2i(240,435); glVertex2i(300,435); glVertex2i(300,375); glVertex2i(240,375); glVertex2i(240,300); glVertex2i(300,300); glVertex2i(300,240); glVertex2i(240,240); //Ventanas d glVertex2i(450,435); 40 28/10/2012
  • 41. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(510,435); glVertex2i(510,375); glVertex2i(450,375); glVertex2i(450,300); glVertex2i(510,300); glVertex2i(510,240); glVertex2i(450,240); //Ventanas balcon glVertex2i(345,435); glVertex2i(405,435); glVertex2i(405,330); glVertex2i(345,330); //Ventanas puerta glVertex2i(360,285); glVertex2i(390,285); glVertex2i(390,210); glVertex2i(360,210); //Tallos glColor3f (0.5, 0.3, 0.2); glVertex2i(670,225); 41 28/10/2012
  • 42. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(700,225); glVertex2i(700,150); glVertex2i(670,150); glVertex2i(875,225); glVertex2i(905,225); glVertex2i(905,150); glVertex2i(875,150); glEnd(); glBegin(GL_TRIANGLES); // Techo balcon glColor3f (0.5, 0.3, 0.2); glVertex2i(375,480); glVertex2i(435,435); glVertex2i(315,435); glEnd(); //arboles glLineWidth (4); glBegin(GL_LINES); glColor3f (0.0, 0.7, 0.0); 42 28/10/2012
  • 43. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac for(i=0;i<32;i++){ glVertex2i(680-3*i,540-10*j); glVertex2i(690+3*i,540-10*j); glVertex2i(685-3*i,535-10*j); glVertex2i(695+3*i,535-10*j); glVertex2i(885-3*i,540-10*j); glVertex2i(895+3*i,540-10*j); glVertex2i(890-3*i,535-10*j); glVertex2i(900+3*i,535-10*j); j=j+1; } glEnd(); //Linea Calle glLineWidth (4); glColor3f (0.0, 0.0, 0.0); glBegin(GL_LINES); for(i=0;i<50;i++){ glVertex2i(0+120*i,41); glVertex2i(90+120*i,41); } 43 28/10/2012
  • 44. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac //Barandal glVertex2i(344,375); glVertex2i(406,375); for(i=0;i<7;i++){ glVertex2i(345+10*i,375); glVertex2i(345+10*i,330); } //Divicion Ventana glVertex2i(240,262); glVertex2i(300,262); glVertex2i(240,397); glVertex2i(300,397); glVertex2i(450,397); glVertex2i(510,397); glVertex2i(450,262); glVertex2i(510,262); glVertex2i(375,434); glVertex2i(375,375); glVertex2i(270,397); glVertex2i(270,375); glVertex2i(270,262); glVertex2i(270,240); 44 28/10/2012
  • 45. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(480,397); glVertex2i(480,375); glVertex2i(480,262); glVertex2i(480,240); glEnd(); //Contorno ventanas glBegin(GL_LINE_LOOP); glVertex2i(240,435); glVertex2i(300,435); glVertex2i(300,375); glVertex2i(240,375); glEnd(); glBegin(GL_LINE_LOOP); glVertex2i(240,300); glVertex2i(300,300); glVertex2i(300,240); glVertex2i(240,240); glEnd(); glBegin(GL_LINE_LOOP); 45 28/10/2012
  • 46. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(450,435); glVertex2i(510,435); glVertex2i(510,375); glVertex2i(450,375); glEnd(); glBegin(GL_LINE_LOOP); glVertex2i(450,300); glVertex2i(510,300); glVertex2i(510,240); glVertex2i(450,240); glEnd(); //Chapa glPointSize(4); glColor3f (0.0, 0.0, 0.0); glBegin(GL_POINTS); glVertex2i(352,247); glVertex2i(352,245); glEnd(); glFlush(); } 46 28/10/2012
  • 47. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); glutInitWindowSize(1000,600); glutInitWindowPosition(100,100); glutCreateWindow("My Home"); inicializa(); glutDisplayFunc(dibuja); glutMainLoop(); return 0; } 47 28/10/2012
  • 48. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Oso Descripción.- Realiza con ayuda de la siguiete instrucción 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(); } La cual corresponde a la realización de círculos, realiza un oso. Borrador con coordenada utilizadas:------ Código: #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 48 28/10/2012
  • 49. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glLoadIdentity(); //Establece los parametros de proyeccion gluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal } void circuloc(int x, int y, int t, int radio) { int angulo=0; glPointSize(t); glBegin(GL_POINTS); //glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y); //glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);} glEnd(); } void circulo(int x, int y, int radio) { int angulo=0; glBegin(GL_TRIANGLE_FAN); // glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);} 49 28/10/2012
  • 50. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glEnd(); } void dibuja(void) //funcion dibuja { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.5,0.4,0.3); //borra pantalla circulo(250,400,50); //ojos glColor3f(0.0,0.0,0.0); //borra pantalla circulo(250,390,9); glColor3f(1.0,1.0,1.0); //borra pantalla circulo(230,410,15); glColor3f(1.0,1.0,1.0); //borra pantalla circulo(270,410,15); glColor3f(0.0,0.0,0.0); //borra pantalla circulo(230,410,10); glColor3f(0.0,0.0,0.0); //borra pantalla circulo(270,410,10); glColor3f(0.5,0.4,0.3); circulo(250,250,100); glColor3f(0.6,0.5,0.4); circulo(250,250,75); glColor3f(0.5,0.4,0.3); 50 28/10/2012
  • 51. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac circulo(200,450,30); glColor3f(0.5,0.4,0.3); circulo(300,450,30); glColor3f(0.6,0.5,0.4); circulo(200,450,20); glColor3f(0.6,0.5,0.4); circulo(300,450,20);//manos glColor3f(0.5,0.4,0.3); circulo(350,300,35); glColor3f(0.5,0.4,0.3); circulo(150,300,35); glColor3f(0.6,0.5,0.4); circulo(350,300,25); glColor3f(0.6,0.5,0.4); circulo(150,300,25);;//patas glColor3f(0.5,0.4,0.3); circulo(170,170,35); glColor3f(0.5,0.4,0.3); circulo(320,170,35); glColor3f(0.6,0.5,0.4); circulo(170,170,25); glColor3f(0.6,0.5,0.4); circulo(320,170,25); 51 28/10/2012
  • 52. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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 } 52 28/10/2012
  • 53. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Cubo con cubitos Descripción.- Realiza por medio de la instrucción if y con los valores x y t l un cubo con cubos pequeños Borrador con coordenada utilizadas:------ Código: #include <GL/glut.h> #include <GL/gl.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, 600.0, 0.0, 600.0); //vista ortogonal } void cubo (int x, int y,int t,int l){ double a=.8,b=.6; glColor3f(0.5 , 0.9 , 0.6); glBegin(GL_QUADS); glVertex2f(x,y); glVertex2f(x+t,y); glVertex2f(x+t,y+t); glVertex2f(x,y+t); glColor3f(0.02 , 0.9 , 0.1); 53 28/10/2012
  • 54. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(x,y+t); glVertex2f(x+t,y+t); glVertex2f(x+t+(t*a),y+t+(t*b)); glVertex2f(x+(t*a),y+t+(t*b)); glColor3f(0.07 , 0.5 , 0.08); glVertex2f(x+t,y+t); glVertex2f(x+t+(t*a),y+t+(t*b)); glVertex2f(x+t+(t*a),y+(t*b)); glVertex2f(x+t,y); glEnd(); glColor3f(0.0 , 0.0 , 0.0); glLineWidth(l); glBegin(GL_LINES); glVertex2f(x,y); glVertex2f(x+t,y); glVertex2f(x+t,y); glVertex2f(x+t,y+t); glVertex2f(x+t,y+t); glVertex2f(x,y+t); glVertex2f(x,y); 54 28/10/2012
  • 55. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(x,y+t); glVertex2f(x+t,y+t); glVertex2f(x+t,y+t); glVertex2f(x+t+(t*a),y+t+(t*b)); glVertex2f(x+t+(t*a),y+t+(t*b)); glVertex2f(x+(t*a),y+t+(t*b)); glVertex2f(x,y+t); glVertex2f(x+t+(t*a),y+t+(t*b)); glVertex2f(x+(t*a),y+t+(t*b)); glVertex2f(x+t,y+t); glVertex2f(x+t+(t*a),y+t+(t*b)); glVertex2f(x+t+(t*a),y+t+(t*b)); glVertex2f(x+t+(t*a),y+(t*b)); glVertex2f(x+t+(t*a),y+(t*b)); glVertex2f(x+t,y); glVertex2f(x+t,y+t); glEnd(); } void dibuja(void) //funcion dibuja { 55 28/10/2012
  • 56. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glClear(GL_COLOR_BUFFER_BIT); //borra pantalla glColor3f(1.0 , 0.0 , 0.0); for(int k=0;k<=10;k++){ cubo(260-20*k*.8,220-20*k*.6,20,5); } for(int j=0;j<=9;j++){ cubo(280+20*j,420,20,5); cubo(280+20*j,220,20,5); } for(int i=0;i<=9;i++){ cubo(260,240+20*i,20,5); } for(int k=0;k<=10;k++){ cubo(481-20*k*.8,220-20*k*.6,20,5); } for(int i=0;i<=9;i++){ cubo(481,240+20*i,20,5); } //traves traseras for(int k=0;k<=10;k++){ cubo(260-20*k*.8,420-20*k*.6,20,5); 56 28/10/2012
  • 57. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac } for(int j=0;j<=9;j++){ cubo(280+20*j,420,20,5); } //cubo delantero for(int i=0;i<=10;i++){ cubo(100,100+20*i,20,5); } for(int j=0;j<=9;j++){ cubo(120+20*j,100,20,5); cubo(120+20*j,300,20,5); } for(int i=0;i<=10;i++){ cubo(320,100+20*i,20,5); } for(int k=0;k<=10;k++){ cubo(481-20*k*.8,420-20*k*.6,20,5); } glFlush(); //forza dibujo } int main (int argc, char** argv) //metodo main 57 28/10/2012
  • 58. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac { 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 } 58 28/10/2012
  • 59. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Muñeco con formas Descripción.- Realiza por medio de lo ya aprendido un muñeco mas detallado. Borrador con coordenada utilizadas:------ Código: #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, 600.0, 0.0, 600.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);} 59 28/10/2012
  • 60. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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); glBegin(GL_TRIANGLES); glColor3f(0.0,0.0,0.0); glVertex2f(218,532); glVertex2f(282,532); glVertex2f(250,600); glVertex2f(218,532); 60 28/10/2012
  • 61. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(282,532); glVertex2f(280,600); glVertex2f(218,532); glVertex2f(282,532); glVertex2f(230,600); glVertex2f(218,532); glVertex2f(282,532); glVertex2f(300,600); glVertex2f(218,532); glVertex2f(282,532); glVertex2f(200,600); glEnd(); glBegin(GL_QUADS); glColor3f(0.9,0.7,0.6); glVertex2f(230,500); glVertex2f(270,500); glVertex2f(270,400); glVertex2f(230,400); //cinturon glColor3f(1.0,1.0,0.0); 61 28/10/2012
  • 62. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(350,200); glVertex2f(150,200); glVertex2f(150,170); glVertex2f(350,170); glColor3f(0.0,0.0,0.0); glVertex2f(280,200); glVertex2f(220,200); glVertex2f(220,170); glVertex2f(280,170); //camisa glColor3f(1.0,0.0,0.0); glVertex2f(150,400); glVertex2f(350,400); glVertex2f(350,200); glVertex2f(150,200); //ess glVertex2f(150,50); glVertex2f(100,50); glVertex2f(70,20); glVertex2f(150,20); glVertex2f(400,50); glVertex2f(350,50); glVertex2f(350,20); 62 28/10/2012
  • 63. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2f(430,20); //brazo glVertex2f(350,400); glVertex2f(300,350); glVertex2f(400,250); glVertex2f(450,300); //mano glColor3f(0.9,0.7,0.6); glVertex2f(420,270); glVertex2f(440,300); glVertex2f(490,250); glVertex2f(470,220); glVertex2f(80,270); glVertex2f(60,300); glVertex2f(10,250); glVertex2f(10,220); //brazo2 63 28/10/2012
  • 64. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glColor3f(1.0,0.0,0.0); glVertex2f(150,400); glVertex2f(200,350); glVertex2f(100,250); glVertex2f(50,300); glEnd(); glPointSize(15); glBegin(GL_POINTS); glColor3f(0.0,0.7,0.6); glVertex2f(250,325); glVertex2f(250,275); glVertex2f(250,225); glEnd(); //pedaso de triangulo glBegin(GL_TRIANGLES); glColor3f(0.9,0.7,0.6); glVertex2f(270,400); glVertex2f(230,400); glVertex2f(250,350); //pantalon //pieseses glEnd(); 64 28/10/2012
  • 65. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glBegin(GL_POLYGON); glColor3f(0.0,0.0,1.0); glVertex2f(150,170); glVertex2f(350,170); glVertex2f(400,50); glVertex2f(350,50); glVertex2f(250,120); glVertex2f(150,50); glVertex2f(100,50); glEnd(); glColor3f(0.9,0.7,0.6); //borra pantalla circulo(170,532,20); circulo(330,532,20); circulo(250,500,75); glColor3f(0.0,0.0,0.0); circulo(230,510,10); circulo(270,510,10); //dedos glColor3f(0.9,0.7,0.6); circulo(10,230,15); circulo(30,235,10); 65 28/10/2012
  • 66. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac circulo(7,235,10); circulo(7,240,10); circulo(460,225,15); circulo(475,225,10); circulo(485,235,10); circulo(495,245,10); //borra pantalla glEnd(); glBegin(GL_LINES); glColor3f(0.0,0.0,0.0); glVertex2f(250,510); glVertex2f(250,490); glVertex2f(250,490); glVertex2f(260,490); glVertex2f(230,450); glVertex2f(270,450); glEnd(); //CAMISA 66 28/10/2012
  • 67. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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 } 67 28/10/2012
  • 68. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Animación circulo Descripción.- Realiza por medio de la instrucción de circulo un movimiento en alrededor de la pantalla. Borrador con coordenada utilizadas:------ Código: #include <unistd.h> #include <GL/glut.h> #include <GL/gl.h> #include <math.h> int x=1, y=1, z=1, t=1; void inicializa(void) { glClearColor(0.0,0.0,1.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 700.0, 0.0,700.0);// el ancho y largo de nuestra pantalla } void circulo(int x, int y, int radio) { int angulo=0; glBegin(GL_TRIANGLE_FAN); glColor3f (0.5, 0.5, 0.5); glVertex2f(x,y); glColor3f(0,0.0,0.0); 68 28/10/2012
  • 69. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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); if(x>=1 && x<500){ circulo(100+x,600,40); glFlush(); x++; } if(y>=1 && y<500 && x==500){ circulo(600,600-y,40); glFlush(); y++; } if(z>=1 && z<500 && y==500&& x==500 ){ circulo(600-z,100,40); glFlush(); z++; } if(t>=1 && t<500 && z==500 && y==500&& x==500 ){ //reiniciar circulo(100,100+t,40); 69 28/10/2012
  • 70. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glFlush(); t++; } if(t==500){x=1; y=1; z=1; t=1;} glutSwapBuffers(); } int main (int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH); glutInitWindowSize(700,700); glutInitWindowPosition(10,10); glutCreateWindow("Ventana"); inicializa(); glutDisplayFunc(dibuja); glutIdleFunc(dibuja); glutMainLoop(); return 0; } 70 28/10/2012
  • 71. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 71 28/10/2012
  • 72. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Animación sistema solar Descripción.- Realiza por medio de la instrucción circulo y movimiento una simulación del sistema solar Borrador con coordenada utilizadas:------ Código: #include <unistd.h> #include <GL/glut.h> #include <GL/gl.h> #include <math.h> int rad=100; double ang=0,a=0,b=0; void inicializa(void) { glClearColor(0.0,0.0,0.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla } void circulo(int x, int y, int radio) { int angulo=0; glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y); 72 28/10/2012
  • 73. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac for (angulo=0;angulo<=360; angulo++){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);} glEnd(); } void circuloc(int x, int y, int t, int radio) { int angulo=0; glPointSize(t); glBegin(GL_POINTS); //glColor3f (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 dibuja(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//esto glColor3f (0.9,0.8, 0.0); circulo(500,500,50); glColor3f (1.0,1.0, 1.0); 73 28/10/2012
  • 74. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac circuloc(500,500,1,70); glColor3f (1.0,0.0, 0.0); circulo( 500+ sin(ang) * 70,500 + cos(ang) * 70,10); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,150); //funcion circulo glColor3f (0.5, 0.3, 0.2); circulo( 500+ sin(a) * 150,500 + cos(a) * 150,10); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,200); glColor3f (0.0, 0.0, 1.0); circulo( 500- sin(b) * 200,500 + cos(b) * 200,20); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,250); glColor3f (0.9, 0.4, 0.1); circulo( 500- sin(a) * 250,500 + cos(a) * 250,20); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,250); glColor3f (0.9, 0.4, 0.1); circulo( 500- sin(a) * 250,500 + cos(a) * 250,20); 74 28/10/2012
  • 75. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glColor3f (0.4, 0.8, 0.4); circulo( 500+ sin(b) * 310,500 + cos(b) * 310,15); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,310); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,370); glColor3f (0.4, 0.8, 0.0); circulo( 500+ sin(ang) * 370,500 + cos(ang) * 370,15); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,400); glColor3f (0.4, 0.0, 1.0); circulo( 500- sin(ang) * 400,500 + cos(ang) * 400,15); glColor3f (1.0,1.0, 1.0); circuloc(500,500,1,460); glColor3f (0.8, 0.7, 0.4); circulo( 500+ sin(b) * 460,500 + cos(b) * 460,15); glColor3f (1.0,1.0, 1.0); 75 28/10/2012
  • 76. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac circuloc(500,500,1,490); glColor3f (0.4, 0.5, 0.4); circulo( 500- sin(b) * 490,500 + cos(b) * 490,15); a+=0.1; b+=0.2; 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); glutCreateWindow("Ventana"); 76 28/10/2012
  • 77. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac inicializa(); glutDisplayFunc(dibuja); glutIdleFunc(dibuja);//esto es lo que cambia glutMainLoop(); return 0; } 77 28/10/2012
  • 78. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Movimiento en Ocho Descripción.- Realiza por medio de las instrucciones del ejercicio del sistema solar un movimiento en ocho como si fuese una carrera da autos con un solo circulo. Borrador con coordenada utilizadas:------ 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.0,0.0,1.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla } void circulo(int x, int y, int radio){ int angulo=0; glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y); 78 28/10/2012
  • 79. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 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);//esto glColor3f (0.9,0.8, 0.0); circulo(500,300,250); glColor3f (0.9,0.0, 0.0); circulo(500,300,150); glColor3f (0.9,0.8, 0.0); circulo(500,700,250); glColor3f (0.9,0.0, 0.0); circulo(500,700,150);//ocho if(a>=6.15 && a<=12.41){ circulo(500+ sin (a)*200,700- cos(a)*200,40); a=a+ 0.03; } else{ circulo(500 + sin (b) *200,300-cos(b)*-200,40); b=b + 0.1; if(b>12.4){a=6.15;b=6.15;} 79 28/10/2012
  • 80. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac for(int j=0; j<=10000000; j++) {} } // 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); glutCreateWindow("Ventana"); inicializa(); glutDisplayFunc(dibuja); glutIdleFunc(dibuja);//esto es lo que cambia glutMainLoop(); return 0; } 80 28/10/2012
  • 81. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 81 28/10/2012
  • 82. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Semáforo Descripción.- Realiza por medio de la instrucción utilizadas en el movimiento en ocho un semáforo en el cual parpadeedos veces el verde luego cambia al amarillo y después al rojo Borrador con coordenada utilizadas:------ Código: #include <unistd.h> #include <GL/glut.h> #include <GL/gl.h> #include <math.h> int rad=100; double ang=0,a=0,b=0,c=0,d=0,e=0,f=0,g=0; void inicializa(void) { glClearColor(0.0,0.0,0.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 500.0, 0.0, 500.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); 82 28/10/2012
  • 83. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac //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); 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 glBegin(GL_QUADS);//Cuadros fondo semaforo glColor3f(0.44 , 0.72 , 0.25); glVertex2i(150,437); glVertex2i(350,437); glVertex2i(350,182); 83 28/10/2012
  • 84. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex2i(150,182); glVertex2i(1,255); glVertex2i(500,255); glVertex2i(500,320); glVertex2i(1,320); glEnd(); glColor3f(0.0,0.0,0.0);//Luces Verde circulo(247,226,30); glColor3f(0.0,0.0,0.0);//Luces Amarrilla circulo(247,302,30); glColor3f(0.0,0.0,0.0);//Luces Roja circulo(247,381,30); a=a+1; //velocidad entre mas grande mas rapido y entre menos mas lento for(int j=1;j<=10000000;j++){}//pausa if(a>1 && a<20){ glColor3f(1.0,0.0,0.0);//Luces Roja 84 28/10/2012
  • 85. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac circulo(247,381,30); } if(a>20 && a<45){ glColor3f(0.0,1.0,0.0);//Luces Roja circulo(247,226,30); }// se repite idefinidamente if(a>45 && a<55){ glColor3f(0.0,1.0,0.0);//Luces Roja circulo(247,226,30); }// se repite idefinidamente if(a>55 && a<55){ glColor3f(1.0,1.0,0.0);//Luces Roja circulo(247,302,30); }// se repite idefinidamente if(a>50 && a<60){ glColor3f(1.0,1.0,0.0);//Luces Roja circulo(247,302,30); }// se repite idefinidamente 85 28/10/2012
  • 86. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac if(a>50 && a<55){ glColor3f(1.0,1.0,0.0);//Luces Roja circulo(247,302,30); }// se repite idefinidamente if(a>60){a=0;} 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(500,500); glutInitWindowPosition(10,10); glutCreateWindow("Ventana"); inicializa(); glutDisplayFunc(dibuja); glutIdleFunc(dibuja);//esto es lo que cambia glutMainLoop(); return 0; 86 28/10/2012
  • 87. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac } 87 28/10/2012
  • 88. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac Objetos 3D Wire(9) (Nombre) Descripción.- Realiza por medio de las instrucción que se te da tu nombre en 3D Borrador con coordenada utilizadas:------ Código: #include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h> #include <stdio.h> #include <math.h> #include <stdlib.h> GLfloat anguloEsfera = 0.0f; GLfloat girax=0,giray=0,zoom=0,e,f; GLboolean malla=GL_FALSE, ejes=GL_TRUE; void mover(void){ glTranslated(0,0,zoom); glRotated(girax,1.0,0.0,0.0); glRotated(giray,0.0,1.0,0.0); } void creaMalla(void){ int i, long_eje=10; glColor3f(1.0,1.0,0.0); 88 28/10/2012
  • 89. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glBegin(GL_LINES); for(i=-long_eje;i<=long_eje;i++){ glVertex3f(i,-long_eje,0); glVertex3f(i,long_eje,0); glVertex3f(-long_eje,i,0); glVertex3f(long_eje,i,0); glVertex3f(i,0,-long_eje); glVertex3f(i,0,long_eje); glVertex3f(-long_eje,0,i); glVertex3f(long_eje,0,i); } glEnd(); } void creaEjes(void){ glColor3f(0.0,0.0,0.0); glBegin(GL_LINES); glColor3f(0.0,0.0,1.0); glVertex3f(-11.0,0.0,0.0); glVertex3f(11.0,0.0,0.0); glColor3f(1.0,0.0,0.0); glVertex3f(0.0,-11.0,0.0); glVertex3f(0.0,11.0,0.0); 89 28/10/2012
  • 90. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glColor3f(0.0,1.0,0.0); glVertex3f(0.0,0.0,-11.0); glVertex3f(0.0,0.0,11.0); glEnd(); glBegin(GL_TRIANGLES); glColor3f(0.0,0.0,1.0); glVertex3f(11.0,0.0,0.0); glVertex3f(10.5,0.0,-.50); glVertex3f(10.5,0.0,.50); glColor3f(1.0,0.0,0.0); glVertex3f(0.0,11.0,0.0); glVertex3f(-.50,10.5,0.0); glVertex3f(.50,10.5,0.0); glColor3f(0.0,1.0,0.0); glVertex3f(0.0,0.0,11.0); glVertex3f(-.50,0.0,10.5); glVertex3f(.50,0.0,10.5); //puntas otras glColor3f(0.0,0.0,1.0); glVertex3f(-11.0,0.0,0.0); glVertex3f(-10.5,0.0,.50); glVertex3f(-10.5,0.0,-.50); glColor3f(1.0,0.0,0.0); 90 28/10/2012
  • 91. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glVertex3f(0.0,-11.0,0.0); glVertex3f(.50,-10.5,0.0); glVertex3f(-.50,-10.5,0.0); glColor3f(0.0,1.0,0.0); glVertex3f(0.0,0.0,-11.0); glVertex3f(.50,0.0,-10.5); glVertex3f(-.50,0.0,-10.5); glEnd(); } void init ( void ) { glClearColor(1.0,1.0,1.0,0.0) ;// Definimos el negro como color de fondo glEnable(GL_DEPTH_TEST); // Activamos el z-Buffer glEnable(GL_LIGHTING); // Activamos la iluminación glEnable(GL_LIGHT0); // Activamos la luz 0 glMatrixMode(GL_PROJECTION); // set the view volume shape glLoadIdentity(); glOrtho(-15,15,-15,15,-30,30); glMatrixMode(GL_MODELVIEW); // position and aim the camera glLoadIdentity(); gluLookAt(5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0); 91 28/10/2012
  • 92. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac } void dibuja( void ) { glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glEnable(GL_DEPTH_TEST); // Activamos el z-Buffer glEnable(GL_LIGHTING); // Activamos la iluminación glEnable(GL_LIGHT0); // Activamos la luz 0 //glShadeModel(GL_FLAT); glShadeModel (GL_SMOOTH); // Cargamos la matriz identidad para reiniciar las transformaciones /* float angulo; int i; glLineWidth(20); glBegin(GL_LINES); glColor3d(1,1,1); for (i=0; i<360; i+=10) { angulo = (GLfloat)i*3.14159f/180.0f; // grados a radianes glColor3d(1,1,1); glVertex3i(0,0,-3); glVertex3f(0+cos(angulo)*45, 0+sin(angulo)*45,0); } glEnd();*/ 92 28/10/2012
  • 93. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac // Colocamos una luz glLightfv(GL_LIGHT0,GL_DIFFUSE,(GLfloat []){1.0f,1.0f,1.0f,0.0f}); // Color de la luz glLightfv(GL_LIGHT0,GL_AMBIENT,(GLfloat []){1.0, 1.0, 1.0, 4.0}); // Luz ambiente glLightfv(GL_LIGHT0,GL_POSITION,(GLfloat []){0.0f,12.0f,5.0f,0.0f}); // Posición de la luz glLightfv(GL_LIGHT0,GL_EMISSION,(GLfloat []){0.5,0.5,0.5,1.0}); //glShadeModel (GL_SMOOTH); // esfera glPushMatrix(); mover(); if(malla) creaMalla(); if(ejes) creaEjes(); //glRotatef(anguloEsfera, 1.0f, 1.0f,0.0f); glColor3f(1.0,1.0,0.0); //R glTranslatef(-8.0,0.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); 93 28/10/2012
  • 94. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(0.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(-1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(0.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(1.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(2.0,0.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); 94 28/10/2012
  • 95. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(0.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,-1.0, 0.0); glutSolidCube(1); glTranslatef(-1.0,2.0, 0.0); glutSolidCube(1); glTranslatef(3.0,-2.0, 0.0); glutSolidCube(1); 95 28/10/2012
  • 96. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(1.0,-4.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(2.0,-4.0, 0.0); 96 28/10/2012
  • 97. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(0.0,1.0, 0.0); glutSolidCube(1); glTranslatef(1.0,-4.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); glTranslatef(1.0,0.0, 0.0); glutSolidCube(1); // AQUI PONES TU NOMBRE //AQUI //AQUI //AQUI//AQUI //AQUI//AQUI//AQUI //AQUI 97 28/10/2012
  • 98. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac glPopMatrix (); glFlush(); glutSwapBuffers (); //anguloEsfera+=2.0f; } void reshape(int w, int h){ glClearColor(1.0,1.0,1.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-15,15,-15,15,-30,30); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glClear(GL_DEPTH_TEST); } void activo(int x,int y){ // x= e; //y= f; girax=y; giray=700-x; glutPostRedisplay(); } 98 28/10/2012
  • 99. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac void teclado(unsigned char key, int x, int y){ switch(key){ case 27: exit(0); case '+': zoom++; break; case '-': zoom--; break; case 'p': glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45,1,10,100); zoom=-40; break; case 'o': glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-15,15,-15,15,-30,30); zoom=0; break; case 'm': 99 28/10/2012
  • 100. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac malla= !malla; break; case 'e': ejes= !ejes; default: break; } glutPostRedisplay(); } void flechas(int key, int x, int y){ switch(key){ case GLUT_KEY_LEFT: giray-=15; break; case GLUT_KEY_RIGHT: giray+=15; break; case GLUT_KEY_UP: girax-=15; break; case GLUT_KEY_DOWN: girax+=15; break; 100 28/10/2012
  • 101. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac default: break; } glutPostRedisplay(); } int main ( int argc, char** argv ) { glutInit (&argc, argv); glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize (600,600); glutInitWindowPosition (100,100); glutCreateWindow ("Objetos 3D"); //init ( ); glutDisplayFunc (dibuja); //glutIdleFunc(dibuja); glutReshapeFunc ( reshape ); glutKeyboardFunc(teclado); glutSpecialFunc(flechas); glutMotionFunc(activo); glutMainLoop( ); return 0; } 101 28/10/2012
  • 102. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 102 28/10/2012
  • 103. Centro de estudios Científicos y Tecnológicos del Estado de México (CECYTEM)-Tecámac 103 28/10/2012