Diferencia entre revisiones de «ManuelRomero/grafica/presentacion»

De WikiEducator
Saltar a: navegación, buscar
 
(15 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
{{:Usuario:ManuelRomero/grafica/nav}}
+
{{:Usuario:ManuelRomero/grafica/escena1/nav}}
 
<br>
 
<br>
 +
 +
{{#widget:Slides}}
 +
 +
<div class="slides layout-regular template-default">
 +
 +
<div class="slide">
 +
===TRANSFORMACIÓN EN EL PIPELINE GRÁFICO===
 +
*Basado en un sistema de visualizacion
 +
Objeto 3d ====>>> represntación en pantalla bidimensional
 +
1.- '''''Coordenadas del objeto''''' (x,y,z,w)
 +
  Transformación ModelView
 +
2.-'''''Coordenadas del ojo'''''
 +
  Proyección
 +
</div>
 +
<div class="slide">
 +
===TRANSFORMACIÓN EN EL PIPELINE GRÁFICO===
 +
3.- '''''Cooredenadas de recorte'''''
 +
Perspectiva
 +
4.-'''''Coordenadas del dispositivo'''''
 +
  Viewport
 +
5.-'''''Coordenadas de la ventana (x,y)'''''
 +
</div>
 +
<div class="slide">
 +
===Trabajo a realizar===
 +
{{Objetivo|
 +
#Realizaremos una escena de una '''''tetera'''''
 +
#en el proceso de visualización  iremos viendo todo el proceso de transforación que se va produciendo con OpenGL.
 +
#Realizaremos un seguimiento de '''''la pipeline gráfica'''''}}
 +
</div>
 +
<div class="slide">
 +
{{Recursos de la Web|
 +
*http://www.oocities.org/valcoey/escena.html
 +
}}
 +
</div>
 +
<!--
 +
 +
 +
 +
 +
 +
 
===Esqueleto de un programa openGL===
 
===Esqueleto de un programa openGL===
 
<source lang=cpp>  
 
<source lang=cpp>  
Línea 75: Línea 116:
 
}
 
}
 
</source>
 
</source>
 
+
-->
===TRANSFORMACIÓN EN EL PIPELINE GRÁFICO===
+
#Coordenadas del objeto (x,y,z,w)
+
  Transformación ModelView
+
#Coordenadas del ojo
+
  Proyección
+
#Cooredenadas de recorte
+
Perspectiva
+
#Coordenadas del dispositivo
+
  Viewport
+
#Coordenadas de la ventana (x,y)
+
===Coordenadas globales - cooredenadas locales===
+
*Dibujamos un eje de coordenadas x,y,z
+
<source lang=cpp>
+
void dibujaCoordenadas(void){
+
porFlechitas();
+
glLineWidth(2);
+
glBegin(GL_LINES);
+
  glLineWidth(3);
+
  glColor3f(1,0,0);//Eje X
+
  glVertex3f(0,0,0);
+
  glVertex3f(15,0,0);
+
   
+
  glColor3f(0,1,0);//Eje X
+
  glVertex3f(0,0,0);
+
  glVertex3f(0,15,0);
+
      glColor3f(0,0,1);//Eje z
+
  glVertex3f(0,0,0);
+
  glVertex3f(0,0,15);
+
  glLineWidth(1);
+
glEnd();
+
glPushMatrix();
+
glFlush();
+
}
+
</source>
+
*Así quedaría
+
[[Imagen:CoordenadasOpenGLBásico.png|200px]]
+
*Lo giramos para ver la coordenada z
+
[[Imagen:CoordenadasOpenGL.png|200px]]
+
*Este eje de coordenadas que hemos dibujado representaría el eje de coordenadas del objeto
+
*Ahora dibujamos un objeto en él, por ejemplo una tetera
+
*con la barra espaciadora podemos cambiar su representación, sólida o de alambres
+
*Representación sólida
+
[[Imagen:tetera1.png]]
+
*Represetnación en alambres
+
[[Imagen:tetera2.png]]
+
*Representación girada
+
[[Imagen:tetera3.png]]
+
*Ahora hemos dibujado la tetera respecto al eje de coordenadas del mundo
+
===Eje de coordenadas del objeto===
+
*Planteamos un nuevo eje de coordenadas
+
*Podemos ver que respecto al eje de coordenadas del mundo  (0,0,0), tiene los siguientes vectores
+
(10,10,10)- (15,15,10)
+
(10,10,10)- (5,15,10)
+
(10,10,10)- (10,10,15)
+
*Gráficamente lo podemos ver en la imagen (siempre respecto al eje de coordenadas de nuestro mundo (0,0,0) como centro
+
[[Image:coordenadasObjeto1.png]]
+
*Lo giramos para ver el componente z (Se observa en diferente posición pues lo he rotado respecto a X e Y de las coordenadas del mundo no de  ella misma
+
[[Image:coordenadasObjeto2.png]]
+
*Vemos los dos ejes de coordenadas
+
[[Image:coordenadasObjeto3.png]]
+
*Lo giramos para verlo un poco mejor
+
*Vemos el objeto en el eje de coordenadas del mundo global  y lo queremos pasar al eje de coordenadas del mundo local o del objeto
+
[[Image:coordenadasObjeto4.png]]
+
===Vamos a ver como pasar el objeto a las coordenadas locales
+
*Para ello vamos a multiplicar cada vétice del objeto por una matriz de escena
+
*Esta matriz permite realizar operaciones de rotación traslación y escalado
+
*En nuestro caso queremos coger la tetera y
+
#Trasladarla al punto 10,10,10.
+
##trasladar 10 unidades en X
+
##trasladar 10 unidades en Y
+
##trasladar 10 unidades en Z
+
#Rotar 15 grados
+
Son en total 4 operaciones
+
 
+
{{Recursos de la Web|
+
http://asanchez.cs.buap.mx/arreglos_vertices.pdf
+
}}
+

Última revisión de 06:58 13 jun 2013



TRANSFORMACIÓN EN EL PIPELINE GRÁFICO

  • Basado en un sistema de visualizacion
Objeto 3d ====>>> represntación en pantalla bidimensional

1.- Coordenadas del objeto (x,y,z,w)

  Transformación ModelView 

2.-Coordenadas del ojo

 Proyección

TRANSFORMACIÓN EN EL PIPELINE GRÁFICO

3.- Cooredenadas de recorte

Perspectiva

4.-Coordenadas del dispositivo

 Viewport

5.-Coordenadas de la ventana (x,y)

Trabajo a realizar

Icon objectives.jpg

Objetivo

  1. Realizaremos una escena de una tetera
  2. en el proceso de visualización iremos viendo todo el proceso de transforación que se va produciendo con OpenGL.
  3. Realizaremos un seguimiento de la pipeline gráfica