Proyecto de rene
-
Upload
la-qrazii-luniitha -
Category
Education
-
view
183 -
download
0
Transcript of Proyecto de rene
![Page 1: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/1.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CECYTEM TECÁMAC
UTILIZACIÓN DE DISEÑO PARA EL MANEJO DE
GRÁFICO
ALUMNAS: VERONICA RODRIGUEZ VICENTE
&
AMANDA MARISOL MARTINEZ LUNA
PROFESOR: RENE DOMINGUEZ ESCALONA
![Page 2: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/2.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
INTRODUCCIÓN:OpenGL (Open Graphics Library) es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. La interfaz consiste en más de 250 funciones diferentes que pueden usarse para dibujar escenas tridimensionales complejas a partir de primitivas geométricas simples, tales como puntos, líneas y triángulos. Fue
desarrollada originalmente por Silicón Graphics Inc. (SGI) en 19922 y se usa ampliamente en CAD, realidad virtual, representación científica, visualización de información y simulación de vuelo. También se usa en desarrollo de videojuegos, donde compite con Direct3D en
plataformas Windows. OpenGL tiene dos propósitos esenciales:
Ocultar la complejidad de la interfaz con las diferentes tarjetas gráficas, presentando al
programador una API única y uniforme.
Ocultar las diferentes capacidades de las diversas plataformas hardware, requiriendo que
todas las implementaciones soporten la funcionalidad completa de OpenGL (utilizando
emulación software si fuese necesario).
El funcionamiento básico de OpenGL consiste en aceptar primitivas tales como puntos, líneas y
polígonos, y convertirlas en píxeles. Este proceso es realizado por una pipeline gráfica conocida
como Máquina de estados de OpenGL.8 La mayor parte de los comandos de OpenGL bien emiten
primitivas a la pipeline gráfica o bien configuran cómo la pipeline procesa dichas primitivas. Hasta
la aparición de la versión 2.0 cada etapa de la pipeline ejecutaba una función prefijada, resultando
poco configurable. A partir de la versión 2.0 algunas etapas son programables usando un lenguaje
de programación llamado GLSL.
OpenGL es una API basada en procedimientos de bajo nivel que requiere que el programador dicte
los pasos exactos necesarios para renderizar una escena. Esto contrasta con las APIs descriptivas,
donde un programador sólo debe describir la escena y puede dejar que la biblioteca controle los
detalles para representarla. El diseño de bajo nivel de OpenGL requiere que los programadores
conozcan en profundidad la pipeline gráfica, a cambio de darles libertad para implementar
algoritmos gráficos novedosos.
OpenGL ha influido en el desarrollo de las tarjetas gráficas, promocionando un nivel básico de
funcionalidad que actualmente es común en el hardware comercial; algunas de esas contribuciones
son:
Primitivas básicas de puntos, líneas y polígonos rasterizados.
Una pipeline de transformación e iluminación
Z-buffering.
Mapeado de texturas.
![Page 3: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/3.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
Alpha blending.
ÍNDICE
ANIMACIÓN CASA ESTRELLA SISTEMA SOLAR MOVIMIENTO EN 8 CUBO RELLENO AJEDREZ CUBO CON CUBITOS PIRAMIDE SEMAFORO MUÑECO OSO SEÑOR TRIANGULOS
![Page 4: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/4.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
![Page 5: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/5.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“ANIMACIÓN”
PRESENTACIÓN:
![Page 6: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/6.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO:#include <unistd.h>#include <GL/glut.h>#include <GL/gl.h>#include <math.h>int x=1, y=1, a=1, h=1;void inicializa(void){glClearColor(1.0,0.6,0.5,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 800.0, 0.0, 800.0);// el ancho y largo de nuestra pantalla}
void circulo(int x, int y, int radio){
int angulo=0; glBegin(GL_TRIANGLE_FAN); glColor3f (1.0, 0.3, 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);//abajoif(x>=1 && x<500){ circulo(100+1*x,100,40); glFlush(); x++; }
//derechaif(x==500 && y>=1 && y<500){ circulo (600,100+1*y,40); glFlush(); y++; }
//arribaif(x==500 && y==500 && a>=1 && a<500){ circulo (600-1*a,600,40); glFlush(); a++; }
//izquierdaif(x==500 && y==500 && a==500 && h>=1 && h<500){ circulo(100,600-1*h,40); glFlush(); h++; }//Reptirif(h==500){ x=1; y=1; a=1; h=1; }
glutSwapBuffers();}
int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);glutInitWindowSize(800,800);glutInitWindowPosition(10,10);glutCreateWindow("Ventana");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return 0;}
![Page 7: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/7.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
![Page 8: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/8.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“CASA”
CÓDIGO://Los puntos en toda la pantalla#include <GL/glut.h>#include <GL/gl.h>
void inicializa(void){glClearColor (3.0, 1.0, 1.0, 1.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0,1000.0,0.0,600.0);}
void dibuja(void) {
int i,j=0;
/* borra la pantalla */glClear(GL_COLOR_BUFFER_BIT);
// Cercafor(i=0;i<50;i++){glBegin(GL_POLYGON);glColor3f (2.0, 0.3, 1.0); glVertex2f(0+20*i,292);glVertex2f(5+20*i,300);glVertex2f(10+20*i,292);glVertex2f(10+20*i,240);glVertex2f(0+20*i,240);glEnd();}glBegin(GL_QUADS);
glVertex2i(0,289);glVertex2i(1000,289);glVertex2i(1000,280);glVertex2i(0,280);
//pastoglColor3f (0.3, 0.5, 0.2); glVertex2i(0,240);glVertex2i(1000,240);glVertex2i(1000,120);glVertex2i(0,120);//banquetaglColor3f (0.5, 0.5, 0.5); glVertex2i(0,120);glVertex2i(1000,120);glVertex2i(1000,90);glVertex2i(0,90);
glColor3f (1.0, 0.0, 0.0); glVertex2i(0,90);glVertex2i(1000,90);glVertex2i(1000,82);glVertex2i(0,82);//calleglColor3f (0.3, 0.3, 0.3); glVertex2i(0,82);glVertex2i(1000,82);glVertex2i(1000,0);glVertex2i(0,0);
//piedrasglColor3f (0.3, 0.6, 0.6);
![Page 9: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/9.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glVertex2i(105,180);glVertex2i(135,180);glVertex2i(135,165);glVertex2i(105,165);
glVertex2i(165,180);glVertex2i(195,180);glVertex2i(195,165);glVertex2i(165,165);
glVertex2i(105,150);glVertex2i(135,150);glVertex2i(135,135);glVertex2i(105,135);
glVertex2i(165,150);glVertex2i(195,150);glVertex2i(195,135);glVertex2i(165,135);//entradaglVertex2i(345,195);glVertex2i(405,195);glVertex2i(405,120);glVertex2i(345,120);
// CasaglColor3f (0.5, 0.0, 0.7); glVertex2i(210,450);glVertex2i(540,450);glVertex2i(540,195);glVertex2i(210,195);// Techo casaglColor3f (0.3, 0.5, 0.3); glVertex2i(210,495);glVertex2i(540,495);glVertex2i(585,450);glVertex2i(165,450);// Techo cocheraglVertex2i(75,345);glVertex2i(210,345);glVertex2i(210,315);glVertex2i(60,315);//Cortina
glColor3f (0.3, 0.5, 0.9); glVertex2i(90,315);glVertex2i(210,315);glVertex2i(210,195);glVertex2i(90,195);
//PuertaglColor3f (1.0, 0.5, 1.0); glVertex2i(345,300);glVertex2i(405,300);glVertex2i(405,195);glVertex2i(345,195);
//ColumnasglColor3f (0.0, 0.5, 0.3); glVertex2i(75,315);glVertex2i(90,315);glVertex2i(90,195);glVertex2i(75,195);
glVertex2i(210,330);glVertex2i(540,330);glVertex2i(540,315);glVertex2i(210,315);
glVertex2i(330,435);glVertex2i(345,435);glVertex2i(345,195);glVertex2i(330,195);
glVertex2i(405,435);glVertex2i(420,435);glVertex2i(420,195);glVertex2i(405,195);
//Ventanas iglColor3f (0.5, 0.7, 1.0); glVertex2i(240,435);glVertex2i(300,435);glVertex2i(300,375);glVertex2i(240,375);
![Page 10: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/10.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glVertex2i(240,300);glVertex2i(300,300);glVertex2i(300,240);glVertex2i(240,240);
//Ventanas dglVertex2i(450,435);glVertex2i(510,435);glVertex2i(510,375);glVertex2i(450,375);
glVertex2i(450,300);glVertex2i(510,300);glVertex2i(510,240);glVertex2i(450,240);//Ventanas balconglVertex2i(345,435);glVertex2i(405,435);glVertex2i(405,330);glVertex2i(345,330);
//Ventanas puertaglVertex2i(360,285);glVertex2i(390,285);glVertex2i(390,210);glVertex2i(360,210);
//TallosglColor3f (0.5, 1.0, 0.5); glVertex2i(670,225);glVertex2i(700,225);glVertex2i(700,150);glVertex2i(670,150);
glVertex2i(875,225);glVertex2i(905,225);glVertex2i(905,150);glVertex2i(875,150);
glEnd();
glBegin(GL_TRIANGLES);// Techo balconglColor3f (0.5, 1.0, 0.5); glVertex2i(375,480);glVertex2i(435,435);glVertex2i(315,435);glEnd();//arbolesglLineWidth (4);glBegin(GL_LINES);glColor3f (0.0, 0.7, 0.0); for(i=0;i<32;i++){glVertex2i(680-3*i,540-10*j);glVertex2i(690+3*i,540-10*j);glVertex2i(685-3*i,535-10*j);glVertex2i(695+3*i,535-10*j);
glVertex2i(885-3*i,540-10*j);glVertex2i(895+3*i,540-10*j);glVertex2i(890-3*i,535-10*j);glVertex2i(900+3*i,535-10*j);j=j+1;}glEnd();
//Linea CalleglLineWidth (4);glColor3f (0.0, 0.0, 0.0); glBegin(GL_LINES);
for(i=0;i<50;i++){glVertex2i(0+120*i,41);glVertex2i(90+120*i,41);}
//BarandalglVertex2i(344,375);glVertex2i(406,375);for(i=0;i<7;i++){glVertex2i(345+10*i,375);glVertex2i(345+10*i,330);}//Divicion Ventana
![Page 11: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/11.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glVertex2i(240,262);glVertex2i(300,262);glVertex2i(240,397);glVertex2i(300,397);glVertex2i(450,397);glVertex2i(510,397);glVertex2i(450,262);glVertex2i(510,262);glVertex2i(375,434);glVertex2i(375,375);glVertex2i(270,397);glVertex2i(270,375);glVertex2i(270,262);glVertex2i(270,240);
glVertex2i(480,397);glVertex2i(480,375);glVertex2i(480,262);glVertex2i(480,240);
glEnd();
//Contorno ventanasglBegin(GL_LINE_LOOP);glVertex2i(240,435);glVertex2i(300,435);glVertex2i(300,375);glVertex2i(240,375);glEnd();glBegin(GL_LINE_LOOP);glVertex2i(240,300);glVertex2i(300,300);glVertex2i(300,240);glVertex2i(240,240);glEnd();glBegin(GL_LINE_LOOP);
glVertex2i(450,435);glVertex2i(510,435);glVertex2i(510,375);glVertex2i(450,375);glEnd();glBegin(GL_LINE_LOOP);glVertex2i(450,300);glVertex2i(510,300);glVertex2i(510,240);glVertex2i(450,240);
glEnd();//ChapaglPointSize(4);glColor3f (0.5, 1.0, 0.5); glBegin(GL_POINTS);glVertex2i(352,247);glVertex2i(352,245);glEnd();
glFlush();}
int main(int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);glutInitWindowSize(1000,600);glutInitWindowPosition(100,100);glutCreateWindow("My Home");inicializa();glutDisplayFunc(dibuja);glutMainLoop();return 0;}
![Page 12: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/12.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“ESTRELLA”
PRESENTACIÓN:
![Page 13: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/13.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CODIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>
void inicializa(void){glClearColor(1.0,0.8,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //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);glColor3f(0.0 ,0.0 ,0.0 );glPointSize(50);
glBegin(GL_LINES);glVertex2i(350,300);glVertex2i(100,300);
glBegin(GL_LINES);glVertex2i(300,100);glVertex2i(200,400);
glBegin(GL_LINES);glVertex2i(200,400);glVertex2i(100,100);
glBegin(GL_LINES);glVertex2i(100,300);glVertex2i(300,100);
glBegin(GL_LINES);glVertex2i(350,300);glVertex2i(100,100);
glEnd();glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(475,475); //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 de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0;
![Page 14: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/14.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“SISTEMA SOLAR”
PRESENTACIÓN:
![Page 15: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/15.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO:#include <unistd.h>#include <GL/glut.h>#include <GL/gl.h>#include <math.h>int rad=100;double ang=0, a=0, l=0, d=0, o=0, t=0, e=0, q=0, m=0;void inicializa(void){glClearColor(0.3,0.0,0.0,0.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 1000.0, 0.0, 1000.0);// el ancho y largo de nuestra pantalla}
void circulo(int x, int y, int radio){
int angulo=0; glBegin(GL_TRIANGLE_FAN); for (angulo=0;angulo<=360; angulo++){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}
void circuloc(int x, int y, int t, int radio){
int angulo=0;glPointSize(t);
glBegin(GL_POINTS); //glColor3f (0.4, 0.3, 0.6); glVertex2f(x,y);
//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}void dibuja(void)
{glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//estoglColor3f (1.0, 1.0, 0.0);circulo( 500,500,30); //funcion circulo //funcion circulocirculoc (500,500,1,50);glColor3f (1.5, 0.8, 0.7);circulo( 500+ sin(a) * 50,500 - cos(a) * 50,10);circuloc (500,500,1,50);glColor3f (1.0, 0.0, 0.6);circulo( 500+ sin(l) * 100,500 + cos(l) * 100,20);circuloc (500,500,1,100);glColor3f (0.6, 0.4, 0.5);circulo( 500+ sin(d) * 150,500 - cos(d) * 150,15);circuloc (500,500,1,150);glColor3f (0.8, 1.0, 0.5);circulo( 500+ sin(o) * 200,500 + cos(o) * 200,30);circuloc (500,500,1,200);glColor3f (0.5, 0.5, 0.5);circulo( 500+ sin(t) * 250,500 - cos(t) * 250,25);circuloc (500,500,1,250);glColor3f (1.0, 0.3, 0.7);circulo( 500+ sin(e) * 300,500 + cos(e) * 300,30);circuloc (500,500,1,300);glColor3f (0.5, 0.2, 1.0);circulo( 500+ sin(q) * 350,500 - cos(q) * 350,20);circuloc (500,500,1,350);glColor3f (0.5, 1.0, 0.8);circulo( 500+ sin(m) * 400,500 + cos(m) * 400,15);circuloc (500,500,1,400);glColor3f (0.0, 0.0, 1.0);
![Page 16: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/16.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
circulo( 500+ sin(ang) * 450,500 + cos(ang) * 450,30);circuloc (500,500,1,450);glColor3f (0.0, 0.0, 1.0);a=a+0.02;l=l+0.03;d=d+0.04;o=o+0.05;t=t+0.06;e=t+0.07;q=q+0.08;m=m+0.09;ang=ang+0.01; //velocidad entre mas grande mas rapido y entre menos mas lentofor(int j=1;j<=10000000;j++){}//pausaif(ang==360){ang=0;}// se repite idefinidamenteglFlush(); //forzar dibujado
glutSwapBuffers(); //y esto}
int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//esto tambienglutInitWindowSize(1000,1000);glutInitWindowPosition(10,10);glutCreateWindow("Ventana");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);//esto es lo que cambiaglutMainLoop();return 0;}
![Page 17: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/17.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“MOVIMIENTO EN 8”
PRESENTACIÓN:
![Page 18: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/18.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CODIGO:#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.5,0.6,1.0,0.9);
![Page 19: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/19.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 700.0, 0.0, 700.0);// el ancho y largo de nuestra pantalla}
void circulo(int x, int y, int radio){ int angulo=0;
glBegin(GL_TRIANGLE_FAN); glVertex2f(x,y); for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}void dibuja(void)
{glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(0.5, 0.0, 1.0);circulo(300, 300, 70);
circulo(300,180,70); glColor3f(1.0, 0.0, 0.8);
circulo(300,300,50);
circulo(300,180,50);
glColor3f(1.0,0.9,2.0);
if(a>=6.15 && a<=12.41){circulo(300+ sin (a)*60,300- cos(a)*60,10);a=a+0.02; }else{circulo(300 + sin (b) *60,180-cos(b)*-60,10);b=b + 0.2;if(b>12.4){a=6.15;b=6.15;}for(int j=0; j<=10000000; j++) {}}
glFlush(); glutSwapBuffers();}
int main (int argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);glutInitWindowSize(700,700);glutInitWindowPosition(10,10);glutCreateWindow("Ventana");inicializa();glutDisplayFunc(dibuja);glutIdleFunc(dibuja);glutMainLoop();return 0;}
![Page 20: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/20.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“CUBO RELLENO”
PRESENTACIÓN:
![Page 21: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/21.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO://mi primer ventana#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 proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}
void cubo (int x, int y,int t,int l){ double a=.8,b=.6;glColor3f(1.0 , 1.0 , 0.0); glBegin(GL_QUADS);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glColor3f(1.0 , 0.0 , 1.0);glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glColor3f(1.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(0.0 , 0.0 , 0.0);glLineWidth(l);glBegin(GL_LINES);glVertex2f(x,y);
glVertex2f(x+t,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glVertex2f(x,y);
glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glVertex2f(x,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));
glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t,y);glVertex2f(x+t,y+t);glEnd(); } void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 0.0);
// cubo de atras
![Page 22: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/22.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
for(int i=0;i<=10;i++){//linea derecha, izquierdacubo(200,200+20*i,20,5);}for(int j=0;j<=9;j++){//lineas acostadas//linea acostada, abajocubo(220+20*j,200,20,4);//linea acostada, cubo(220+20*j,400,20,5);//linea derecha, derecha
}for(int i=0;i<=10;i++){cubo(420,200+20*i,20,5);}//diagonales//diagonal izquierdafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,387-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,387-16*i,20,5);}
//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,185-16*i,20,5);
}
/////////////////////////////////////////////////////////////////////////////////// cubo de adelantefor(int i=0;i<=10;i++){//lineas derechascubo(100,100+20*i,20,5);
}for(int j=0;j<=9;j++){//lineas acostadascubo(120+20*j,100,20,4);//dcubo(120+20*j,300,20,5);//diagonales
}for(int i=0;i<=10;i++){cubo(320,100+20*i,20,5);}
glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
![Page 23: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/23.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
NOMBRE DE LA PRÁCTICA:
“AJEDREZ”
PRESENTACIÓN:
![Page 24: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/24.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO:
//mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>
void inicializa(void){glClearColor(1.0,0.8,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //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);glColor3f(1.0 ,1.0 ,1.0 );glPointSize(50);glBegin(GL_POINTS);glVertex2i(100,100);glVertex2i(200,200);glVertex2i(300,100);glVertex2i(400,200);glVertex2i(500,100);glVertex2i(600,200);glVertex2i(700,100);
glVertex2i(800,200);glVertex2i(100,300);glVertex2i(200,400);glVertex2i(300,300);glVertex2i(400,400);glVertex2i(500,300);glVertex2i(600,400);glVertex2i(700,300);glVertex2i(800,400); glVertex2i(100,500);glVertex2i(200,600);glVertex2i(300,500);glVertex2i(400,600);glVertex2i(500,500);glVertex2i(600,600);glVertex2i(700,500);glVertex2i(800,600); glVertex2i(100,700);glVertex2i(200,800);glVertex2i(300,700);glVertex2i(400,800);glVertex2i(500,700);glVertex2i(600,800);glVertex2i(700,700);glVertex2i(800,800); glEnd();glColor3f(0.0 ,0.0 ,0.0 );glPointSize(50);glBegin(GL_POINTS);glVertex2i(200,100);glVertex2i(300,200);glVertex2i(400,100);
![Page 25: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/25.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glVertex2i(500,200);glVertex2i(600,100);glVertex2i(700,200);glVertex2i(800,100);glVertex2i(100,200);glVertex2i(200,300);glVertex2i(300,400);glVertex2i(400,300);glVertex2i(500,400);glVertex2i(600,300);glVertex2i(700,400);glVertex2i(800,300);glVertex2i(100,400);glVertex2i(200,500);glVertex2i(300,600);glVertex2i(400,500);glVertex2i(500,600);glVertex2i(600,500);glVertex2i(700,600);glVertex2i(800,500);glVertex2i(100,600);glVertex2i(200,700);glVertex2i(300,800);glVertex2i(400,700);glVertex2i(500,800);glVertex2i(600,700);glVertex2i(700,800);glVertex2i(800,700);glVertex2i(100,800);
glEnd();glColor3f(1.0 ,1.0 ,1.0 );
glPointSize(50);glBegin(GL_LINE);glVertex2i(500,900);glVertex2i(500,100);glEnd(); glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(475,475); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("ajedrez"); //nombre de la ventanainicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}
![Page 26: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/26.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“CUBO CON CUBITOS”
PRESENTACIÓN:
![Page 27: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/27.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO://mi primer ventana#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 proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}
void cubo (int x, int y,int t,int l){ double a=.8,b=.6;glColor3f(1.0 , 1.0 , 0.0); glBegin(GL_QUADS);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glColor3f(1.0 , 0.0 , 1.0);glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glColor3f(1.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(0.0 , 0.0 , 0.0);
glLineWidth(l);glBegin(GL_LINES);glVertex2f(x,y);glVertex2f(x+t,y);glVertex2f(x+t,y);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x,y+t);glVertex2f(x,y);
glVertex2f(x,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));glVertex2f(x,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+(t*a),y+t+(t*b));
glVertex2f(x+t,y+t);glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+t+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t+(t*a),y+(t*b));glVertex2f(x+t,y);glVertex2f(x+t,y+t);glEnd(); } void dibuja(void) //funcion dibuja{
![Page 28: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/28.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glClear(GL_COLOR_BUFFER_BIT); //borra pantallaglColor3f(1.0 , 0.0 , 0.0);
// cubo de atras
for(int i=0;i<=10;i++){//linea derecha, izquierdacubo(200,200+20*i,20,5);}for(int j=0;j<=9;j++){//lineas acostadas//linea acostada, abajocubo(220+20*j,200,20,4);//linea acostada, cubo(220+20*j,400,20,5);//linea derecha, derecha
}for(int i=0;i<=10;i++){cubo(420,200+20*i,20,5);}//diagonales//diagonal izquierdafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,185-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,387-16*i,20,5);}//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(185-16*i,387-16*i,20,5);
}
//diagonal derechafor(int i=0;i<=5;i++){//lineas derechascubo(405-16*i,185-16*i,20,5);}
/////////////////////////////////////////////////////////////////////////////////// cubo de adelantefor(int i=0;i<=10;i++){//lineas derechascubo(100,100+20*i,20,5);
}for(int j=0;j<=9;j++){//lineas acostadascubo(120+20*j,100,20,4);//dcubo(120+20*j,300,20,5);//diagonales
}for(int i=0;i<=10;i++){cubo(320,100+20*i,20,5);}
glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventana
![Page 29: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/29.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}
NOMBRE DE LA PRÁCTICA:
“PIRAMIDE”
PRESENTACIÓN:
![Page 30: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/30.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
![Page 31: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/31.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO:
//mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>
void inicializa(void){glClearColor(1.0,1.9,0.2,1.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1050.0, 0.0, 1000.0); //vista ortogonal
}
void dibuja(void) //funcion dibuja{int i,a=20;glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0 ,1.0 ,1.0 );glLineWidth(4);glBegin(GL_LINES);for(i=0;i<=12;i++){glVertex2i(400-a*i,400-a*i);glVertex2i(600+a*i,400-a*i); glVertex2i(600+a*i,400-a*i);glVertex2i(600+a*i,600+a*i);glVertex2i(600+a*i,600+a*i);glVertex2i(400-a*i,600+a*i);glVertex2i(400-a*i,600+a*i);glVertex2i(400-a*i,400-a*i);//diagonalesglBegin(GL_LINES);glVertex2i(400,400);glVertex2i(850,850);
glBegin(GL_LINES);glVertex2i(400,400);glVertex2i(150,150);
glBegin(GL_LINES);glVertex2i(600,400);glVertex2i(150,850);
glBegin(GL_LINES);glVertex2i(600,400);glVertex2i(850,150);
}glEnd(); glFlush(); //forza dibujo
}int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(450,450); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("piramide"); //nombre de la ventanainicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
![Page 32: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/32.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero}
NOMBRE DE LA PRÁCTICA:
“SEMAFORO”
CODIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <math.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}void circuloc(int x, int y, int t, int radio){
int angulo=0;glPointSize(t);
glBegin(GL_POINTS); //glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);
//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}
void circulo(int x, int y, int radio){
int angulo=0; glBegin(GL_TRIANGLE_FAN); // glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}
void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,1.0,0.0); //borra pantalla
circuloc(250,250,5,80);glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUT
![Page 33: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/33.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventana
glutCreateWindow("Ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna
un valor de cero
}
![Page 34: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/34.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“MUÑECO”
PRESENTACIÓN:
![Page 35: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/35.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>#include <math.h>void inicializa(void){glClearColor(0.5,0.3,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal}void circuloc(int x, int y, int t, int radio){
int angulo=0;glPointSize(t);
glBegin(GL_POINTS); //glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);
//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}
void circulo(int x, int y, int radio){
int angulo=0; glBegin(GL_TRIANGLE_FAN); // glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
}void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); //borra pantalla// pie izquierdoglBegin(GL_QUADS);glColor3f(0.0,0.0,0.0);glVertex2i(200,100);glVertex2i(300,100);glVertex2i(300,150);glVertex2i(250,150);// pie derechoglColor3f(0.0,0.0,0.0);glVertex2i(450,100);glVertex2i(450,150);glVertex2i(500,150);glVertex2i(550,100);// pantalonglColor3f(1.0,1.,1.0);glVertex2i(275,250);glVertex2i(300,325);glVertex2i(450,325);glVertex2i(475,250);
glColor3f(1.0,1.0,1.0);glVertex2i(250,150);glVertex2i(275,250);glVertex2i(375,250);
![Page 36: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/36.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glVertex2i(300,150);
glColor3f(1.0,1.0,1.0);glVertex2i(375,250);glVertex2i(475,250);glVertex2i(500,150);glVertex2i(450,150);// cinturonglColor3f(0.0,1.0,0.0);glVertex2i(300,325);glVertex2i(300,350);glVertex2i(450,350);glVertex2i(450,325);
glColor3f(1.0,0.0,0.0);glVertex2i(350,325);glVertex2i(350,350);glVertex2i(400,350);glVertex2i(400,325);// camisaglColor3f(0.0,1.0,1.0);glVertex2i(300,350);glVertex2i(300,600);glVertex2i(450,600);glVertex2i(450,350);// camisa toraxglVertex2i(225,550);glVertex2i(250,600);glVertex2i(500,600);glVertex2i(525,550);// manga izquierdaglVertex2i(200,450);glVertex2i(225,550);glVertex2i(300,550);glVertex2i(250,450);// manga derechaglVertex2i(500,450);glVertex2i(450,550);glVertex2i(525,550);glVertex2i(550,450);// mano izquierdaglColor3f(0.9,0.8,0.7);glVertex2i(200,375);
glVertex2i(210,450);glVertex2i(230,450);glVertex2i(220,375);// mano derechaglVertex2i(510,375);glVertex2i(510,450);glVertex2i(530,450);glVertex2i(530,375);// botones de la camisaglColor3f(0.5,0.2,0.0);glVertex2i(350,525);glVertex2i(350,550);glVertex2i(400,550);glVertex2i(400,525);
glVertex2i(350,475);glVertex2i(350,500);glVertex2i(400,500);glVertex2i(400,475);
glVertex2i(350,425);glVertex2i(350,450);glVertex2i(400,450);glVertex2i(400,425);
glVertex2i(350,375);glVertex2i(350,400);glVertex2i(400,400);glVertex2i(400,375);// cuelloglColor3f(0.9,0.8,0.7);glVertex2i(350,600);glVertex2i(350,650);glVertex2i(400,650);glVertex2i(400,600);glEnd();
glBegin(GL_TRIANGLES);glColor3f(0.9,0.8,0.7);glVertex2i(350,600);glVertex2i(400,600);glVertex2i(375,550);// cabeza circulo
![Page 37: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/37.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glColor3f(0.9,0.8,0.7);circulo(375,750,150);
glEnd(); //ojosglBegin(GL_QUADS);glColor3f(0.2,0.5,1.0);glVertex2i(300,750);glVertex2i(350,750);glVertex2i(350,800);glVertex2i(300,800);glColor3f(0.2,0.5,1.0);glVertex2i(400,750);glVertex2i(450,750);glVertex2i(450,800);glVertex2i(400,800);glEnd();//ojos centro// cabeza circuloglColor3f(0.0,0.0,0.0);circulo(340,780,10);glEnd();glColor3f(0.0,0.0,0.0);circulo(440,780,10);glEnd();//narizzglBegin(GL_POLYGON);glColor3f(1.0,0.3,0.5);glVertex2i(350,725);glVertex2i(375,700);glVertex2i(400,725);glEnd();//bocaglLineWidth(5);glBegin(GL_LINES);glColor3f(1.0,0.3,0.2);glVertex2i(300,650);glVertex2i(450,650);glEnd();//cabelloglBegin(GL_TRIANGLES);glColor3f(0.8,0.5,0.2);
glVertex2i(300,880);glVertex2i(375,950);
glVertex2i(435,890);glVertex2i(490,890);glVertex2i(510,820);
//manos en circuloglEnd();glBegin(GL_POLYGON);glColor3f(0.9,0.8,0.7);circulo(520,375,20);glEnd();glBegin(GL_POLYGON);glColor3f(0.9,0.8,0.7);circulo(210,375,20);
glEnd();glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(900,800); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("MI primer ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y espera
![Page 38: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/38.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
return 0; //retorna un valor de cero
}
![Page 39: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/39.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“OSO”
PRESENTACIÓN:
![Page 40: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/40.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <math.h>void inicializa(void){glClearColor(1.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //Establece los parametros de proyecciongluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal}void circuloc(int x, int y, int t, int radio){
int angulo=0;glPointSize(t);
glBegin(GL_POINTS); //glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);
//glColor3f(0,0.0,0.0); for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}
void circulo(int x, int y, int radio){
int angulo=0; glBegin(GL_TRIANGLE_FAN); // glColor3f (1.0, 0.0, 1.0); glVertex2f(x,y);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}
glEnd();}
void dibuja(void) //funcion dibuja{glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.6,0.4,0.2); //borra pantallacirculo(200,200,150);glColor3f(0.6,0.4,0.2);//circulo(300,300,50);glColor3f(0.6,0.4,0.2);//circulo(100,300,50);glColor3f(0.6,0.4,0.2);//circulo(100,100,50);glColor3f(0.6,0.4,0.2);//circulo(300,100,50);glColor3f(0.6,0.4,0.2);//circulo(200,400,90);glColor3f(0.6,0.4,0.2);//bocacirculo(200,400,10);glColor3f(1.0,0.0,0.0);//circulo(200,350,30);glColor3f(0.6,0.4,0.2);//circulo(259,480,30);
![Page 41: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/41.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glColor3f(0.6,0.4,0.2);//circulo(150,480,30);glColor3f(0.6,0.4,0.2);
//ojos blancoscirculo(150,425,25);glColor3f(0.0,0.0,0.0);circulo(250,425,25);glColor3f(0.0,0.0,0.0);circulo(150,425,25);glColor3f(0.0,0.0,0.0);circulo(150,425,25);glColor3f(0.0,0.0,0.0);
//ojos negroscirculo(150,425,10);glColor3f(1.0,1.0,1.0);circulo(250,425,10);glColor3f(1.0,1.0,1.0);circulo(150,425,10);glColor3f(1.0,1.0,1.0);circulo(150,425,10);glColor3f(1.0,1.0,1.0);
//ombligocirculo(200,170,10);glColor3f(0.6,0.5,0.2);
glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(100,100); //posicion inicial de la ventanaglutCreateWindow("ositha"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}
![Page 42: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/42.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
NOMBRE DE LA PRÁCTICA:
“SEÑOR TRIANGULOS”
PRESENTACIÓN:
![Page 43: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/43.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
CÓDIGO://mi primer ventana#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>
void inicializa(void){glClearColor(0.0,1.0,1.0,0.0); //color de fondoglMatrixMode(GL_PROJECTION); //Modo de proyeccion glLoadIdentity(); //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 , 0.0);///pata derechaglBegin(GL_TRIANGLES);glVertex2i(160,40);glColor3f(1.0 , 0.8 , 1.0);glVertex2i(245,40);glColor3f(1.0 , 1.0 , 0.0);glVertex2i(200,80); glEnd(); //pata de arriba derecha
glColor3f(1.0 , 1.0 , 0.9);glBegin(GL_TRIANGLES);glVertex2i(245,40);
glColor3f(1.0 , 1.0 , 1.0);glVertex2i(245,360);glColor3f(1.0 , 0.9 , 0.0);glVertex2i(180,280); glEnd(); //pierna izquierda glColor3f(1.0 , 0.6 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(320,360);glColor3f(1.8,0.6,1.0);glVertex2i(320,280);glColor3f(0.2 ,1.0,0.7);glVertex2i(420,280); glEnd(); //pata izquierda glColor3f(1.0 , 1.0 , 0.6);glBegin(GL_TRIANGLES);glVertex2i(420,280);glColor3f(1.0 , 0.0 , 0.0);glVertex2i(380,240);glColor3f(0.5 , 1.0 , 0.0);glVertex2i(420,180); glEnd(); //pata sobre el balon glColor3f(0.0 , 0.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(420,180);glColor3f(0.0 , 0.0 , 1.0);glVertex2i(520,180);glColor3f(0.0 ,0.0 , 1.0);glVertex2i(440,220); glEnd(); //mano dercha(dedos)
![Page 44: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/44.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glColor3f(1.0 , 0.9 , 1.0);glBegin(GL_TRIANGLES);glVertex2i(60,360);glColor3f(1.0 , 0.0 , 1.0);glVertex2i(80,440);glColor3f(1.0 , 1.0 , 0.0);glVertex2i(100,400); glEnd(); glColor3f(0.9 , 9.0 , 0.1);glBegin(GL_TRIANGLES);glVertex2i(100,400);glColor3f(0.7 , 0.8 , 1.0);glVertex2i(200,520);glColor3f(1.0 , 1.0 , 0.5);glVertex2i(140,340); glEnd(); glColor3f(1.0 , 0.8 , 0.7);glBegin(GL_TRIANGLES);glVertex2i(260,520);glColor3f(1.0 , 0.2 , 1.0);glVertex2i(298,480);glColor3f(1.0 , 1.0 , 0.6);glVertex2i(320,520); glEnd(); glColor3f(1.0 , 0.7 , 0.4);glBegin(GL_TRIANGLES);glVertex2i(380,520);glColor3f(1.0 , 0.4 , 1.0);glVertex2i(440,360);glColor3f(1.0 , 1.0 , 0.1);glVertex2i(480,400); glEnd(); glColor3f(1.0 , 0.6 , 0.4);
glBegin(GL_TRIANGLES);glVertex2i(480,400);glColor3f(1.0 , 0.4 , 1.0);glVertex2i(500,460);glColor3f(1.0 , 1.0 , 0.8);glVertex2i(520,360); glEnd(); glColor3f(1.0 , 0.5 , 0.7);glBegin(GL_TRIANGLES);glVertex2i(298,520);glColor3f(1.0 , 0.4 , 1.0);glVertex2i(360,600);glColor3f(1.0 , 1.0 , 0.7);glVertex2i(220,600); glEnd(); glColor3f(1.0 , 0.2 , 0.8);glBegin(GL_TRIANGLES);glVertex2i(160,600);glColor3f(1.0 , 0.7 , 1.0);glVertex2i(298,720);glColor3f(1.0 , 1.0 , 0.1);glVertex2i(420,600); glEnd(); glColor3f(1.0 , 0.7 , 0.7);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 0.6 , 1.6);glVertex2i(498,280);glColor3f(1.0 , 1.0 , 0.7);glVertex2i(560,280); glEnd(); glColor3f(1.0 , 0.7 , 0.5);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 0.4 , 1.2);glVertex2i(580,540);
![Page 45: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/45.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA
glColor3f(1.0 , 1.0 , 0.7);glVertex2i(520,540); glEnd(); glColor3f(1.0 , 0.7 , 0.4);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 0.8 , 1.0);glVertex2i(640,540);glColor3f(1.0 , 1.0 , 0.4);glVertex2i(620,540); glEnd(); glColor3f(1.0 , 1.0 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(540,320);glColor3f(1.0 , 1.0 , 1.0);glVertex2i(498,540);glColor3f(1.0 , 0.0 , 0.0);glVertex2i(478,540); glEnd();//camiza glBegin(GL_QUADS);glColor3f(0.6 , 0.5 , 0.4);glVertex2i(200,520);glVertex2i(200,340);glVertex2i(380,340);glVertex2i(380,520);glEnd();
glColor3f(1.0 , 0.5 , 0.0);glBegin(GL_TRIANGLES);glVertex2i(260,520);glColor3f(1.0 , 1.0 , 1.0);glVertex2i(298,480);glColor3f(1.0 , 1.0 , 0.9);glVertex2i(320,520); glEnd(); //balon glBegin(GL_POLYGON);glVertex2i(520,100);glVertex2i(520,140);glVertex2i(480,180);
glVertex2i(440,180);glVertex2i(400,140);glVertex2i(400,100);glVertex2i(440,60);glVertex2i(480,60);glEnd();
glBegin(GL_POLYGON);glVertex2i(0,0);glVertex2i(0,40);glVertex2i(1440,40);glVertex2i(1440,0);
glEnd();
glFlush(); //forza dibujo}
int main (int argc, char** argv) //metodo main{glutInit(&argc, argv); //incializa GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de visualizaciónglutInitWindowSize(500,500); //tamaño de la ventanaglutInitWindowPosition(0,0); //posicion inicial de la ventanaglutCreateWindow("MI primer ventana"); //nombre de la ventanainicializa();glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualizaciónglutMainLoop(); //muestra todo y esperareturn 0; //retorna un valor de cero}
![Page 46: Proyecto de rene](https://reader036.fdocumento.com/reader036/viewer/2022062514/559129811a28ab0c198b472f/html5/thumbnails/46.jpg)
GRUPO: 303 T/M ESPECIALIDAD: INFORMATICA