viernes, 27 de septiembre de 2013

Programa de Transformaciones Y actividades de la unidad

La fecha limite de revisión  es el viernes 27 de Septiembre y las actividades deben siempre cada semana estar al corriente el viernes, es necesario  entregar todas las actividades, se descuenta puntuación sí se publican después del día indicado, el programa vale 30  puntos  esta dentro del concepto de proyectos.


Lunes  30 revisión en clase  funcionando las tres transformaciones

rotación
traslación
escalación

miércoles, 25 de septiembre de 2013

actividad Miércoles 25 de Septiembre

buscar 2 programas  usando opengl donde  demuestre la diferencia de  rotación en un punto fijo y rotación con respecto al origen
publique en su blog a manera de exposición señalando en el código donde se aplican las rotaciones

Investigue :
  • en secuencia se aplican las transformaciones
  • concepto de pila y  para que nos sirven 
  •  el manejo de pilas al dibujar una escena en opengl

martes, 24 de septiembre de 2013

Puerto visión

Definicion.

El puerto de vision es el area de la ventana gráfica en la que se colocan las fotografias de la camara virtual. Normalmente el puerto de visión coincide con toda el área de la ventana gráfica, pero es posible tener varios puertos de visión en una sola ventana.
 

 

Setting Up the Camera

To apply camera transformations to your scene you can use the following function:
void gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez,
GLdouble atx,GLdouble aty,GLdouble atz,
GLdouble upx,GLdouble upy,GLdouble upz)
Here is a picture depicting the parameters of that function:
 
 
 
 

 
 
 
 
 
Instrucciones para la definicion de la camara virtual y sus parametros.

void reshape(int width, int height) {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(left,right, bottom, top, near, far);

  OR

gluPerspective(view_angle, aspect_ratio, near, far);
glMatrixMode(GL_MODELVIEW);
 
glLoadIdentity();
gluLookAt(eye.x,eye.y,eye.z, at.x,at.y, at.z,up.x, up.y,up.z);
 
}

Ejemplo.


/*Dibujar un cubo en perspectiva*/
#include"stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <GL/GLAUX.H>
#include <GL/GLU.H>
#include <GL/GL.H>
#include <GL/glut.h>


void init(void) {
glClearColor(1.0, 1.0, 1.0, 0.0);
glPointSize(15.0);
}
/*El cubo se despliega en hilos de alambre con
la innstruccion de glut: glutWireCube. La posicion
de la camara vitual es x = 0, y = 8, z = -15, su
orientacion (el punto al que la camara mira) esta dado
por un vector que pasa por (0, 0, 0)y por (0, 8, -15).
Tanto la posicion como la orientacion de la camara se
especifican en la instruccion gluLookAt*/
void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0, 8, -15, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glRotated(30, 1, 0, 0);
glColor3f(1.0f, 0.0f, 0.0f);
glutSolidCube(12);
glColor3f(0.0f, 0.0f, 0.0f);
glutWireCube(12);

glFlush();
}

/*La instruccion gluPerspective, asigna a la camara
virtual una lente con un angulo de vision (apertura)
de 90 grados, una aspectacion (relacion del ancho sobre
el alto de la ventana) de 640/480 y un volumen de vision
que se extiende por 11 unidades (de -1.0 a 10.0)*/

void reshape(int x, int h) {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90, 640/480, -1, 10);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(640, 480);
glutCreateWindow("Cubo en perspectiva");
glutDisplayFunc(display);
glutReshapeFunc(reshape);
init();
glutMainLoop();
}

Vista previa.


 

Aplicando las transformaciones geométricas

Usando su modelo de piramide
 con los siguientes puntos  dibuje el polígono correspondiente y  aplique  las siguientes transformaciones
p0=(2,2) ,  p1(7,2), p2(7,7), p3(2,7) Escriba todos los cálculos realizados  
 a)Vector Traslación (-2,-2)     b) Escalación (.5,.5)  Rotacion  
 c)  45grados  eje z
 tomando el p0 como base

 http://graficacion-2013.blogspot.mx/search?updated-max=2013-09-09T16:45:00-07:00&max-results=7


Utilice cuadrilla  para cada  imagen


Usando su modelo de piramide 3d aplique las transformaciones

a)Vector Traslación (-2,-2,0) b) Escalación (.5,.5,.5) Rotacion
c) 45grados eje z

lunes, 23 de septiembre de 2013

Actrividad Lunes 23 de Septiembre

del siguiente enlace realize un resumen en su cuaderno y suba la imagen a su blog


http://graficacionitca3d.blogspot.mx/2012/03/24-transformacion-ventana-area-de-vista.html

investigar los siguientes conceptos:

  • aspect ratio
  • viewports
en arquitectura de pipeline grafico investigue:
  • Pipeline Grafico
  • pipeline de OpenGL
  • Transformacion
  • Clipping
  • Proyeccion
  • Rasterizacion



viernes, 20 de septiembre de 2013

programa piramide



puede ser automatico o con el uso del teclado


para uso del teclado deben incluir   en el main la funcion
glutKeyboardFunc(key);

void key(unsigned char k, int x, int y)
{
if(k == '1') // lo que tiene que hacer
if(k == '2') // loque tiene que hacer
if(k == 'q') exit(0);
}
 
consulte referencia de opengl para las teclas de fechas  o las que elija
 publicado el lunes 23 de  Septiembre


funciones de transformaciones en opengl

GlRotatef( angulo,x,y,z)  donde  x,y,z   = 1 segun el eje donde se aplique el angulo
GlScalef(sx,sx,sz)  factor de escala en cada eje
GLTranslatef(tx,ty,tz)  don tx,ty,tz  es el desplazamiento en cada eje
    

martes, 17 de septiembre de 2013

actividad Transformaciones geometricas

actividad:
  • investigar   como se  manipulan las transformaciones geometricas en opengl
  • Con la imagen de su piramide y las transformaciones geometricas diseñe un programa que rote su piramide sobre el eje "x" y el  eje "y"
  • se mueva  de izquierda a derecha y de derecha a izq
  • se reduzca  o amplie  la priramide

lunes, 9 de septiembre de 2013

guia de colore base en opengl



Composite Red Green Blue
Color Component Component Component
Black 0.0 0.0 0.0
Red 1.0 0.0 0.0
Green 0.0 1.0 0.0
Yellow 1.0 1.0 0.0
Blue 0.0 0.0 1.0
Magenta 1.0 0.0 1.0
Cyan 0.0 1.0 1.0
Dark gray 0.25 0.25 0.25
Light gray 0.75 0.75 0.75
Brown 0.60 0.40 0.12
Pumpkin orange 0.98 0.625 0.12
Pastel pink 0.98 0.04 0.7
Barney purple 0.60 0.40 0.70
White 1.0 1.0 1.0

Opengl
referencia opengl
http://www.tecnun.es/asignaturas/grafcomp/OpenGL/tutorial-opengl.pdf

http://www.dccia.ua.es/dccia/inf/asignaturas/GC/Teoria/OpenGL.Introduccion.pdf

http://glprogramming.com/red/
Para crear imagenes  en opengl usando primitivas debe usarse la sintaxis  siguiente
glBegin(<tipo de primitiva>); glVertex(...); glVertex(...); ... glVertex(...);glEnd();

donde dentro de los parentesis debe estar   como parametro el modo de dibujo seguidos d ela lista de parametros.

glBegin(GL_ POLYGON);glVertex(...); glVertex(...);...glVertex(...);glEnd();


jueves, 5 de septiembre de 2013

Actividad: piramide

Con los valores de su piramide en 3d  diseñe un programa par dibujarlo usando opengl
por cada cara de su piramide  genere un Glbegin y Glend   dibuje primero con lineas y luego cambie a solidos cambiando el color para cada cara Glcolor3f(r,g,b)


publique la captura de su pantalla

Unidad IITransformaciones geometricas





 
 
 





 






miércoles, 4 de septiembre de 2013

Unidad II Transformaciones geométricas.

Investigar :
Transformaciones geometricas en 2 dimesiones
Traslación, Rotación y Escalación
definiciones y ejemplos de como se aplican

publique en su blog Miercoles  4 de Sep.