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 (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 de practicas de open gl con dev c

Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
Karen_Avilaa
 
Open gl tutorial diana hernandez 303
Open gl tutorial diana hernandez 303Open gl tutorial diana hernandez 303
Open gl tutorial diana hernandez 303
Pablo Solis
 
Manual de practicas de Open GL
Manual de practicas de Open GLManual de practicas de Open GL
Manual de practicas de Open GL
Alincita 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
 
Deber piramide y cubo
Deber piramide y cuboDeber piramide y cubo
Deber piramide y cubo
Pao Alvarez
 
Renderización en java
Renderización en javaRenderización en java
Renderización en java
aleja0940
 

Similar a Manual de practicas de open gl con 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

RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Último (20)

origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 

Manual de practicas de open gl con 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