Transformaciones en OpenGL

Slides:



Advertisements
Presentaciones similares
Curvas y Superficies Referencia – capítulo 11 del Libro Rojo.
Advertisements

Sombras y Reflejos en Tiempo Real
Desarrollo de Juegos de Video en 3D Texturas: Dando Vida a los Objetos Fabián Coello C. Marzo 2006.
Sistemas de Graficación
Prototipo de compilador didáctico del lenguaje LC99
ARB VP v1.0 en GPULib: comunicación GPULib Driver 8 de Julio del 2004.
Sistemas de coordenadas de referencia
SISTEMAS DE COORDENADAS
Ayudantia Python Arreglos 2.
Introducción a los gráficos 3D
TRANSFORMACIONES LINEALES EN 3D
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
Sistemas de Control en Tiempo Discreto
MODOS DE DIRECCIONAMIENTO
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
VECTORES LIBRES EN EL ESPACIO
Transformaciones geométricas en 2D y 3D
2 Coordenadas y matrices elementales
Funcionamiento, programación
Estructuras de Datos Manipulación de la Especificación de la Lista en C++
Transformaciones geométricas
TRANSFORMACIONES GEOMÉTRICAS
Transformaciones Geométricas
Graficación III. Transformaciones.
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
MODOS DE DIRECCIONAMIENTO
Programación III Clase 07 Funciones.
Álgebra lineal.
MODOS DE DIRECCIONAMIENTO
Dibujar en 3D: puntos, líneas y polígonos.
Cámara.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
ELO3201 Vectores (Vector) Agustín J. González ELO320.
Método de los Elementos Finitos y su implementación usando Matlab
Visualización Computacional 2
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
Curso de OpenGL Verano de hrs. de adrenalina 3D M.C. Luis A. Zarza López.
Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua.
C ONTINUACIÓN M ODOS DE DIRECCIONAMIENTO. 5. R ELATIVO A LA BASE Se le identifica cuando dentro de la instrucción aparece un registro base mas un desplazamiento.
Carlos Carrasco de Pedro Daniel Sanz Sanfructuoso
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Introducción a los gráficos 3D
ELEMENTO DE VIGA ω₁ω₁ ω₂ω₂ θ₂θ₂ θ₁θ₁ P L b h FLEXION (1) CORTE (2) +
Métodos Matemáticos de Especialidad (Mecánica-Máquinas) Presentación del trabajo Grupo 19 Nuria Cruz Fonfría03415 Antonio Puebla Morales03313 Alba Martínez.
MODOS Y METODOS DE DIRECCIONAMIENTO
Modos de Direccionamiento  No. 18  8:00-9:00am  Lenguaje ensamblador.
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
Introducción a la Programación “Conceptos Básicos” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Viscomp I 2011 – Práctico 3. Tp1: ok Tp2: 9/6 Tp3: 30/6 Próxima clase: 16/6.
MODOS DE DIRECCIONAMIENTO
METODOS DE DIRECCIONAMIENTO NO. 12 HORA: 8:00 ENSAMBLADOR MIGUEL ALEJANDRO DAVALOS HUERTA.
No. 26 8:00 a.m. Lenguaje Ensamblador. Segmento de Pila  Model small  stack  Data  Code  mov  mov ds, ax  push ds  …código del programa.
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
Introducción a los gráficos 2D
Por ejemplo: void funcion1(int a, int b=0, int c= 1); void funcion2(int a=1, int b, int c); int funcion1(int a, int b=0, int c=1);... funcion1(12, 10);
TRANSFORMACIONES ISOMÉTRICAS
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
ESTRUCTURAS LINEALES “LA PILA”
Grupo de Modelamiento de Sistemas
Modos de Direccionamiento No. Lista 31 7 am Lenguaje ensamblador.
La recta y el plano Reduciendo las dimensiones. Los puntos de una recta se pueden obtener desplazando un punto de la misma siguiendo una única dirección.
4° Secundaria Vectores Matemática
OPERADORES CINEMÁTICOS Roger Miranda Colorado
Simetría 4°.
Programación 3D con OpenGL bajo GNU/Linux Roberto Garrido Martín (Ro) e-ghost ESIDE's GNU Hi-tech and Open Source Team.
DIRECCION DE PROYECTOS.
VECTORES OPERACIONES CON VECTORES MATRICES.
PILAS. Operaciones de las Pilas Operaciones que se pueden realizar con una pila son: -PUSH (pila, elemento) -POP (pila) -VACIA (pila)
Mapeo Ventana-Puerto de Visión
Pilas.
Transcripción de la presentación:

Transformaciones en OpenGL

Contenido Transformaciones y sistemas de coordenadas Ejemplo de transformación Dualidad de la transformación Funciones de matrices Transformaciones de modelizado y visualizado La pila de matrices

Transformaciones y sistemas de coordenadas

Ejemplo de transformación void reshape(int width, int height) { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0, (GLfloat)height / (GLfloat)width, 1.0, 128.0); glMatrixMode(GL_MODELVIEW); gluLookAt(0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); }

Dualidad de la transformación Las siguientes sentencias producen el mismo efecto: gluLookAt(0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glTranslatef(0.0, -1.0, -3.0); Es equivalente mover la cámara en una dirección a mover el objeto en la dirección contraria

Modos de la matriz glMatrixMode(Glenum mode) GL_MODELVIEW GL_PROJECTION GL_TEXTURE

Funciones de matrices glLoadIdentity(void) glLoadMatrix{fd}(cont TYPE *m) glMultMatrix{fd}(cont TYPE *m)

Transformaciones de modelizado y visualizado Se combinan en una misma matriz glMatrixMode(GL_MODELVIEW) Transforman de las coordenadas del objeto a las coordenadas de la cámara (eye coordinates) Funciones de modelizado: glTranslate{fd}(TYPE x, TYPE y, TYPE z) glRotate{fd}(TYPE angle, TYPE x, TYPE y, TYPE z) glScale{fd}(TYPE x, TYPE y, TYPE z) Funciones de visualizado: gluLookAt()

Orden de las tranformaciones traslacion(1,0,0) rotacionY(135º) glRotatef(135.0, 0.0, 1.0, 0.0) glTranslatef(1.0, 0.0, 0.0) glTranslatef(1.0, 0.0, 0.0) glRotatef(135.0, 0.0, 1.0, 0.0)

Orden de las transformaciones en OpenGL glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glMultMatrixf(M1); glMultMatrixf(M2); glMultMatrixf(M3); Se aplica al vector v: M1•M2•M3•v = [M1•[M2•[M3•v]]] Nota: en realidad se aplica: [M1•M2•M3]•v

Sistema de referencia En un sistema global, las transformaciones se tienen que definir de la última a la primera En un sistema local, las transformaciones se definen en el orden que se aplican Caso particular: tortuga de logo

Pila de matrices glPushMatrix(void) glPopMatrix(void) Push Translate 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 .5 Push Translate Pop