SlideShare une entreprise Scribd logo
1  sur  21
CECyTEM PLANTEL TECÁMAC



                  Manual de prácticas en OPEN GL “Dev C++”




Alumna: López Bautista Mariela




Profesor: René Domínguez Escalona




Grupo: 303




Nº De lista: 19
Introducción.

En este manual se podrá apreciar algunas de las principales funciones del
lenguaje de programación de OPEN GL y así se podrá aplicar para diseño gráfico,
se mostraran funciones principales o primitivas del programa para la realización de
objetos en el programa se verá desde lo más básico hasta lo más avanzado como
puede ser desde la elaboración de un cuadro hasta la animación de un objeto en
2D & 3D.



Índice.



1°- Tablero de Ajedrez

2°-Estrella

3°- Cubo con líneas

4°-Cubo delineado

5°-Muñeco con triángulos

6°-Piramide

7°-Casita

8°- Oso

9°-Cubo con Cubitos

10°-Muñeco con formas

11°-Animación circulo

12°- Nombre 3D

13°-Animación sistema solar

14°-Movimiento en ocho
15°-Semaforo

16°- Cubo 3D con líneas.




1° TABLERO DE AJEDREZ



En esta práctica aremos un tablero de ajedrez con cuadros unos negro y uno
blanco de 8*8. La realizaremos con la primitiva GL_POINTS, comenzaremos por
definir el color de cada cuadro con glColor3f(0.0 , 0.0 , 0.0) que sería negro, luego
el tamaño del punto glPointSize(50) y en seguida anotaremos la primitiva ya
mencionada glBegin(GL_POINTS).

Luego de esto se pondrán las coordenadas glVertex2i(100,800); por ejemplo
deberán de ser 4 coordenadas para insertar un cuadro

glVertex2i(100,500);

glVertex2i(100,600);

glVertex2i(100,700);

glVertex2i(100,800);

y así lo haremos consecutivamente hasta lograr hacer el tablero indicado.
2° ESTRELLA



En esta práctica haremos una estrella a base de líneas con la primitiva
glBegin(GL_LINES), definiremos en tamaño de la línea y el color con:

glPointSize(10);

glColor3f(0.0 , 0.0 , 0.0);

y comenzaremos a anotar cada una de las coordenadas para así llegar a la forma
de la estrella.
3° CUBO CON LÍNEAS



En esta práctica utilizaremos 2 primitivas glBegin(GL_QUADS) para hacer
cuadros y glBegin(GL_LINES); para hacer las líneas igual que practicas
anteriores definiremos el color de la línea o cuadro con glColor3f(1.0 , 0.0 , 0.0);.

Primero haremos la parte trasera del cubo para que se noten las líneas de
enfrente y no estén cubiertas por las demás líneas o cuadros.

Y de igual forma definiremos cada coordenada hasta lograr el cubo con líneas.
4°CUBO DELINEADO

Esta práctica la haremos como la práctica de CUBO CON LÍNEAS lo único que
modificaremos será el grosor de la línea con la instrucción glLineWidth(3) el
tamaño de la línea será colocado dentro del paréntesis y le modificaremos el color
de cada lado para ver así la separación de cada lado.
5°MUÑECO CON TRIÁNGULOS



En esta práctica haremos un muñeco utilizando una nueva                 primitiva
glBegin(GL_TRIANGLES) y también primitivas ya utilizadas antes.

Para esta instrucción se necesitan 3 coordenadas ya no 2 como en las
instrucciones glBegin(GL_QUADS) o glBegin(GL_LINES)

De igual forma trataremos de encontrar cada una de las coordenadas para lograr
el dibujo a base de triángulos y si es necesario ocuparemos otras primitivas.

Como en el caso del balón        también se utiliza una nueva primitiva
glBegin(GL_POLYGON) a base de 8 coordenadas.

También utilizamos colores degradados. Estos se logran colocando la instrucción
de color entre las coordenadas y no solo poniéndole hasta arriba de cada grupo de
coordenadas por ejemplo:

glColor3f(1.0 , 1.0 , 0.0);

glVertex2i(320,100);

glVertex2i(340,100);

glColor3f(1.0 , 1.0 , 1.0);

glVertex2i(360,80);

glVertex2i(360,60);

glVertex2i(340,40);

glVertex2i(320,40);

glColor3f(1.0 , 1.0 , 0.0);

glVertex2i(300,60);
glVertex2i(300,80);




6° PIRAMIDE



Esta práctica la haremos con una nueva instrucción llamada FOR: for (i=0;i<=10;i+
+){ dentro de ella podemos cambiar los valores, esta instrucción funciona para
repetir alguna primitiva, ya sea cuadros, líneas etc….

En esta ocasión la utilizaremos para repetir un cuadro pero que vaya aumentando
su tamaño a cierta distancia

La instrucción va antes de que empecemos a colocar las coordenadas, y
pondremos la variable dentro de las coordenadas, en este caso la variable es i y
colocando esta variable hará la instrucción for.

Por ejemplo:

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

El 240 en el valor de x, el -20 es la separación entre el cuadro y se multiplicara por
i que es la variable con la cual se efectuara el mismo cuadro.

Luego de Esto haremos las líneas diagonales para simular la pirámide vista desde
arriba.
7° CASITA.



Esta práctica es como un repaso de todas las primitivas e instrucciones vistas
anteriormente. Para lograr dicho dibujo empezaremos por hacer los objetos de
atrás para delante para que se puedan notar todas las figuras.

Por ejemplo primero haremos la cerca con la instrucción for y se haga repetitiva la
figura y esta figura será hecha con la primitiva POLYGON.

De igual forma ocuparemos for para los pinos, pero primero tenemos que hacer el
pasto como ya antes mencionamos haremos primero lo que se encuentra atrás.

Rejas, pasto, banqueta, calle, piedras y así sucesivamente, hasta llegar a los
detalles de la casa que serían las ultimas figuras que haremos.
8°- Oso

Para esta practica utilizamos una nueva instrucción que es la de el circulo

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

y el oso lo formamos con un for for (angulo=0;angulo<=360; angulo+=1)
{ glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);}

       glEnd();
9°-Cubo con Cubitos

Esta práctica yo la exente dando una coordenada de una líneas y solo le pedí a
uno de mis compañeros que me prestaran su impresión de pantalla
10º MUÑECO CON FORMAS

En esta practica aremos un muñeco con todas las funciones y primitivas que
utilizamos anteriormente

Podemos utilizar un triangulo para su cabello, nariz Un circulo para su cabeza,
cuadrados para sus ojos, botones, Líneas para su bica sus zapatos podría ser
igual para el cinturón etc.
11°-Animación circulo

Esta es la primera animación que relizamos y en esta utilizaremos doble buffer

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

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

     circulo(100+1*x,100,40);

     glFlush();

     x++;

     }

Para que se repita constantemente la función deveras colocar lo siguiente

//Reptir

if(h==500){

         x=1;

         y=1;

         a=1;

         h=1;

         }
12°- Nombre 3D

Aquí realizaremos nuestro nombre en 3D para que podamos interactuar con el

Para eso necesitamos esta instrucción

void mover(void){

   glTranslated(0,0,zoom);

   glRotated(girax,1.0,0.0,0.0);

   glRotated(giray,0.0,1.0,0.0);

   }

Y una nueva instrucción que se llama creaMalla(void)

void creaMalla(void){

   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();
}
13°-Animación sistema solar

En esta practica lo que tenemos que realizar es una animación parecida a la de
animación de circulo pero con diferentes pelotas en diferente velocidad

Para esto es necesario utilizar diferentes variables en cada una de las pelotas y
para que el movimiento sea distinto se pondrá de la siguiente forma

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;
14°-Movimiento en ocho

Esta practica es muy sencilla ya sabemos utilizar la instrucción de circulo y la
animación solo hay que ponerle dirección a la pelota para que se ejecute y le de
vueltas al 8

else{

circulo(300 + sin (b) *60,180-cos(b)*-60,10);

b=b + 0.14;

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

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

}
15°-Semaforo

En esta practica realizaremos la animación de un semáforo en secuencia como se
prende el botón verde luego el rojo y el amarillo

glColor3f(0.0,1.0,0.0);

if(z>=1 && z<600 && y==600 && x==800 && w==800){

circulo(850,350,50);

glFlush();

z++;

{z=1;x=1;y=1;w=1;}

}

glutSwapBuffers();



}
16°- Cubo 3D con líneas.

Esta es una de las practicas mas interesantes y un poco compleja a mi parecer
utilizaremos una funcion que ya teníamos creaMalla(void)

void mover(void){

   glTranslated(0,0,zoom);

   glRotated(girax,1.0,0.0,0.0);

   glRotated(giray,0.0,1.0,0.0);

   }

void creaMalla(void){

   int i, long_eje=10;

   glColor3f(1.0,1.0,0.0);

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

   }
manual de practicas de opengl

Contenu connexe

Tendances

Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
cintiap25
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
univ of pamplona
 

Tendances (20)

Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Problemas de diseño de base de datos
Problemas de diseño de base de datosProblemas de diseño de base de datos
Problemas de diseño de base de datos
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteTransformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Ejercicios Entidad - Relacion
Ejercicios Entidad - RelacionEjercicios Entidad - Relacion
Ejercicios Entidad - Relacion
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
ejercicios resueltos análisis de algoritmos
ejercicios resueltos   análisis de algoritmosejercicios resueltos   análisis de algoritmos
ejercicios resueltos análisis de algoritmos
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOS
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datos
 
Diseño de sistemas introduccion
Diseño de sistemas   introduccionDiseño de sistemas   introduccion
Diseño de sistemas introduccion
 
base
basebase
base
 

En vedette

Trabajo opengl
Trabajo openglTrabajo opengl
Trabajo opengl
makapxndx
 
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
 
Contenido de practicas
Contenido de practicasContenido de practicas
Contenido de practicas
makapxndx
 
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
santios11
 
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
santios11
 
Manual de practicas de dev c++
Manual de practicas de dev c++Manual de practicas de dev c++
Manual de practicas de dev c++
Alincita Simon
 
Presentacion Visualizacion
Presentacion VisualizacionPresentacion Visualizacion
Presentacion Visualizacion
joanem28
 

En vedette (15)

Trabajo opengl
Trabajo openglTrabajo opengl
Trabajo opengl
 
Manual de actividades
Manual de actividadesManual de actividades
Manual de actividades
 
Manual de practicas de Open GL
Manual de practicas de Open GLManual de practicas de Open GL
Manual de practicas de Open GL
 
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
 
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
 
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 segundo parcial
Manual de practicas segundo parcialManual de practicas segundo parcial
Manual de practicas segundo parcial
 
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
 
Computação gráfica
Computação gráficaComputação gráfica
Computação gráfica
 
Presentacion Visualizacion
Presentacion VisualizacionPresentacion Visualizacion
Presentacion Visualizacion
 
Renee opengl karla
Renee opengl karlaRenee opengl karla
Renee opengl karla
 

Similaire à manual de practicas de opengl

Manual de prácticas rivera y ruiz
Manual de prácticas rivera y ruizManual de prácticas rivera y ruiz
Manual de prácticas rivera y ruiz
Pachoon Vargas
 
Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce
Pachoon Vargas
 
Ejemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvasEjemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvas
Mercedes Reyes Carrion
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
Karen_Avilaa
 
Practica2[Pds][Reporte]
Practica2[Pds][Reporte]Practica2[Pds][Reporte]
Practica2[Pds][Reporte]
Edgar Martinez
 
Seno_Coseno10210
Seno_Coseno10210Seno_Coseno10210
Seno_Coseno10210
Xioma980323
 
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 photoshop leidy vivani olvera leon
Manual de photoshop leidy vivani olvera leonManual de photoshop leidy vivani olvera leon
Manual de photoshop leidy vivani olvera leon
makapxndx
 

Similaire à manual de practicas de opengl (20)

Manual de prácticas rivera y ruiz
Manual de prácticas rivera y ruizManual de prácticas rivera y ruiz
Manual de prácticas rivera y ruiz
 
Manual de open gl.
Manual de open gl.Manual de open gl.
Manual de open gl.
 
Manual
ManualManual
Manual
 
Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce Manual de prácticas belmonte & ponce
Manual de prácticas belmonte & ponce
 
Ejemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvasEjemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvas
 
Programación Open GL ES en iPhone e iPod touch
Programación Open GL ES en iPhone e iPod touchProgramación Open GL ES en iPhone e iPod touch
Programación Open GL ES en iPhone e iPod touch
 
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
 
Estela y naye
Estela y nayeEstela y naye
Estela y naye
 
Practica2[Pds][Reporte]
Practica2[Pds][Reporte]Practica2[Pds][Reporte]
Practica2[Pds][Reporte]
 
Practicas OpenglC++
Practicas OpenglC++Practicas OpenglC++
Practicas OpenglC++
 
Método del trapecio en scilab, código integración numérica
Método del trapecio en scilab, código integración numéricaMétodo del trapecio en scilab, código integración numérica
Método del trapecio en scilab, código integración numérica
 
Opengl
OpenglOpengl
Opengl
 
Seno_Coseno10210
Seno_Coseno10210Seno_Coseno10210
Seno_Coseno10210
 
Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez Practicas para slider Rene Dominguez
Practicas para slider Rene Dominguez
 
Mini introopengl
Mini introopenglMini introopengl
Mini introopengl
 
Estabilidad de sistemas lineales informe 6
Estabilidad de sistemas lineales   informe 6Estabilidad de sistemas lineales   informe 6
Estabilidad de sistemas lineales informe 6
 
Programación con Pygame IX
Programación con Pygame IXProgramación con Pygame IX
Programación con Pygame IX
 
Laboratorio 2 (maqueta) -Transformacion de coordenadas 3D- Cordova Darwin
Laboratorio 2 (maqueta) -Transformacion de coordenadas 3D- Cordova DarwinLaboratorio 2 (maqueta) -Transformacion de coordenadas 3D- Cordova Darwin
Laboratorio 2 (maqueta) -Transformacion de coordenadas 3D- Cordova Darwin
 
Manual de photoshop leidy vivani olvera leon
Manual de photoshop leidy vivani olvera leonManual de photoshop leidy vivani olvera leon
Manual de photoshop leidy vivani olvera leon
 

manual de practicas de opengl

  • 1. CECyTEM PLANTEL TECÁMAC Manual de prácticas en OPEN GL “Dev C++” Alumna: López Bautista Mariela Profesor: René Domínguez Escalona Grupo: 303 Nº De lista: 19
  • 2. Introducción. En este manual se podrá apreciar algunas de las principales funciones del lenguaje de programación de OPEN GL y así se podrá aplicar para diseño gráfico, se mostraran funciones principales o primitivas del programa para la realización de objetos en el programa se verá desde lo más básico hasta lo más avanzado como puede ser desde la elaboración de un cuadro hasta la animación de un objeto en 2D & 3D. Índice. 1°- Tablero de Ajedrez 2°-Estrella 3°- Cubo con líneas 4°-Cubo delineado 5°-Muñeco con triángulos 6°-Piramide 7°-Casita 8°- Oso 9°-Cubo con Cubitos 10°-Muñeco con formas 11°-Animación circulo 12°- Nombre 3D 13°-Animación sistema solar 14°-Movimiento en ocho
  • 3. 15°-Semaforo 16°- Cubo 3D con líneas. 1° TABLERO DE AJEDREZ En esta práctica aremos un tablero de ajedrez con cuadros unos negro y uno blanco de 8*8. La realizaremos con la primitiva GL_POINTS, comenzaremos por definir el color de cada cuadro con glColor3f(0.0 , 0.0 , 0.0) que sería negro, luego el tamaño del punto glPointSize(50) y en seguida anotaremos la primitiva ya mencionada glBegin(GL_POINTS). Luego de esto se pondrán las coordenadas glVertex2i(100,800); por ejemplo deberán de ser 4 coordenadas para insertar un cuadro glVertex2i(100,500); glVertex2i(100,600); glVertex2i(100,700); glVertex2i(100,800); y así lo haremos consecutivamente hasta lograr hacer el tablero indicado.
  • 4. 2° ESTRELLA En esta práctica haremos una estrella a base de líneas con la primitiva glBegin(GL_LINES), definiremos en tamaño de la línea y el color con: glPointSize(10); glColor3f(0.0 , 0.0 , 0.0); y comenzaremos a anotar cada una de las coordenadas para así llegar a la forma de la estrella.
  • 5. 3° CUBO CON LÍNEAS En esta práctica utilizaremos 2 primitivas glBegin(GL_QUADS) para hacer cuadros y glBegin(GL_LINES); para hacer las líneas igual que practicas anteriores definiremos el color de la línea o cuadro con glColor3f(1.0 , 0.0 , 0.0);. Primero haremos la parte trasera del cubo para que se noten las líneas de enfrente y no estén cubiertas por las demás líneas o cuadros. Y de igual forma definiremos cada coordenada hasta lograr el cubo con líneas.
  • 6. 4°CUBO DELINEADO Esta práctica la haremos como la práctica de CUBO CON LÍNEAS lo único que modificaremos será el grosor de la línea con la instrucción glLineWidth(3) el tamaño de la línea será colocado dentro del paréntesis y le modificaremos el color de cada lado para ver así la separación de cada lado.
  • 7. 5°MUÑECO CON TRIÁNGULOS En esta práctica haremos un muñeco utilizando una nueva primitiva glBegin(GL_TRIANGLES) y también primitivas ya utilizadas antes. Para esta instrucción se necesitan 3 coordenadas ya no 2 como en las instrucciones glBegin(GL_QUADS) o glBegin(GL_LINES) De igual forma trataremos de encontrar cada una de las coordenadas para lograr el dibujo a base de triángulos y si es necesario ocuparemos otras primitivas. Como en el caso del balón también se utiliza una nueva primitiva glBegin(GL_POLYGON) a base de 8 coordenadas. También utilizamos colores degradados. Estos se logran colocando la instrucción de color entre las coordenadas y no solo poniéndole hasta arriba de cada grupo de coordenadas por ejemplo: glColor3f(1.0 , 1.0 , 0.0); glVertex2i(320,100); glVertex2i(340,100); glColor3f(1.0 , 1.0 , 1.0); glVertex2i(360,80); glVertex2i(360,60); glVertex2i(340,40); glVertex2i(320,40); glColor3f(1.0 , 1.0 , 0.0); glVertex2i(300,60);
  • 8. glVertex2i(300,80); 6° PIRAMIDE Esta práctica la haremos con una nueva instrucción llamada FOR: for (i=0;i<=10;i+ +){ dentro de ella podemos cambiar los valores, esta instrucción funciona para repetir alguna primitiva, ya sea cuadros, líneas etc…. En esta ocasión la utilizaremos para repetir un cuadro pero que vaya aumentando su tamaño a cierta distancia La instrucción va antes de que empecemos a colocar las coordenadas, y pondremos la variable dentro de las coordenadas, en este caso la variable es i y colocando esta variable hará la instrucción for. Por ejemplo: glVertex2i(240-20*i,240-20*i);
  • 9. glVertex2i(260+20*i,240-20*i); El 240 en el valor de x, el -20 es la separación entre el cuadro y se multiplicara por i que es la variable con la cual se efectuara el mismo cuadro. Luego de Esto haremos las líneas diagonales para simular la pirámide vista desde arriba.
  • 10. 7° CASITA. Esta práctica es como un repaso de todas las primitivas e instrucciones vistas anteriormente. Para lograr dicho dibujo empezaremos por hacer los objetos de atrás para delante para que se puedan notar todas las figuras. Por ejemplo primero haremos la cerca con la instrucción for y se haga repetitiva la figura y esta figura será hecha con la primitiva POLYGON. De igual forma ocuparemos for para los pinos, pero primero tenemos que hacer el pasto como ya antes mencionamos haremos primero lo que se encuentra atrás. Rejas, pasto, banqueta, calle, piedras y así sucesivamente, hasta llegar a los detalles de la casa que serían las ultimas figuras que haremos.
  • 11. 8°- Oso Para esta practica utilizamos una nueva instrucción que es la de el circulo void circulo(int x, int y, int radio) y el oso lo formamos con un for for (angulo=0;angulo<=360; angulo+=1) { glVertex2f(x + sin(angulo) * radio, y + cos(angulo) * radio);} glEnd();
  • 12. 9°-Cubo con Cubitos Esta práctica yo la exente dando una coordenada de una líneas y solo le pedí a uno de mis compañeros que me prestaran su impresión de pantalla
  • 13. 10º MUÑECO CON FORMAS En esta practica aremos un muñeco con todas las funciones y primitivas que utilizamos anteriormente Podemos utilizar un triangulo para su cabello, nariz Un circulo para su cabeza, cuadrados para sus ojos, botones, Líneas para su bica sus zapatos podría ser igual para el cinturón etc.
  • 14. 11°-Animación circulo Esta es la primera animación que relizamos y en esta utilizaremos doble buffer glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); if(x>=1 && x<500){ circulo(100+1*x,100,40); glFlush(); x++; } Para que se repita constantemente la función deveras colocar lo siguiente //Reptir if(h==500){ x=1; y=1; a=1; h=1; }
  • 15. 12°- Nombre 3D Aquí realizaremos nuestro nombre en 3D para que podamos interactuar con el Para eso necesitamos esta instrucción void mover(void){ glTranslated(0,0,zoom); glRotated(girax,1.0,0.0,0.0); glRotated(giray,0.0,1.0,0.0); } Y una nueva instrucción que se llama creaMalla(void) void creaMalla(void){ 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();
  • 16. }
  • 17. 13°-Animación sistema solar En esta practica lo que tenemos que realizar es una animación parecida a la de animación de circulo pero con diferentes pelotas en diferente velocidad Para esto es necesario utilizar diferentes variables en cada una de las pelotas y para que el movimiento sea distinto se pondrá de la siguiente forma 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;
  • 18. 14°-Movimiento en ocho Esta practica es muy sencilla ya sabemos utilizar la instrucción de circulo y la animación solo hay que ponerle dirección a la pelota para que se ejecute y le de vueltas al 8 else{ circulo(300 + sin (b) *60,180-cos(b)*-60,10); b=b + 0.14; if(b>12.4){a=6.15;b=6.15;} for(int j=0; j<=10000000; j++) {} }
  • 19. 15°-Semaforo En esta practica realizaremos la animación de un semáforo en secuencia como se prende el botón verde luego el rojo y el amarillo glColor3f(0.0,1.0,0.0); if(z>=1 && z<600 && y==600 && x==800 && w==800){ circulo(850,350,50); glFlush(); z++; {z=1;x=1;y=1;w=1;} } glutSwapBuffers(); }
  • 20. 16°- Cubo 3D con líneas. Esta es una de las practicas mas interesantes y un poco compleja a mi parecer utilizaremos una funcion que ya teníamos creaMalla(void) void mover(void){ glTranslated(0,0,zoom); glRotated(girax,1.0,0.0,0.0); glRotated(giray,0.0,1.0,0.0); } void creaMalla(void){ int i, long_eje=10; glColor3f(1.0,1.0,0.0); 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(); }