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
viernes, 27 de septiembre de 2013
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 :
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.
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>
/*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.
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);
}
/*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);
}
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();
}
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)*/
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90, 640/480, -1, 10);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
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
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
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:
http://graficacionitca3d.blogspot.mx/2012/03/24-transformacion-ventana-area-de-vista.html
investigar los siguientes conceptos:
- aspect ratio
- viewports
- 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
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
miércoles, 18 de septiembre de 2013
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
miércoles, 11 de septiembre de 2013
martes, 10 de septiembre de 2013
actividad de transformaciones geometricas martes 10 de septiembre
https://docs.google.com/file/d/0B5YKLqw7BEU1VklOandhWFpKWFk/edit?usp=sharing
leer capitulo dos y resumir sobre transformaciones geometricas
leer capitulo dos y resumir sobre transformaciones geometricas
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.0Opengl
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>);
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
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
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.
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.
Suscribirse a:
Entradas (Atom)