SlideShare una empresa de Scribd logo
1 de 14
Manual de Practicas de Open GL con Dev C++
4. Colegio de Estudios Científicos Y Tecnológicos del Estado de México Índice
1. Tablero de Ajedrez
2. Estrella
3. Cubo con líneas
4. Cubo delineado
5. Muñeco con triángulos
6. Casita
7. Oso
8. Cubo con cubitos
9. Muñeco con formas
10. Animación circulo
11. Animación circulo rotando
12. Animación sistema solar
13. Movimiento en ocho
14. Semáforo
15. Objetos 3D Wire (9)
16. Objetos 3D Solid (9)
17. Interacción Teclado
18. Interacción con mouse
19. Interacción de objetos 3D con mouse y teclado
20. Cubo 3D con líneas 4
tablero de ajedrez
#include<GL/glut.h>
#include<GL/gl.h>
#include<GL/glu.h>void inicializa(void){glClearColor(0.0,3.0,5.0,1.0); //color de
fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los
parametros de proyecciongluOrtho2D(0.0, 1050.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void)
//funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(0.0 , 0.0 ,
0.0);glPointSize(60);glBegin(GL_POINTS);glVertex2i(100,100);glVertex2i(347,100);glVertex2i(597,1
00);glVertex2i(848,100);glVertex2i(220,220);glVertex2i(473,220);glVertex2i(723,220); 5
6. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(970,220);glVertex2i(100,340);glVertex2i(347,340);glVertex2i(597,340);glVertex2
i(848,340);glVertex2i(220,460);glVertex2i(473,460);glVertex2i(723,460);glVertex2i(970,460);glVert
ex2i(100,580);glVertex2i(347,580);glVertex2i(597,580);glVertex2i(848,580);glVertex2i(220,700);gl
Vertex2i(473,700);glVertex2i(723,700);glVertex2i(970,700);glVertex2i(100,820);glVertex2i(347,820
);glVertex2i(597,820);glVertex2i(848,820);glEnd();glColor3f(1.0 , 1.0 ,
1.0);glPointSize(60);glBegin(GL_POINTS);glVertex2i(220,100);glVertex2i(473,100); 6
7. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(723,100);glVertex2i(970,100);glVertex2i(100,220);glVertex2i(347,220);glVertex2
i(597,220);glVertex2i(848,220);glVertex2i(220,340);glVertex2i(473,340);glVertex2i(723,340);glVert
ex2i(970,340);glVertex2i(100,460);glVertex2i(347,460);glVertex2i(597,460);glVertex2i(848,460);gl
Vertex2i(220,580);glVertex2i(473,580);glVertex2i(723,580);glVertex2i(970,580);glVertex2i(100,700
);glVertex2i(347,700);glVertex2i(597,700);glVertex2i(848,700);glVertex2i(220,820);glVertex2i(473,
820);glVertex2i(723,820);glVertex2i(970,820);glEnd(); 7
8. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglFlush(); //forza
dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv);
//incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo
devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0);
//posicion inicial de la ventanaglutCreateWindow("TABLERO DE AJEDREZ"); //nombre de la
ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana
devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} 8
9. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoEstrella//estrella#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void
inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION);
//Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0,
1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion
dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra
pantallaglLineWidth(2);glBegin(GL_LINES);glVertex2i(50,50);glVertex2i(250,400);glVertex2i(250,40
0);glVertex2i(400,50);glVertex2i(400,50);glVertex2i(50,300);glVertex2i(50,300);glVertex2i(400,300
); 9
10. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(400,300);glVertex2i(50,50);glEnd();glFlush(); //forza dibujo}intmain (intargc,
char** argv) //metodomain{glutInit(&argc, argv);
//incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo
devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0);
//posicion inicial de la ventanaglutCreateWindow("estrella"); //nombre de la
ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana
devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} 10
11. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoCubo con líneas//cubo con
lineas#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void
inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION);
//Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0,
1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion
dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra
pantallaglLineWidth(2);glBegin(GL_LINES);//enfrenteglVertex2i(50,50);glVertex2i(50,300);glVertex
2i(50,300); 11
12. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(300,300);glVertex2i(300,300);glVertex2i(300,50);glVertex2i(300,50);glVertex2i(5
0,50);//atrasglVertex2i(150,150);glVertex2i(150,400);glVertex2i(150,400);glVertex2i(400,400);glVe
rtex2i(400,400);glVertex2i(400,150);glVertex2i(400,150);glVertex2i(150,150);//linea
izquierdaglVertex2i(50,300);glVertex2i(150,400);//linea
derechaglVertex2i(300,300);glVertex2i(400,400);//linea izquierda
abajoglVertex2i(50,50);glVertex2i(150,150);//linea derecha abajoglVertex2i(300,50); 12
13. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(400,150);glEnd();glFlush(); //forza dibujo}intmain (intargc, char** argv)
//metodomain{glutInit(&argc, argv); //incializaGLUTglutInitDisplayMode(GLUT_SINGLE |
GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la
ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("mi
primera ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos
a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor
de cero} 13
14. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoCubo delineado//cubo
delineado#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void
inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION);
//Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0,
1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{ 14
15. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 ,
0.0);glPointSize(50);glBegin(GL_QUADS);//ATRASglColor3f(0.0 , 0.0 ,
0.0);glVertex2d(100,150);glVertex2d(300,100);glVertex2d(300,350);glVertex2d(100,350);//ABAJOg
lColor3f(0.0 , 0.0 ,
0.0);glVertex2d(200,100);glVertex2d(400,100);glVertex2d(300,150);glVertex2d(100,150);//izquier
doglColor3f(0.0 , 0.1 ,
0.1);glVertex2d(100,150);glVertex2d(200,100);glVertex2d(200,300);glVertex2d(100,350);//derech
oglColor3f(1.1 , 1.1 , 1.1); 15
16. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2d(300,150);glVertex2d(400,100);glVertex2d(400,300);glVertex2d(300,350);//arrib
aglColor3f(1.2 , 0.0 ,
0.0);glVertex2d(200,300);glVertex2d(400,300);glVertex2d(300,350);glVertex2d(100,350);//enfrent
eglColor3f(1.5 , 1.5 ,
0.0);glVertex2d(200,100);glVertex2d(400,100);glVertex2d(400,300);glVertex2d(200,300);glEnd();gl
Flush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv);
//incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo
devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventana 16
17. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("mi
primera ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos
a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor
de cero}Muñeco con Triángulos#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h> 17
18. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicovoid
inicializa(void){glClearColor(0.0,0.0,0.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION);
//Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0,
1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion
dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 ,
1.0);glLineWidth(5);glBegin(GL_TRIANGLES);glVertex2i(97,12);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(167,12);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(167,54);glVertex2i(140,55);glColor3f(1.0
, 0.0 , 1.0);glVertex2i(190,55);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(190,145);glVertex2i(260,12); 18
19. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglColor3f(1.0 , 0.0 ,
1.0);glVertex2i(333,12);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(260,54);glVertex2i(240,54);glColor3f(1.0
, 0.0 , 1.0);glVertex2i(290,54);glColor3f(0.0 , 0.0 ,
1.0);glVertex2i(240,145);glVertex2i(145,375);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(300,375);glColor3f(0.0 , 0.0 ,
1.0);glVertex2i(230,455);glVertex2i(320,300);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(320,150);glColor3f(0.0 , 0.0 ,
1.0);glVertex2i(275,300);glVertex2i(150,300);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(110,300);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(110,150); 19
20. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(150,300);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(110,300);glColor3f(0.0 , 0.0 ,
1.0);glVertex2i(110,150);glVertex2i(260,380);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(183,380);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(219,309);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(340,30);glVertex2i(395,30);glVertex2i(420,130);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(340,30);glVertex2i(395,30);glVertex2i(420,130);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(372,181);glVertex2i(330,208);glColor3f(0.0 , 0.0 ,
1.0);glVertex2i(326,150);glColor3f(1.0 , 0.0 , 1.0); 20
21. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(102,152);glVertex2i(59,179);glColor3f(0.0 , 0.0 ,
1.0);glVertex2i(101,208);glEnd();glBegin(GL_QUADS);glVertex2i(155,155);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(155,305);glVertex2i(280,305);glColor3f(1.0 , 0.0 ,
1.0);glVertex2i(280,155);glColor3f(010 , 1.0 , .0);glVertex2i(350,250);glColor3f(0.0 , 1.0 ,
.0);glVertex2i(370,420);glColor3f(0.0 , 1.0 , .0);glVertex2i(490,250);glColor3f(1.0 , 1.0 ,
.0);glVertex2i(420,135);glEnd();glFlush(); //forza dibujo}intmain (intargc, char** argv)
//metodomain{ 21
22. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutInit(&argc, argv);
//incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo
devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0);
//posicion inicial de la ventanaglutCreateWindow("Muñeco con triangulos"); //nombre de la
ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana
devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}Casita
22
23. Colegio de Estudios Científicos Y Tecnológicos del Estado de
México#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void
inicializa(void){glClearColor(0.0,0.0,1.0,1.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr
tho2D(0.0, 900.0, 0.0, 900.0);}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.12
,0.12 ,0.12
);glLineWidth(2);glBegin(GL_QUADS);glVertex2i(0,80);glVertex2i(1000,80);glVertex2i(1000,0);glVer
tex2i(0,0);glEnd();glColor3f(1.0,1.0,1.0);glBegin(GL_LINES);glVertex2i(0,40);glVertex2i(50,40); 23
24. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(70,40);glVertex2i(120,40);glVertex2i(140,40);glVertex2i(190,40);glVertex2i(210,
40);glVertex2i(260,40);glVertex2i(280,40);glVertex2i(330,40);glVertex2i(350,40);glVertex2i(400,40
);glVertex2i(420,40);glVertex2i(470,40);glVertex2i(490,40);glVertex2i(540,40);glVertex2i(560,40);gl
Vertex2i(610,40);glVertex2i(630,40);glVertex2i(680,40);glVertex2i(700,40);glVertex2i(750,40);glVe
rtex2i(770,40);glVertex2i(820,40);glVertex2i(840,40);glVertex2i(890,40);glEnd(); 24
25. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglColor3f(1.0 ,1.0 ,0.0
);glLineWidth(5);glBegin(GL_LINES);glVertex2i(0,84);glVertex2i(1000,84);glEnd();glColor3f(0.21,0.2
1,0.21);glBegin(GL_POLYGON);glVertex2i(0,118);glVertex2i(345,118);glVertex2i(345,193);glVertex
2i(405,193);glVertex2i(405,118);glVertex2i(1000,118);glVertex2i(1000,88);glVertex2i(0,88);glEnd();
glColor3f(0.0,1.0,0.0);glBegin(GL_POLYGON);glVertex2i(0,118);glVertex2i(0,238);glVertex2i(75,238
);glVertex2i(75,193);glVertex2i(345,193); 25
26. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(345,118);glVertex2i(0,118);glEnd();glColor3f(0.0,1.0,0.0);glBegin(GL_POLYGON);
glVertex2i(405,119);glVertex2i(405,193);glVertex2i(540,193);glVertex2i(540,239);glVertex2i(1000,
239);glVertex2i(1000,119);glVertex2i(405,119);glEnd();glColor3f(1.0,0.52,0.05);glBegin(GL_QUADS
);glVertex2i(75,193);glVertex2i(75,313);glVertex2i(90,313);glVertex2i(90,193);glEnd();glColor3f(1.0
,0.0,0.0);glBegin(GL_POLYGON);glVertex2i(61,313);glVertex2i(75,345); 26
27. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(210,345);glVertex2i(210,313);glEnd();glColor3f(0.80,0.80,0.80);glBegin(GL_QUA
DS);glVertex2i(90,193);glVertex2i(90,313);glVertex2i(210,313);glVertex2i(210,193);glEnd();glColor
3f(1.0,1.0,0.28);glBegin(GL_QUADS);glVertex2i(210,193);glVertex2i(210,450);glVertex2i(540,450);g
lVertex2i(540,193);glEnd();glColor3f(0.95,0.47,0.0);glBegin(GL_QUADS);glVertex2i(210,313);glVert
ex2i(210,328);glVertex2i(540,328);glVertex2i(540,313);glEnd(); 27
28. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglColor3f(0.95,0.47,0.0);glBegin(GL_QUADS);glVertex2i(330,193);glVertex2i(330,434);glVer
tex2i(344,434);glVertex2i(344,193);glEnd();glColor3f(0.95,0.47,0.0);glBegin(GL_QUADS);glVertex2i
(405,434);glVertex2i(420,434);glVertex2i(420,193);glVertex2i(405,193);glEnd();glColor3f(0.77,0.0,0
.0);glBegin(GL_TRIANGLES);glVertex2i(316,434);glVertex2i(375,480);glVertex2i(434,434);glEnd();gl
Color3f(1.0,0.0,0.0);glBegin(GL_POLYGON);glVertex2i(164,449);glVertex2i(209,494);glVertex2i(539
,494); 28
29. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(584,449);glVertex2i(449,415);glVertex2i(374,480);glVertex2i(335,449);glEnd();gl
Flush();}int main (intargc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE |
GLUT_RGBA);glutInitWindowSize(1000,1000);glutInitWindowPosition(0,0);glutCreateWindow("Cas
a");inicializa();glutDisplayFunc(dibuja);glutMainLoop();return 0;} 29
30. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoOso//oso#include<GL/glut.h>#include<GL/gl.h>#include<math.h>void
inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION);
//Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0,
500.0, 0.0, 500.0); //vista ortogonal}voidcirculoc(int x, int y, int t, int radio) 30
31. Colegio de Estudios Científicos Y Tecnológicos del Estado de México{ intangulo=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){intangulo=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 31
32. Colegio de Estudios Científicos Y Tecnológicos del Estado de
México{glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.8,0.5,0.4); //borra
pantallacirculo(190,190,40);glColor3f(0.7,0.2,0.4);circulo(190,190,20);glColor3f(0.8,0.5,0.4);circulo
(315,315,40);glColor3f(0.7,0.2,0.4);circulo(315,315,20);glColor3f(0.8,0.5,0.4);circulo(190,315,40);gl
Color3f(0.7,0.2,0.4);circulo(190,315,20);glColor3f(0.8,0.5,0.4);circulo(315,190,40);glColor3f(0.7,0.2
,0.4);circulo(315,190,20);glColor3f(0.8,0.5,0.4);circulo(250,360,60);glColor3f(1.0,1.0,1.0);circulo(27
0,380,15);glColor3f(0.0,0.0,0.0);circulo(270,380,10);glColor3f(1.0,1.0,1.0); 32
33. Colegio de Estudios Científicos Y Tecnológicos del Estado de
Méxicocirculo(230,380,15);glColor3f(0.0,0.0,0.0);circulo(230,380,10);glColor3f(0.0,0.0,0.0);circulo(
250,340,15);glColor3f(0.8,0.5,0.4);circulo(300,420,25);glColor3f(0.7,0.2,0.4);circulo(300,420,10);gl
Color3f(0.8,0.5,0.4);circulo(200,420,25);glColor3f(0.7,0.2,0.4);circulo(200,420,10);glColor3f(0.7,0.2
,0.6);circulo(250,250,50);glColor3f(0.8,0.5,0.4);circuloc(250,250,5,50);glFlush(); //forza
dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv);
//incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo
devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventana 33
34. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglutInitWindowPosition(100,100); //posicion inicial de la
ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja);
//Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0;
//retorna un valor de cero} 34
35. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoCubo con Cubitos//cubo de
cubos#include<GL/glut.h>#include<GL/gl.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0);
//color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity();
//Establece los parametros de proyecciongluOrtho2D(0.0, 570.0, 0.0, 570.0); //vista
ortogonal}void cubo (int x, inty,intt,int l){ double a=.8,b=.6;glColor3f(0.0 , 0.0 ,
0.0);glBegin(GL_QUADS);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glCo
lor3f(0.0 , 0.0 , 0.0);glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b)); 35
36. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2f(x+(t*a),y+t+(t*b));glColor3f(0.0 , 0.0 ,
0.0);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t
,y);glEnd();glColor3f(1.0 , 0.0 ,
0.0);glLineWidth(.8);glBegin(GL_LINES);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y);glVertex2
f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glVertex2f(x,y);glVertex2f(x,y+t);glVertex2f(x+t,y+t);
glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*
a),y+t+(t*b));glVertex2f(x,y+t);glVertex2f(x+t+(t*a),y+t+(t*b)); 36
37. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2f(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);gl
Vertex2f(x+t,y+t);glEnd(); }void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT);
//borra pantallaglColor3f(1.0 , 0.0 , 0.0);//columna izquierda atrasfor(int
i=0;i<=10;i++){cubo(260,220+20*i,20,5);}//abajo
atrasfor(intj=0;j<=9;j++){cubo(280+20*j,220,20,5);}//arriba de atrasfor(int
j=0;j<=10;j++){cubo(260+20*j,420,20,5); 37
38. Colegio de Estudios Científicos Y Tecnológicos del Estado de México}//columna derecha
atrasfor(int i=0;i<=10;i++){cubo(480,220+20*i,20,5);}//los de enfrente//diagonales izquiercafor(int
k=0;k<=8;k++){cubo(245-20*k*.8,407-20*k*.6,20,5);cubo(245-20*k*.8,207-
20*k*.6,20,5);}//columna izquierda frentefor(int i=0;i<=10;i++){cubo(100,100+20*i,20,5);}//abajo
frentefor(int j=0;j<=10;j++){cubo(120+20*j,100,20,5);//arriba
frentecubo(120+20*j,300,20,5);}//diagonales derechafor(int k=0;k<=8;k++){cubo(466-20*k*.8,408-
20*k*.6,20,5);cubo(466-20*k*.8,208-20*k*.6,20,5); 38
39. Colegio de Estudios Científicos Y Tecnológicos del Estado de México}//columna derecha
frentefor(int i=0;i<=10;i++){cubo(320,100+20*i,20,5);}glFlush(); //forza dibujo}intmain (intargc,
char** argv) //metodomain{glutInit(&argc, argv);
//incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo
devisualizaciónglutInitWindowSize(500,500); //tamaño de la
ventanaglutInitWindowPosition(100,100); //posicion inicial de la
ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja);
//Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0;
//retorna un valor de cero} 39
40. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoMuñeco con
formas//muñeco#include<GL/glut.h>#include<GL/gl.h>#include<math.h>voidinicializa(void){glClea
rColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de
proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0,
500.0); //vista ortogonal 40
41. Colegio de Estudios Científicos Y Tecnológicos del Estado de México}voidcirculoc(int x, int y, int
t, int radio){ intangulo=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){
intangulo=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();} 41
42. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicovoid dibuja(void) //funcion
dibuja{glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.8,0.5,0.4); //borra
pantallacirculo(225,400,80);glColor3f(0.0,0.0,0.0);circulo(200,440,7);glColor3f(0.0,0.0,0.0);circulo(
240,440,7);glEnd();glColor3f(0.0 , 0.0 ,
0.0);glBegin(GL_TRIANGLES);glVertex2i(260,469);glVertex2i(250,499);glVertex2i(240,480);glEnd();g
lColor3f(0.0 , 0.0 ,
0.0);glBegin(GL_TRIANGLES);glVertex2i(240,480);glVertex2i(230,500);glVertex2i(220,480);glEnd();g
lColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES); 42
43. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(220,480);glVertex2i(200,500);glVertex2i(180,465);glEnd();glBegin(GL_LINES);glV
ertex2i(220,480);glEnd();glBegin(GL_POLYGON);glColor3f(0.8,0.1,0.1);glVertex2i(160,160);glVertex
2i(300,160);glVertex2i(300,320);glVertex2i(260,320);glVertex2i(225,280);glVertex2i(200,320);glVer
tex2i(160,320);glEnd();glBegin(GL_POLYGON);glVertex2i(160,320);glVertex2i(160,280);glVertex2i(
120,200);glVertex2i(80,200);glEnd();glBegin(GL_POLYGON);glVertex2i(300,320); 43
44. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglVertex2i(300,280);glVertex2i(340,200);glVertex2i(380,200);glEnd();//diglColor3f(1.0 , 1.0 ,
0.0);glBegin(GL_POLYGON);glVertex2i(160,140);glVertex2i(160,160);glVertex2i(300,160);glVertex2
i(300,140);glEnd();glColor3f(0.0 , 0.0 ,
0.0);glBegin(GL_POLYGON);glVertex2i(220,140);glVertex2i(220,160);glVertex2i(240,160);glVertex2
i(240,140);glEnd();glColor3f(0.0 , 0.2 ,
0.6);glBegin(GL_POLYGON);glVertex2i(160,140);glVertex2i(100,40);glVertex2i(160,20);glVertex2i(2
25,140); 44
45. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglEnd();glColor3f(0.0 , 0.2 ,
0.6);glBegin(GL_POLYGON);glVertex2i(225,140);glVertex2i(280,20);glVertex2i(340,40);glVertex2i(3
00,140);glEnd();glColor3f(0.0 , 0.0 ,
0.0);glBegin(GL_TRIANGLES);glVertex2i(275,20);glVertex2i(380,10);glVertex2i(340,40);glEnd();glCol
or3f(0.0 , 0.0 ,
0.0);glBegin(GL_TRIANGLES);glVertex2i(160,20);glVertex2i(100,40);glVertex2i(50,20);glEnd();glFlus
h(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv); //incializa
GLUT 45
46. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo
devisualizaciónglutInitWindowSize(500,500); //tamaño de la
ventanaglutInitWindowPosition(100,100); //posicion inicial de la
ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja);
//Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0;
//retorna un valor de cero}Animación circulo#include<unistd.h>#include<GL/glut.h> 46
47. Colegio de Estudios Científicos Y Tecnológicos del Estado de
México#include<GL/gl.h>#include<math.h>int x=1, y=1, z=1, a=1;void
inicializa(void){glClearColor(0.0,0.0,1.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr
tho2D(0.0, 900.0, 0.0, 900.0);// el ancho y largo de nuestra pantalla}void circulo(int x, int y, int
radio){ intangulo=0; glBegin(GL_TRIANGLE_FAN); glColor3f (0.5, 0.5, 0.5); glVertex2f(x,y);
glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio,y +
cos(angulo) * radio);} glEnd();}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT |
GL_DEPTH_BUFFER_BIT);if(x>=1 && x<800){circulo(5+1*x,900,15); 47
48. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglFlush();x++;}if(y>=1 &&
y<800 && x==800){circulo(805,900-y,15);glFlush();y++;}if(z>=1 && z<800 && x==800
&&y==800){circulo(805-z,100,15);glFlush();z++;}if(a>=1 && a<800 && x==800 && y==800 &&
z==800){circulo(5,100+a,15);glFlush();a++;if(a==800){x=1; y=1; z=1;}}glutSwapBuffers();}intmain
(intargc, char** argv){glutInit(&argc, argv); 48
49. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA|
GLUT_DEPTH);glutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCreateWindow("
Movimiento de
bolita");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return
0;}Animación Sistema
solar#include<unistd.h>#include<GL/glut.h>#include<GL/gl.h>#include<math.h> 49
50. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicoint rad=100;double
ang=0;double a=0;double b=0;double c=0;double d=0;double e=0;double f=0;double g=0;void
inicializa(void){glClearColor(0.0,0.0,0.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr
tho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla}void circulo(int x, int y, int
radio){ intangulo=0; glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y);for (angulo=0;angulo<=360;
angulo++){ glVertex2f(x + sin(angulo) * radio, y +cos(angulo) * radio);} glEnd();} 50
51. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicovoidcirculoc(int x, int y, int
t, int radio){ intangulo=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<=100; angulo+=1){ glVertex2f(x +
sin(angulo) * radio,y + cos(angulo) * radio);} glEnd();}void
dibuja(void){glClear(GL_COLOR_BUFFER_BIT |
GL_DEPTH_BUFFER_BIT);//estoglColor3f(1.0,1.0,1.0);circuloc(500,500,1,100);circuloc(500,500,1,2
00);circuloc(500,500,1,300);circuloc(500,500,1,400);circuloc(500,500,1,55);circuloc(500,500,1,150)
;circuloc(500,500,1,250);circuloc(500,500,1,350); 51
52. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglColor3f(1.0,1.0,1.0);circulo( 500+ sin(ang) * rad,500 - cos(ang) * rad,10); //funcion
circuloglColor3f(1.0,0.0,0.0);circulo( 500+ sin(a) * 55,500 + cos(a) *
55,10);glColor3f(0.0,0.0,1.0);circulo( 500+ sin(b) * 150,500 - cos(b) *
150,13);glColor3f(0.0,1.0,0.0);circulo( 500+ sin(c) * 200,500 + cos(c) *
200,10);glColor3f(0.0,1.0,0.9);circulo( 500+ sin(d) * 250,500 - cos(d) *
250,20);glColor3f(0.0,1.0,1.0);circulo( 500+ sin(g) * 300,500 + cos(g) *
300,10);glColor3f(0.0,1.0,0.5);circulo( 500+ sin(e) * 350,500 - cos(e) *
350,20);glColor3f(1.0,1.0,0.0);circulo( 500+ sin(f) * 400,500 + cos(f) *
400,10);ang=ang+0.06;a=a+0.07;b=b+0.01;c=c+0.03;d=d+0.05;e=e+0.04;f=f+0.05;g=g+0.06;
//velocidad entre mas grande masrapido y entre menos maslento 52
53. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicofor(int
j=1;j<=10000000;j++){}//pausaif(ang==360){ang=0;}// se repite
idefinidamenteglColor3f(1.0,0.9,0.0);circulo(500,500,35);//solglFlush(); //forzar
dibujadoglutSwapBuffers(); //y esto}intmain (intargc, char** argv){glutInit(&argc,
argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA|
GLUT_DEPTH);//estotambienglutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCr
eateWindow("Sistema Solar");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo
que cambiaglutMainLoop();return 0;} 53
54. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoMovimiento en
Ocho#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,0.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr
tho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla}void circulo(int x, int y, int
radio){ intangulo=0; glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y); 54
55. Colegio de Estudios Científicos Y Tecnológicos del Estado de México for
(angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio,y + cos(angulo) * radio);}
glEnd();}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f
(1.0,0.9, 0.0);circulo(500,300,250);glColor3f (0.0,0.0, 0.0);circulo(500,300,150);glColor3f (1.0,0.9,
0.0);circulo(500,700,250);glColor3f (0.0,0.0, 0.0);circulo(500,700,150);//ocho//la otra
bolitaif(a>=6.15 && a<=12.41){circulo(500 - sin (a)*200,700 - cos(a)*200,40);a=a+
0.031;}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;}for(int j=0; j<=10000000; j++) {}} 55
56. Colegio de Estudios Científicos Y Tecnológicos del Estado de México// se repite
idefinidamenteglFlush(); //forzar dibujadoglutSwapBuffers(); //y esto}intmain (intargc, char**
argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA|
GLUT_DEPTH);//estotambienglutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCr
eateWindow("Movimiento en 8");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es
lo que cambiaglutMainLoop();return 0;} 56
57. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoSemáforoNombre
3D#include
<GL/gl.h>#include<GL/glu.h>#include<GL/glut.h>#include<stdio.h>#include<math.h>#include<stdl
ib.h>GLfloatanguloEsfera = 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); }voidcreaMalla(void){ 57
58. Colegio de Estudios Científicos Y Tecnológicos del Estado de México int i, long_eje=10;
glColor3f(1.0,1.0,0.0); 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(); }voidcreaEjes(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); 58
59. Colegio de Estudios Científicos Y Tecnológicos del Estado de México 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); glVertex3f(0.0,-11.0,0.0); glVertex3f(.50,-
10.5,0.0); 59
60. Colegio de Estudios Científicos Y Tecnológicos del Estado de México 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(); }voidinit ( 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 theviewvolumeshapeglLoadIdentity(); glOrtho(-15,15,-
15,15,-30,30); glMatrixMode(GL_MODELVIEW); // position and aimthe camera glLoadIdentity();
gluLookAt(5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0);}void dibuja( void ){glClear (
GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); 60
61. Colegio de Estudios Científicos Y Tecnológicos del Estado de México
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/* floatangulo;
inti;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();*/ // Colocamos una
luzglLightfv(GL_LIGHT0,GL_DIFFUSE,(GLfloat []){1.0f,1.0f,1.0f,0.0f}); // Color de
laluzglLightfv(GL_LIGHT0,GL_AMBIENT,(GLfloat []){1.0, 1.0, 1.0, 4.0}); // Luz
ambienteglLightfv(GL_LIGHT0,GL_POSITION,(GLfloat []){0.0f,12.0f,5.0f,0.0f}); // Posiciónde la luz
61
62. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglLightfv(GL_LIGHT0,GL_EMISSION,(GLfloat []){0.5,0.5,0.5,1.0});//glShadeModel
(GL_SMOOTH);// esferaglPushMatrix();mover();if(malla) creaMalla();if(ejes)
creaEjes();//glRotatef(anguloEsfera, 1.0f, 1.0f,0.0f);glColor3f(1.0,1.0,0.0);//AglTranslatef(-7.2,0.0,
0.0);glutSolidCube(1);glTranslatef(0.0,-0.9, 0.0);glutSolidCube(1);glTranslatef(0.9,0.0,
0.0);glutSolidCube(1);glTranslatef(0.9,0.0, 0.0);glutSolidCube(1);glTranslatef(0.0,-0.3,
0.0);glutSolidCube(1);glTranslatef(0.0,1.2, 0.0);glutSolidCube(1);glTranslatef(-0.9,0.2,
0.0);glutSolidCube(1);//l 62
63. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglTranslatef(2.3,-1.6,
0.0);glutSolidCube(1);glTranslatef(0.0,0.9, 0.0);glutSolidCube(1);glTranslatef(0.0,0.9,
0.0);glutSolidCube(1);glTranslatef(0.0,0.9, 0.0);glutSolidCube(1);//iglTranslatef(1.4,-2.7,
0.0);glutSolidCube(1);glTranslatef(0.0,0.9, 0.0);glutSolidCube(1);glTranslatef(0.0,1.2,
0.0);glutSolidCube(1);//nglTranslatef(1.4,-1.0, 0.0);glutSolidCube(1);glTranslatef(0.9,0.0,
0.0);glutSolidCube(1);glTranslatef(0.9,0.0, 0.0);glutSolidCube(1);glTranslatef(0.0,-0.9,
0.0);glutSolidCube(1);glTranslatef(-1.6,0.0, 0.0); 63
64. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutSolidCube(1);// AQUI
PONES TU NOMBRE//AQUI//AQUI//AQUI//AQUI//AQUI//AQUI//AQUI//AQUIglPopMatrix
();glFlush();glutSwapBuffers ();//anguloEsfera+=2.0f;}voidreshape(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(intx,int y){// x= e; //y= f;girax=y; 64
65. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicogiray=700-x;
glutPostRedisplay(); }void teclado(unsignedcharkey, 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); 65
66. Colegio de Estudios Científicos Y Tecnológicos del Estado de México zoom=0; break; case m:
malla= !malla; break; case e: ejes= !ejes;default: break; } glutPostRedisplay(); }void flechas(intkey,
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; 66
67. Colegio de Estudios Científicos Y Tecnológicos del Estado de México break; default: break;}
glutPostRedisplay(); }intmain ( intargc, 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;} 67
68. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoSemáforo. SEMAFOROEn
esta práctica realizaremos un semáforo en el cual los colores se cambiensegún la ubicación de
dicho semáforo, para ello utilizaremos, rectángulos ycírculos así como se muestra a
continuación:Código:#include<unistd.h> 68
69. Colegio de Estudios Científicos Y Tecnológicos del Estado de
México#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.2,0.6,0.8,1.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr
tho2D(0.0, 500.0, 0.0, 500.0);// el ancho y largo de nuestra pantalla}voidcirculoc(int x, int y, int t,
int radio){ intangulo=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){ 69
70. Colegio de Estudios Científicos Y Tecnológicos del Estado de México intangulo=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);//estoglBegin(GL_QUADS);//Cuadros fondo semaforoglColor3f(0.2 , 0.6 ,
0.);glVertex2i(170,437);glVertex2i(320,437);glVertex2i(320,182);glVertex2i(170,182);glVertex2i(22
9,183);glVertex2i(278,183);glVertex2i(278,3);glVertex2i(229,3);glEnd();glColor3f(0.0,0.0,0.0);//Luc
es Rojacirculo(247,226,34); 70
71. Colegio de Estudios Científicos Y Tecnológicos del Estado de
MéxicoglColor3f(0.0,0.0,0.0);//Luces Amarrillacirculo(247,302,34);glColor3f(0.0,0.0,0.0);//Luces
Verdecirculo(247,381,34);a=a+1; //velocidad entre mas grande masrapido y entre menos mas
lentofor(int j=1;j<=10000000;j++){}//pausaif(a>1 && a<20){glColor3f(1.0,0.0,0.0);//Luces
Rojacirculo(247,381,34);}// se repite idefinidamenteif(a>20 &&
a<40){glColor3f(0.0,1.0,0.0);//Luces Rojacirculo(247,226,34);}// se repite idefinidamenteif(a>40
&& a<50){glColor3f(1.0,1.0,0.0);//Luces Rojacirculo(247,302,34);}// se repite
idefinidamenteif(a>55 && a<50){glColor3f(1.0,1.0,0.0);//Luces Roja 71
72. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicocirculo(247,302,34);}// se
repite idefinidamenteif(a>60 && a<55){glColor3f(1.0,1.0,0.0);//Luces Rojacirculo(247,302,34);}//
se repite idefinidamenteif(a>60){a=0;}glFlush(); //forzar dibujadoglutSwapBuffers(); //y
esto}intmain (intargc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE |
GLUT_RGBA| GLUT_DEPTH);//esto
tambienglutInitWindowSize(500,500);glutInitWindowPosition(10,10);glutCreateWindow("Ventana
");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo que
cambiaglutMainLoop();return 0; 72
73. Colegio de Estudios Científicos Y Tecnológicos del Estado de México} 73

Más contenido relacionado

Destacado

Contenido de practicas
Contenido de practicasContenido de practicas
Contenido de practicasmakapxndx
 
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 segundo parcial
Manual de practicas segundo parcialManual de practicas segundo parcial
Manual de practicas segundo parcialGuillermo Mendoza
 
manual de practicas de opengl
manual de practicas de openglmanual de practicas de opengl
manual de practicas de openglAlincita Simon
 
Manual de practicas de dev c++
Manual de practicas de dev c++Manual de practicas de dev c++
Manual de practicas de dev c++Alincita Simon
 
Procedimiento para resolver cubo de rubik - Equipo 2 UANE
Procedimiento para resolver cubo de rubik - Equipo 2 UANEProcedimiento para resolver cubo de rubik - Equipo 2 UANE
Procedimiento para resolver cubo de rubik - Equipo 2 UANE'Dulce Hadassa Chacon
 
Tarea unidad 3 graficacion
Tarea unidad 3 graficacionTarea unidad 3 graficacion
Tarea unidad 3 graficacionDanny Limon
 
Presentacion Visualizacion
Presentacion VisualizacionPresentacion Visualizacion
Presentacion Visualizacionjoanem28
 

Destacado (9)

Contenido de practicas
Contenido de practicasContenido de practicas
Contenido de practicas
 
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
 
Graficacion
GraficacionGraficacion
Graficacion
 
Manual de practicas segundo parcial
Manual de practicas segundo parcialManual de practicas segundo parcial
Manual de practicas segundo parcial
 
manual de practicas de opengl
manual de practicas de openglmanual de practicas de opengl
manual de practicas de opengl
 
Manual de practicas de dev c++
Manual de practicas de dev c++Manual de practicas de dev c++
Manual de practicas de dev c++
 
Procedimiento para resolver cubo de rubik - Equipo 2 UANE
Procedimiento para resolver cubo de rubik - Equipo 2 UANEProcedimiento para resolver cubo de rubik - Equipo 2 UANE
Procedimiento para resolver cubo de rubik - Equipo 2 UANE
 
Tarea unidad 3 graficacion
Tarea unidad 3 graficacionTarea unidad 3 graficacion
Tarea unidad 3 graficacion
 
Presentacion Visualizacion
Presentacion VisualizacionPresentacion Visualizacion
Presentacion Visualizacion
 

Similar a Manual OpenGL 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 crayder1
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminadojesicecytem
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminadoKaren_Avilaa
 
Practicas OpenglC++
Practicas OpenglC++Practicas OpenglC++
Practicas OpenglC++jesicecytem
 
Open gl tutorial diana hernandez 303
Open gl tutorial diana hernandez 303Open gl tutorial diana hernandez 303
Open gl tutorial diana hernandez 303Pablo Solis
 
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
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Alincita Simon
 
Programa de cuadrado en c++
Programa de cuadrado en c++Programa de cuadrado en c++
Programa de cuadrado en c++Aliana_A
 
Intro opengl
Intro openglIntro opengl
Intro openglsispro
 
Deber piramide y cubo
Deber piramide y cuboDeber piramide y cubo
Deber piramide y cuboPao Alvarez
 
Renderización en java
Renderización en javaRenderización en java
Renderización en javaaleja0940
 

Similar a Manual OpenGL Dev C (20)

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 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
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
 
Proyecto de rene
Proyecto de reneProyecto de rene
Proyecto de rene
 
Practicas OpenglC++
Practicas OpenglC++Practicas OpenglC++
Practicas OpenglC++
 
Open gl tutorial diana hernandez 303
Open gl tutorial diana hernandez 303Open gl tutorial diana hernandez 303
Open gl tutorial diana hernandez 303
 
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
 
Manual de actividades
Manual de actividadesManual de actividades
Manual de actividades
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++
 
Estela y naye
Estela y nayeEstela y naye
Estela y naye
 
Programa de cuadrado en c++
Programa de cuadrado en c++Programa de cuadrado en c++
Programa de cuadrado en c++
 
Intro opengl
Intro openglIntro opengl
Intro opengl
 
Deber piramide y cubo
Deber piramide y cuboDeber piramide y cubo
Deber piramide y cubo
 
MATRIZ MÉTODO GAUSS JORDAN
MATRIZ MÉTODO GAUSS JORDANMATRIZ MÉTODO GAUSS JORDAN
MATRIZ MÉTODO GAUSS JORDAN
 
Mini introopengl
Mini introopenglMini introopengl
Mini introopengl
 
Manual de informática
Manual de informáticaManual de informática
Manual de informática
 
Renderización en java
Renderización en javaRenderización en java
Renderización en java
 

Último

TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
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
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
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
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
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
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
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.
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

Manual OpenGL Dev C

  • 1. Manual de Practicas de Open GL con Dev C++ 4. Colegio de Estudios Científicos Y Tecnológicos del Estado de México Índice 1. Tablero de Ajedrez 2. Estrella 3. Cubo con líneas 4. Cubo delineado 5. Muñeco con triángulos 6. Casita 7. Oso 8. Cubo con cubitos 9. Muñeco con formas 10. Animación circulo 11. Animación circulo rotando 12. Animación sistema solar 13. Movimiento en ocho 14. Semáforo 15. Objetos 3D Wire (9) 16. Objetos 3D Solid (9) 17. Interacción Teclado 18. Interacción con mouse 19. Interacción de objetos 3D con mouse y teclado 20. Cubo 3D con líneas 4 tablero de ajedrez #include<GL/glut.h> #include<GL/gl.h>
  • 2. #include<GL/glu.h>void inicializa(void){glClearColor(0.0,3.0,5.0,1.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1050.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(0.0 , 0.0 , 0.0);glPointSize(60);glBegin(GL_POINTS);glVertex2i(100,100);glVertex2i(347,100);glVertex2i(597,1 00);glVertex2i(848,100);glVertex2i(220,220);glVertex2i(473,220);glVertex2i(723,220); 5 6. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(970,220);glVertex2i(100,340);glVertex2i(347,340);glVertex2i(597,340);glVertex2 i(848,340);glVertex2i(220,460);glVertex2i(473,460);glVertex2i(723,460);glVertex2i(970,460);glVert ex2i(100,580);glVertex2i(347,580);glVertex2i(597,580);glVertex2i(848,580);glVertex2i(220,700);gl Vertex2i(473,700);glVertex2i(723,700);glVertex2i(970,700);glVertex2i(100,820);glVertex2i(347,820 );glVertex2i(597,820);glVertex2i(848,820);glEnd();glColor3f(1.0 , 1.0 , 1.0);glPointSize(60);glBegin(GL_POINTS);glVertex2i(220,100);glVertex2i(473,100); 6 7. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(723,100);glVertex2i(970,100);glVertex2i(100,220);glVertex2i(347,220);glVertex2 i(597,220);glVertex2i(848,220);glVertex2i(220,340);glVertex2i(473,340);glVertex2i(723,340);glVert ex2i(970,340);glVertex2i(100,460);glVertex2i(347,460);glVertex2i(597,460);glVertex2i(848,460);gl Vertex2i(220,580);glVertex2i(473,580);glVertex2i(723,580);glVertex2i(970,580);glVertex2i(100,700 );glVertex2i(347,700);glVertex2i(597,700);glVertex2i(848,700);glVertex2i(220,820);glVertex2i(473, 820);glVertex2i(723,820);glVertex2i(970,820);glEnd(); 7 8. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglFlush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv); //incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("TABLERO DE AJEDREZ"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} 8 9. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoEstrella//estrella#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglLineWidth(2);glBegin(GL_LINES);glVertex2i(50,50);glVertex2i(250,400);glVertex2i(250,40 0);glVertex2i(400,50);glVertex2i(400,50);glVertex2i(50,300);glVertex2i(50,300);glVertex2i(400,300 ); 9 10. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(400,300);glVertex2i(50,50);glEnd();glFlush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv);
  • 3. //incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("estrella"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} 10 11. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoCubo con líneas//cubo con lineas#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglLineWidth(2);glBegin(GL_LINES);//enfrenteglVertex2i(50,50);glVertex2i(50,300);glVertex 2i(50,300); 11 12. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(300,300);glVertex2i(300,300);glVertex2i(300,50);glVertex2i(300,50);glVertex2i(5 0,50);//atrasglVertex2i(150,150);glVertex2i(150,400);glVertex2i(150,400);glVertex2i(400,400);glVe rtex2i(400,400);glVertex2i(400,150);glVertex2i(400,150);glVertex2i(150,150);//linea izquierdaglVertex2i(50,300);glVertex2i(150,400);//linea derechaglVertex2i(300,300);glVertex2i(400,400);//linea izquierda abajoglVertex2i(50,50);glVertex2i(150,150);//linea derecha abajoglVertex2i(300,50); 12 13. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(400,150);glEnd();glFlush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv); //incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("mi primera ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} 13 14. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoCubo delineado//cubo delineado#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{ 14 15. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 0.0);glPointSize(50);glBegin(GL_QUADS);//ATRASglColor3f(0.0 , 0.0 , 0.0);glVertex2d(100,150);glVertex2d(300,100);glVertex2d(300,350);glVertex2d(100,350);//ABAJOg lColor3f(0.0 , 0.0 , 0.0);glVertex2d(200,100);glVertex2d(400,100);glVertex2d(300,150);glVertex2d(100,150);//izquier
  • 4. doglColor3f(0.0 , 0.1 , 0.1);glVertex2d(100,150);glVertex2d(200,100);glVertex2d(200,300);glVertex2d(100,350);//derech oglColor3f(1.1 , 1.1 , 1.1); 15 16. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2d(300,150);glVertex2d(400,100);glVertex2d(400,300);glVertex2d(300,350);//arrib aglColor3f(1.2 , 0.0 , 0.0);glVertex2d(200,300);glVertex2d(400,300);glVertex2d(300,350);glVertex2d(100,350);//enfrent eglColor3f(1.5 , 1.5 , 0.0);glVertex2d(200,100);glVertex2d(400,100);glVertex2d(400,300);glVertex2d(200,300);glEnd();gl Flush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv); //incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventana 16 17. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("mi primera ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}Muñeco con Triángulos#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h> 17 18. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicovoid inicializa(void){glClearColor(0.0,0.0,0.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 1.0);glLineWidth(5);glBegin(GL_TRIANGLES);glVertex2i(97,12);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(167,12);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(167,54);glVertex2i(140,55);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(190,55);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(190,145);glVertex2i(260,12); 18 19. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglColor3f(1.0 , 0.0 , 1.0);glVertex2i(333,12);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(260,54);glVertex2i(240,54);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(290,54);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(240,145);glVertex2i(145,375);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(300,375);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(230,455);glVertex2i(320,300);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(320,150);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(275,300);glVertex2i(150,300);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(110,300);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(110,150); 19 20. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(150,300);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(110,300);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(110,150);glVertex2i(260,380);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(183,380);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(219,309);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(340,30);glVertex2i(395,30);glVertex2i(420,130);glColor3f(1.0 , 0.0 ,
  • 5. 1.0);glVertex2i(340,30);glVertex2i(395,30);glVertex2i(420,130);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(372,181);glVertex2i(330,208);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(326,150);glColor3f(1.0 , 0.0 , 1.0); 20 21. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(102,152);glVertex2i(59,179);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(101,208);glEnd();glBegin(GL_QUADS);glVertex2i(155,155);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(155,305);glVertex2i(280,305);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(280,155);glColor3f(010 , 1.0 , .0);glVertex2i(350,250);glColor3f(0.0 , 1.0 , .0);glVertex2i(370,420);glColor3f(0.0 , 1.0 , .0);glVertex2i(490,250);glColor3f(1.0 , 1.0 , .0);glVertex2i(420,135);glEnd();glFlush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{ 21 22. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutInit(&argc, argv); //incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("Muñeco con triangulos"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}Casita 22 23. Colegio de Estudios Científicos Y Tecnológicos del Estado de México#include<GL/glut.h>#include<GL/gl.h>#include<GL/glu.h>void inicializa(void){glClearColor(0.0,0.0,1.0,1.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr tho2D(0.0, 900.0, 0.0, 900.0);}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.12 ,0.12 ,0.12 );glLineWidth(2);glBegin(GL_QUADS);glVertex2i(0,80);glVertex2i(1000,80);glVertex2i(1000,0);glVer tex2i(0,0);glEnd();glColor3f(1.0,1.0,1.0);glBegin(GL_LINES);glVertex2i(0,40);glVertex2i(50,40); 23 24. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(70,40);glVertex2i(120,40);glVertex2i(140,40);glVertex2i(190,40);glVertex2i(210, 40);glVertex2i(260,40);glVertex2i(280,40);glVertex2i(330,40);glVertex2i(350,40);glVertex2i(400,40 );glVertex2i(420,40);glVertex2i(470,40);glVertex2i(490,40);glVertex2i(540,40);glVertex2i(560,40);gl Vertex2i(610,40);glVertex2i(630,40);glVertex2i(680,40);glVertex2i(700,40);glVertex2i(750,40);glVe rtex2i(770,40);glVertex2i(820,40);glVertex2i(840,40);glVertex2i(890,40);glEnd(); 24 25. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglColor3f(1.0 ,1.0 ,0.0 );glLineWidth(5);glBegin(GL_LINES);glVertex2i(0,84);glVertex2i(1000,84);glEnd();glColor3f(0.21,0.2 1,0.21);glBegin(GL_POLYGON);glVertex2i(0,118);glVertex2i(345,118);glVertex2i(345,193);glVertex 2i(405,193);glVertex2i(405,118);glVertex2i(1000,118);glVertex2i(1000,88);glVertex2i(0,88);glEnd(); glColor3f(0.0,1.0,0.0);glBegin(GL_POLYGON);glVertex2i(0,118);glVertex2i(0,238);glVertex2i(75,238 );glVertex2i(75,193);glVertex2i(345,193); 25
  • 6. 26. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(345,118);glVertex2i(0,118);glEnd();glColor3f(0.0,1.0,0.0);glBegin(GL_POLYGON); glVertex2i(405,119);glVertex2i(405,193);glVertex2i(540,193);glVertex2i(540,239);glVertex2i(1000, 239);glVertex2i(1000,119);glVertex2i(405,119);glEnd();glColor3f(1.0,0.52,0.05);glBegin(GL_QUADS );glVertex2i(75,193);glVertex2i(75,313);glVertex2i(90,313);glVertex2i(90,193);glEnd();glColor3f(1.0 ,0.0,0.0);glBegin(GL_POLYGON);glVertex2i(61,313);glVertex2i(75,345); 26 27. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(210,345);glVertex2i(210,313);glEnd();glColor3f(0.80,0.80,0.80);glBegin(GL_QUA DS);glVertex2i(90,193);glVertex2i(90,313);glVertex2i(210,313);glVertex2i(210,193);glEnd();glColor 3f(1.0,1.0,0.28);glBegin(GL_QUADS);glVertex2i(210,193);glVertex2i(210,450);glVertex2i(540,450);g lVertex2i(540,193);glEnd();glColor3f(0.95,0.47,0.0);glBegin(GL_QUADS);glVertex2i(210,313);glVert ex2i(210,328);glVertex2i(540,328);glVertex2i(540,313);glEnd(); 27 28. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglColor3f(0.95,0.47,0.0);glBegin(GL_QUADS);glVertex2i(330,193);glVertex2i(330,434);glVer tex2i(344,434);glVertex2i(344,193);glEnd();glColor3f(0.95,0.47,0.0);glBegin(GL_QUADS);glVertex2i (405,434);glVertex2i(420,434);glVertex2i(420,193);glVertex2i(405,193);glEnd();glColor3f(0.77,0.0,0 .0);glBegin(GL_TRIANGLES);glVertex2i(316,434);glVertex2i(375,480);glVertex2i(434,434);glEnd();gl Color3f(1.0,0.0,0.0);glBegin(GL_POLYGON);glVertex2i(164,449);glVertex2i(209,494);glVertex2i(539 ,494); 28 29. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(584,449);glVertex2i(449,415);glVertex2i(374,480);glVertex2i(335,449);glEnd();gl Flush();}int main (intargc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);glutInitWindowSize(1000,1000);glutInitWindowPosition(0,0);glutCreateWindow("Cas a");inicializa();glutDisplayFunc(dibuja);glutMainLoop();return 0;} 29 30. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoOso//oso#include<GL/glut.h>#include<GL/gl.h>#include<math.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}voidcirculoc(int x, int y, int t, int radio) 30 31. Colegio de Estudios Científicos Y Tecnológicos del Estado de México{ intangulo=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){intangulo=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 31 32. Colegio de Estudios Científicos Y Tecnológicos del Estado de México{glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.8,0.5,0.4); //borra pantallacirculo(190,190,40);glColor3f(0.7,0.2,0.4);circulo(190,190,20);glColor3f(0.8,0.5,0.4);circulo
  • 7. (315,315,40);glColor3f(0.7,0.2,0.4);circulo(315,315,20);glColor3f(0.8,0.5,0.4);circulo(190,315,40);gl Color3f(0.7,0.2,0.4);circulo(190,315,20);glColor3f(0.8,0.5,0.4);circulo(315,190,40);glColor3f(0.7,0.2 ,0.4);circulo(315,190,20);glColor3f(0.8,0.5,0.4);circulo(250,360,60);glColor3f(1.0,1.0,1.0);circulo(27 0,380,15);glColor3f(0.0,0.0,0.0);circulo(270,380,10);glColor3f(1.0,1.0,1.0); 32 33. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicocirculo(230,380,15);glColor3f(0.0,0.0,0.0);circulo(230,380,10);glColor3f(0.0,0.0,0.0);circulo( 250,340,15);glColor3f(0.8,0.5,0.4);circulo(300,420,25);glColor3f(0.7,0.2,0.4);circulo(300,420,10);gl Color3f(0.8,0.5,0.4);circulo(200,420,25);glColor3f(0.7,0.2,0.4);circulo(200,420,10);glColor3f(0.7,0.2 ,0.6);circulo(250,250,50);glColor3f(0.8,0.5,0.4);circuloc(250,250,5,50);glFlush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv); //incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventana 33 34. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} 34 35. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoCubo con Cubitos//cubo de cubos#include<GL/glut.h>#include<GL/gl.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 570.0, 0.0, 570.0); //vista ortogonal}void cubo (int x, inty,intt,int l){ double a=.8,b=.6;glColor3f(0.0 , 0.0 , 0.0);glBegin(GL_QUADS);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glCo lor3f(0.0 , 0.0 , 0.0);glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b)); 35 36. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2f(x+(t*a),y+t+(t*b));glColor3f(0.0 , 0.0 , 0.0);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t ,y);glEnd();glColor3f(1.0 , 0.0 , 0.0);glLineWidth(.8);glBegin(GL_LINES);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y);glVertex2 f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glVertex2f(x,y);glVertex2f(x,y+t);glVertex2f(x+t,y+t); glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t* a),y+t+(t*b));glVertex2f(x,y+t);glVertex2f(x+t+(t*a),y+t+(t*b)); 36 37. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2f(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);gl Vertex2f(x+t,y+t);glEnd(); }void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 0.0);//columna izquierda atrasfor(int i=0;i<=10;i++){cubo(260,220+20*i,20,5);}//abajo
  • 8. atrasfor(intj=0;j<=9;j++){cubo(280+20*j,220,20,5);}//arriba de atrasfor(int j=0;j<=10;j++){cubo(260+20*j,420,20,5); 37 38. Colegio de Estudios Científicos Y Tecnológicos del Estado de México}//columna derecha atrasfor(int i=0;i<=10;i++){cubo(480,220+20*i,20,5);}//los de enfrente//diagonales izquiercafor(int k=0;k<=8;k++){cubo(245-20*k*.8,407-20*k*.6,20,5);cubo(245-20*k*.8,207- 20*k*.6,20,5);}//columna izquierda frentefor(int i=0;i<=10;i++){cubo(100,100+20*i,20,5);}//abajo frentefor(int j=0;j<=10;j++){cubo(120+20*j,100,20,5);//arriba frentecubo(120+20*j,300,20,5);}//diagonales derechafor(int k=0;k<=8;k++){cubo(466-20*k*.8,408- 20*k*.6,20,5);cubo(466-20*k*.8,208-20*k*.6,20,5); 38 39. Colegio de Estudios Científicos Y Tecnológicos del Estado de México}//columna derecha frentefor(int i=0;i<=10;i++){cubo(320,100+20*i,20,5);}glFlush(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv); //incializaGLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero} 39 40. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoMuñeco con formas//muñeco#include<GL/glut.h>#include<GL/gl.h>#include<math.h>voidinicializa(void){glClea rColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccionglLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal 40 41. Colegio de Estudios Científicos Y Tecnológicos del Estado de México}voidcirculoc(int x, int y, int t, int radio){ intangulo=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){ intangulo=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();} 41 42. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicovoid dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.8,0.5,0.4); //borra pantallacirculo(225,400,80);glColor3f(0.0,0.0,0.0);circulo(200,440,7);glColor3f(0.0,0.0,0.0);circulo( 240,440,7);glEnd();glColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(260,469);glVertex2i(250,499);glVertex2i(240,480);glEnd();g lColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(240,480);glVertex2i(230,500);glVertex2i(220,480);glEnd();g lColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES); 42
  • 9. 43. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(220,480);glVertex2i(200,500);glVertex2i(180,465);glEnd();glBegin(GL_LINES);glV ertex2i(220,480);glEnd();glBegin(GL_POLYGON);glColor3f(0.8,0.1,0.1);glVertex2i(160,160);glVertex 2i(300,160);glVertex2i(300,320);glVertex2i(260,320);glVertex2i(225,280);glVertex2i(200,320);glVer tex2i(160,320);glEnd();glBegin(GL_POLYGON);glVertex2i(160,320);glVertex2i(160,280);glVertex2i( 120,200);glVertex2i(80,200);glEnd();glBegin(GL_POLYGON);glVertex2i(300,320); 43 44. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglVertex2i(300,280);glVertex2i(340,200);glVertex2i(380,200);glEnd();//diglColor3f(1.0 , 1.0 , 0.0);glBegin(GL_POLYGON);glVertex2i(160,140);glVertex2i(160,160);glVertex2i(300,160);glVertex2 i(300,140);glEnd();glColor3f(0.0 , 0.0 , 0.0);glBegin(GL_POLYGON);glVertex2i(220,140);glVertex2i(220,160);glVertex2i(240,160);glVertex2 i(240,140);glEnd();glColor3f(0.0 , 0.2 , 0.6);glBegin(GL_POLYGON);glVertex2i(160,140);glVertex2i(100,40);glVertex2i(160,20);glVertex2i(2 25,140); 44 45. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglEnd();glColor3f(0.0 , 0.2 , 0.6);glBegin(GL_POLYGON);glVertex2i(225,140);glVertex2i(280,20);glVertex2i(340,40);glVertex2i(3 00,140);glEnd();glColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(275,20);glVertex2i(380,10);glVertex2i(340,40);glEnd();glCol or3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(160,20);glVertex2i(100,40);glVertex2i(50,20);glEnd();glFlus h(); //forza dibujo}intmain (intargc, char** argv) //metodomain{glutInit(&argc, argv); //incializa GLUT 45 46. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo devisualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana devisualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}Animación circulo#include<unistd.h>#include<GL/glut.h> 46 47. Colegio de Estudios Científicos Y Tecnológicos del Estado de México#include<GL/gl.h>#include<math.h>int x=1, y=1, z=1, a=1;void inicializa(void){glClearColor(0.0,0.0,1.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr tho2D(0.0, 900.0, 0.0, 900.0);// el ancho y largo de nuestra pantalla}void circulo(int x, int y, int radio){ intangulo=0; glBegin(GL_TRIANGLE_FAN); glColor3f (0.5, 0.5, 0.5); glVertex2f(x,y); glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio,y + cos(angulo) * radio);} glEnd();}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);if(x>=1 && x<800){circulo(5+1*x,900,15); 47 48. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglFlush();x++;}if(y>=1 && y<800 && x==800){circulo(805,900-y,15);glFlush();y++;}if(z>=1 && z<800 && x==800
  • 10. &&y==800){circulo(805-z,100,15);glFlush();z++;}if(a>=1 && a<800 && x==800 && y==800 && z==800){circulo(5,100+a,15);glFlush();a++;if(a==800){x=1; y=1; z=1;}}glutSwapBuffers();}intmain (intargc, char** argv){glutInit(&argc, argv); 48 49. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);glutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCreateWindow(" Movimiento de bolita");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return 0;}Animación Sistema solar#include<unistd.h>#include<GL/glut.h>#include<GL/gl.h>#include<math.h> 49 50. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicoint rad=100;double ang=0;double a=0;double b=0;double c=0;double d=0;double e=0;double f=0;double g=0;void inicializa(void){glClearColor(0.0,0.0,0.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr tho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla}void circulo(int x, int y, int radio){ intangulo=0; glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y);for (angulo=0;angulo<=360; angulo++){ glVertex2f(x + sin(angulo) * radio, y +cos(angulo) * radio);} glEnd();} 50 51. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicovoidcirculoc(int x, int y, int t, int radio){ intangulo=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<=100; angulo+=1){ glVertex2f(x + sin(angulo) * radio,y + cos(angulo) * radio);} glEnd();}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//estoglColor3f(1.0,1.0,1.0);circuloc(500,500,1,100);circuloc(500,500,1,2 00);circuloc(500,500,1,300);circuloc(500,500,1,400);circuloc(500,500,1,55);circuloc(500,500,1,150) ;circuloc(500,500,1,250);circuloc(500,500,1,350); 51 52. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglColor3f(1.0,1.0,1.0);circulo( 500+ sin(ang) * rad,500 - cos(ang) * rad,10); //funcion circuloglColor3f(1.0,0.0,0.0);circulo( 500+ sin(a) * 55,500 + cos(a) * 55,10);glColor3f(0.0,0.0,1.0);circulo( 500+ sin(b) * 150,500 - cos(b) * 150,13);glColor3f(0.0,1.0,0.0);circulo( 500+ sin(c) * 200,500 + cos(c) * 200,10);glColor3f(0.0,1.0,0.9);circulo( 500+ sin(d) * 250,500 - cos(d) * 250,20);glColor3f(0.0,1.0,1.0);circulo( 500+ sin(g) * 300,500 + cos(g) * 300,10);glColor3f(0.0,1.0,0.5);circulo( 500+ sin(e) * 350,500 - cos(e) * 350,20);glColor3f(1.0,1.0,0.0);circulo( 500+ sin(f) * 400,500 + cos(f) * 400,10);ang=ang+0.06;a=a+0.07;b=b+0.01;c=c+0.03;d=d+0.05;e=e+0.04;f=f+0.05;g=g+0.06; //velocidad entre mas grande masrapido y entre menos maslento 52 53. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicofor(int j=1;j<=10000000;j++){}//pausaif(ang==360){ang=0;}// se repite idefinidamenteglColor3f(1.0,0.9,0.0);circulo(500,500,35);//solglFlush(); //forzar dibujadoglutSwapBuffers(); //y esto}intmain (intargc, char** argv){glutInit(&argc,
  • 11. argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//estotambienglutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCr eateWindow("Sistema Solar");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo que cambiaglutMainLoop();return 0;} 53 54. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoMovimiento en Ocho#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,0.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr tho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla}void circulo(int x, int y, int radio){ intangulo=0; glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y); 54 55. Colegio de Estudios Científicos Y Tecnológicos del Estado de México for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio,y + cos(angulo) * radio);} glEnd();}void dibuja(void){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f (1.0,0.9, 0.0);circulo(500,300,250);glColor3f (0.0,0.0, 0.0);circulo(500,300,150);glColor3f (1.0,0.9, 0.0);circulo(500,700,250);glColor3f (0.0,0.0, 0.0);circulo(500,700,150);//ocho//la otra bolitaif(a>=6.15 && a<=12.41){circulo(500 - sin (a)*200,700 - cos(a)*200,40);a=a+ 0.031;}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;}for(int j=0; j<=10000000; j++) {}} 55 56. Colegio de Estudios Científicos Y Tecnológicos del Estado de México// se repite idefinidamenteglFlush(); //forzar dibujadoglutSwapBuffers(); //y esto}intmain (intargc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//estotambienglutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCr eateWindow("Movimiento en 8");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo que cambiaglutMainLoop();return 0;} 56 57. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoSemáforoNombre 3D#include <GL/gl.h>#include<GL/glu.h>#include<GL/glut.h>#include<stdio.h>#include<math.h>#include<stdl ib.h>GLfloatanguloEsfera = 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); }voidcreaMalla(void){ 57 58. Colegio de Estudios Científicos Y Tecnológicos del Estado de México int i, long_eje=10; glColor3f(1.0,1.0,0.0); 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(); }voidcreaEjes(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); 58
  • 12. 59. Colegio de Estudios Científicos Y Tecnológicos del Estado de México 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); glVertex3f(0.0,-11.0,0.0); glVertex3f(.50,- 10.5,0.0); 59 60. Colegio de Estudios Científicos Y Tecnológicos del Estado de México 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(); }voidinit ( 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 theviewvolumeshapeglLoadIdentity(); glOrtho(-15,15,- 15,15,-30,30); glMatrixMode(GL_MODELVIEW); // position and aimthe camera glLoadIdentity(); gluLookAt(5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0);}void dibuja( void ){glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); 60 61. Colegio de Estudios Científicos Y Tecnológicos del Estado de México 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/* floatangulo; inti;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();*/ // Colocamos una luzglLightfv(GL_LIGHT0,GL_DIFFUSE,(GLfloat []){1.0f,1.0f,1.0f,0.0f}); // Color de laluzglLightfv(GL_LIGHT0,GL_AMBIENT,(GLfloat []){1.0, 1.0, 1.0, 4.0}); // Luz ambienteglLightfv(GL_LIGHT0,GL_POSITION,(GLfloat []){0.0f,12.0f,5.0f,0.0f}); // Posiciónde la luz 61 62. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglLightfv(GL_LIGHT0,GL_EMISSION,(GLfloat []){0.5,0.5,0.5,1.0});//glShadeModel (GL_SMOOTH);// esferaglPushMatrix();mover();if(malla) creaMalla();if(ejes) creaEjes();//glRotatef(anguloEsfera, 1.0f, 1.0f,0.0f);glColor3f(1.0,1.0,0.0);//AglTranslatef(-7.2,0.0, 0.0);glutSolidCube(1);glTranslatef(0.0,-0.9, 0.0);glutSolidCube(1);glTranslatef(0.9,0.0, 0.0);glutSolidCube(1);glTranslatef(0.9,0.0, 0.0);glutSolidCube(1);glTranslatef(0.0,-0.3, 0.0);glutSolidCube(1);glTranslatef(0.0,1.2, 0.0);glutSolidCube(1);glTranslatef(-0.9,0.2, 0.0);glutSolidCube(1);//l 62 63. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglTranslatef(2.3,-1.6, 0.0);glutSolidCube(1);glTranslatef(0.0,0.9, 0.0);glutSolidCube(1);glTranslatef(0.0,0.9, 0.0);glutSolidCube(1);glTranslatef(0.0,0.9, 0.0);glutSolidCube(1);//iglTranslatef(1.4,-2.7,
  • 13. 0.0);glutSolidCube(1);glTranslatef(0.0,0.9, 0.0);glutSolidCube(1);glTranslatef(0.0,1.2, 0.0);glutSolidCube(1);//nglTranslatef(1.4,-1.0, 0.0);glutSolidCube(1);glTranslatef(0.9,0.0, 0.0);glutSolidCube(1);glTranslatef(0.9,0.0, 0.0);glutSolidCube(1);glTranslatef(0.0,-0.9, 0.0);glutSolidCube(1);glTranslatef(-1.6,0.0, 0.0); 63 64. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglutSolidCube(1);// AQUI PONES TU NOMBRE//AQUI//AQUI//AQUI//AQUI//AQUI//AQUI//AQUI//AQUIglPopMatrix ();glFlush();glutSwapBuffers ();//anguloEsfera+=2.0f;}voidreshape(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(intx,int y){// x= e; //y= f;girax=y; 64 65. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicogiray=700-x; glutPostRedisplay(); }void teclado(unsignedcharkey, 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); 65 66. Colegio de Estudios Científicos Y Tecnológicos del Estado de México zoom=0; break; case m: malla= !malla; break; case e: ejes= !ejes;default: break; } glutPostRedisplay(); }void flechas(intkey, 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; 66 67. Colegio de Estudios Científicos Y Tecnológicos del Estado de México break; default: break;} glutPostRedisplay(); }intmain ( intargc, 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;} 67 68. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoSemáforo. SEMAFOROEn esta práctica realizaremos un semáforo en el cual los colores se cambiensegún la ubicación de dicho semáforo, para ello utilizaremos, rectángulos ycírculos así como se muestra a continuación:Código:#include<unistd.h> 68 69. Colegio de Estudios Científicos Y Tecnológicos del Estado de México#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.2,0.6,0.8,1.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOr tho2D(0.0, 500.0, 0.0, 500.0);// el ancho y largo de nuestra pantalla}voidcirculoc(int x, int y, int t, int radio){ intangulo=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){ 69
  • 14. 70. Colegio de Estudios Científicos Y Tecnológicos del Estado de México intangulo=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);//estoglBegin(GL_QUADS);//Cuadros fondo semaforoglColor3f(0.2 , 0.6 , 0.);glVertex2i(170,437);glVertex2i(320,437);glVertex2i(320,182);glVertex2i(170,182);glVertex2i(22 9,183);glVertex2i(278,183);glVertex2i(278,3);glVertex2i(229,3);glEnd();glColor3f(0.0,0.0,0.0);//Luc es Rojacirculo(247,226,34); 70 71. Colegio de Estudios Científicos Y Tecnológicos del Estado de MéxicoglColor3f(0.0,0.0,0.0);//Luces Amarrillacirculo(247,302,34);glColor3f(0.0,0.0,0.0);//Luces Verdecirculo(247,381,34);a=a+1; //velocidad entre mas grande masrapido y entre menos mas lentofor(int j=1;j<=10000000;j++){}//pausaif(a>1 && a<20){glColor3f(1.0,0.0,0.0);//Luces Rojacirculo(247,381,34);}// se repite idefinidamenteif(a>20 && a<40){glColor3f(0.0,1.0,0.0);//Luces Rojacirculo(247,226,34);}// se repite idefinidamenteif(a>40 && a<50){glColor3f(1.0,1.0,0.0);//Luces Rojacirculo(247,302,34);}// se repite idefinidamenteif(a>55 && a<50){glColor3f(1.0,1.0,0.0);//Luces Roja 71 72. Colegio de Estudios Científicos Y Tecnológicos del Estado de Méxicocirculo(247,302,34);}// se repite idefinidamenteif(a>60 && a<55){glColor3f(1.0,1.0,0.0);//Luces Rojacirculo(247,302,34);}// se repite idefinidamenteif(a>60){a=0;}glFlush(); //forzar dibujadoglutSwapBuffers(); //y esto}intmain (intargc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//esto tambienglutInitWindowSize(500,500);glutInitWindowPosition(10,10);glutCreateWindow("Ventana ");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo que cambiaglutMainLoop();return 0; 72 73. Colegio de Estudios Científicos Y Tecnológicos del Estado de México} 73