Logo UAB
2021/2022

Entornos Gráficos y de Realidad Aumentada

Código: 104372 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2503758 Ingeniería de Datos OT 4 0
La metodología docente y la evaluación propuestas en la guía pueden experimentar alguna modificación en función de las restricciones a la presencialidad que impongan las autoridades sanitarias.

Contacto

Nombre:
Felipe Lumbreras Ruíz
Correo electrónico:
Felipe.Lumbreras@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
español (spa)
Algún grupo íntegramente en inglés:
No
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:

Prerequisitos

Se recomienda que el alumno tenga conocimientos y capacidades de:

· Programación en lenguajes de programación orientado a objeto (C ++, etc.)
· Estructuras básicas de datos.
· Geometría 3D.

Objetivos y contextualización

Las técnicas de Gráficos por Computador y Visualización Gráfica, en especial las de realismo (rendering) y de animación por Computador (Computer Animation) están presentes en muchos ámbitos, fundamentalmente en el entretenimiento (cine, televisión, videojuegos, etc.) pero también en otros como visualización científica, visualización de imágenes médicas, cartografía, diseño industrial (realización y simulación tanto estática como dinámica de productos) y otros. El hecho de ver de forma usual estas imágenes generadas por computador no debe quitar ni minimizar la complejidad en la que han sido diseñadas y generadas. En muchos casos (fundamentalmente el entretenimiento) debe haber un diseñador gráfico que diseñe el personaje, unos guionistas, pero también un informático que modele la forma el personaje y defina las ecuaciones dinámicas de los movimientos así como que los genere propiamente. En este curso se pretende introducir los diferentes procesos y algoritmos que se deben utilizar para obtener una imagen realista. No se pretende que se conozcan estos algoritmos para que los implemente (muchos de ellos ya están implementados en librerías gráficas), sino para conocer las posibilidades de cada algoritmo y los parámetros que se utilizan para configurarlos. Se introducen también conceptos importantes de animación por computador tanto de trayectorias (rotación y traslación) como de objetos articulados a fin de saber definir modelos de cinemática y generar movimientos de estos objetos. De forma más aplicada se pretende que el alumno adquiera habilidades en la librería gráfica OpenGL (Open Graphics Library) en un entorno gráfico Visual C ++ con interfaz MFC o entorno Qt.

CONOCIMIENTOS: Al finalizar el curso el alumno debe ser capaz de:

· Comprender y saber aplicar las principales técnicas para generar y visualizar escenas tridimensionales en ordenador.
· Comprender los modelos volumétricos y modelos fractales para representar objetos tridimensionales, fuerza utilizados para la generación de imágenes realistas.
· Comprender tanto los conceptos básicos como los principales algoritmos de realismo (rendering): algoritmos de eliminación de caras ocultas, modelos y tipos de iluminación de una escena, modelos de sombreado y transparencia así como modelos para representar y visualizar texturas. Las texturas permiten aumentar significativamente el grado de realismo de la escena.
· Comprender y saber aplicar los principales modelos cinemáticos (el de sólidos rígidos y los de objetos articulados), muy utilizados en técnicas de animación por computador.
· Comprender y saber aplicar la librería gráfica OpenGL (Open Graphics Library), que se utiliza en la visualización gráfica tanto en plataformas Windows como Linux y Mac OS.
· Comprender y saber aplicar la programación de shaders (lenguajes GLSL, HLSL) para sacar máximo partido de la capacidad de procesamiento de las GPU (Graphic Processing Unit) de las placas gráficas actuales.

HABILIDADES: Se pretende que los alumnos adquieran las siguientes habilidades:

· Tener un grado de conocimiento y práctica en OpenGL para:
o Ser capaces de modelar un objeto a partir de primitivas básicas OpenGL.
o Saber modelar diferentes fuentes de luz y definir claramente sus parámetros para visualizar la escena que se desee.
o Asignar texturas a un objeto para darle un mejor grado de realismo.
· Definir el modelo cinemático de un objeto móvil a partir de transformaciones geométricas (traslación, rotación y escalado), sea un objeto rígido o articulado. Saber representarlo, renderizar y moverlo en OpenGL.

COMPETENCIAS: Se pretende que los alumnos adquieran las siguientes competencias:

· Trabajo en equipo.
· Trabajo autónomo
· Capacidad de análisis, síntesis y prospectiva.
· Razonamiento crítico.
· Capacidad de resolución de problemas.

Competencias

  • Prevenir y solucionar problemas, adaptarse a situaciones imprevistas y tomar decisiones.
  • Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
  • Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  • Trabajar cooperativamente, en entornos complejos o inciertos y con recursos limitados, en un contexto multidisciplinar, asumiendo y respetando el rol de los diferentes miembros del equipo.

Resultados de aprendizaje

  1. Prevenir y solucionar problemas, adaptarse a situaciones imprevistas y tomar decisiones.
  2. Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
  3. Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  4. Trabajar cooperativamente, en entornos complejos o inciertos y con recursos limitados, en un contexto multidisciplinar, asumiendo y respetando el rol de los diferentes miembros del equipo.

Contenido

BLOQUE 1. SISTEMAS y DISPOSITIVOS GRÁFICOS

1. Introducción a los Gráficos por Computador (1 hora)
· Definiciones
· Historia y aplicaciones
· Tendencias futuras

2. hardware gráfico (1 hora)
· Sistema de visualización y controlador de visualización
· Dispositivos de salida gráfica
· Dispositivos de entrada gráfica
· Técnicas interactivas de entrada

BLOQUE 2. GRÁFICOS 2D. Transformaciones y modelado

3. Transformaciones 2D (1 hora)
· Transformaciones geométricas
· Transformaciones BitBLT
· Transformaciones de visualización

4. Modelado 2D (1 hora)
· Primitivas Gráficas
· Aplicación CAD

BLOQUE 3. GRÁFICOS 3D. Tranformación Y MODELADO

5. Transformaciones 3D (2 horas)
· Sistemas de coordenadas
· Transformaciones geométricas
· Transformaciones de visualización

6. Modelado 3D (4 horas)
· Conceptos básicos
· Modelos geométricos
· Modelos procedurals
· Modelos espaciales
· Fractales

BLOQUE 4. REALISMO

7. Introducción y técnicas de antialiasing (1 hora)
· Introducción
· Aliasing

8. Ocultaciones (1 hora)
· Conceptos básicos
· Algoritmos espacio objeto
· Algoritmos de espacio imagen

9. Iluminación (6 horas)
· Conceptos básicos
· Modelos de iluminación
· Algoritmos de iluminación local
· Texturas
· Transparencias
· Sombras
· Algoritmos de iluminación global

BLOQUE 5. ANIMACIÓPER COMPUTADOR

10. Animación por Computador (4 horas)
· Conceptos básicos
· Animación asistida por Computador
· Animación por Computador
· Técnicas de animación por Computador
· Morphing

BLOQUE 6. TEMAS COMPLEMENTARIOS

· Niveles de gris y color
· Curvas y superficies
· Morphing
· Sistemas de Realidad Virtual y Realidad Aumentada

Metodología

Itinerario ABP:

En este itinerario se ofrece una metodología docente denominada Aprendizaje Basado en Proyectos (ABP) como alternativa a la metodología clásica del itinerario TPPE. La metodología ABP pretende potenciar y motivar al alumno en el aprendizaje. Las normas de funcionamiento y evaluación de los alumnos que sigan este itinerario se detallan en el documento de FUNCIONAMIENTO, accesible en Caronte.

TEORÍA:

El profesor hará un seguimiento y tutorización del trabajo semanalde los grupos en las sesiones de teoría de dos horas. Los alumnos entregarán un acta de reunión con la discusión y acuerdos realizados en la sesión.

SEMINARIOS:

En las clases de seminarios se irá alternando entre clase magistral y resolución de problemas o dinámicas tipo puzzle para apoyar la realización del proyecto.

COMPETENCIAS: Se pretende que los alumnos adquieran (además de las especificadas en el apartado 5) las siguientes competencias:

· Desarrollar estrategias de aprendizaje autónomo.
· Capacidad de organización y planificación.
· Capacidad de resolución de problemas.

 

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases magistrales 26 1,04 1, 2, 3, 4
Explicación y resolución de problemas 12 0,48 1, 2, 3, 4
Resolución de ejercicios prácticos 12 0,48 1, 2, 3, 4
Tipo: Autónomas      
Estudio individual 36 1,44 1, 2, 3, 4
Resolución de ejercicios prácticos de manera individual o grupal 32 1,28 1, 2, 3, 4
Resolución de problemas de manera individual o grupal 20 0,8 1, 2, 3, 4

Evaluación

Itinerario ABP:

La evaluación se hará también de forma continuada. Se evaluarán las actas que el grupo escribirá después de cada sesión tutorizada, en la que describirán sus discusiones y acuerdos, los dos controles escritos durante el semestre y las encuestas de autoevaluación que cada alumno hará de sus compañeros y de él mismo . La última semana de curso lectivo los alumnos harán una presentación oral del proyecto y entregarán una memoria del trabajo realizado. Ambos serán evaluados por parte de tres profesores del departamento. Los alumnos de este itinerario no realizarán ningún examen escrito.

Para la evaluación del itinerario de ABP se utilizarán los siguientes INSTRUMENTOS y ACTIVIDADES:
· Una evaluación hecha por los profesores a partir de la presentación del proyecto realizado por el grupo (calidad del trabajo, presentación, memoria entregada). Nota Grupal (10). A partir de:
    o PORTAFOLIO DEL ALUMNO: Documento donde se explica el desarrollo del trabajo hecho: planteamiento del proyecto, actas de reuniones, información buscada, explicación de la aplicación implementada con un pequeño manual de usuario y pruebas y tests realizados.
    o PRESENTACIÓN: Presentación oral en 10-14 transparencias sobre el proyecto desarrollado y resultadosobtenidos.
    o APLICACIÓN: Versión fuente y ejecutable (Debug y Release) de la aplicación desarrollada.
    o ACTOS Y CONTROLES: Presentación de la documentación entregada.
· Una evaluación individual a partir de las observaciones hechas por los tutores en las sesiones tutorizadas, donde se tendrá en cuenta la actitud, iniciativa, participación, asistencia y puntualidad del alumno en las sesiones de grupo. Nota Individual (10).
· Encuestas de co-evaluación y autoevaluación entre los miembros del grupo. Se realizarán 3 evaluaciones vía Caronte. Nota Co-evaluación Compañeros (1).
· Las presentaciones orales se realizan ante los alumnos y los grupos valorarán el trabajo de sus compañeros a modo de ranking del 1 (el que más haya gustado) al 5 (el que menos haya gustado). Nota Co-evaluación Grupos (0,5).

INDICADORES DE CALIFICACIÓN:

La nota final de la asignatura se calcula de forma ponderada y global teniendo en cuenta las actividades anteriores y el grado de implicación de cada miembro del grupo.

NOTA FINAL ASIGNATURA (10) = (0'6 * Nota Grupal (10) + 0'4 * Nota Individual (10) + Nota Co-evaluación Compañeros (0,5) + Nota Co-evaluación Grupos (0,5) )

En caso de suspender, el grupo puede elegir entre mejorar el trabajo para la segunda convocatoria siguiendo las sugerencias del profesor o pasarse al itinerario TPPE, debiendo presentar las prácticas del itinerario.

CRITERIOS DE EVALUACIÓN:

Para considerar aprobada la asignatura debe obtenerse un mínimo de 5 en la nota final.

IMPORTANTE PARA TODOS LOS ALUMNOS:

Es importante inscribirse a Caronte, pues se publican los materiales de la asignatura, se hacen las entregas y se publican las notas de la asignatura. Hay que apuntarse también a un grupo de ABP. Al inicio de curso hay que inscribirse en Caronte en la asignatura de Vista Gráfica Interactiva, curso "VGI Curso 2019-20" con la contraseña "VGI2019". Si es la primera vez que entre a Caronte necesario ingresar su NIU, contraseña, número y apellidos y una foto carnet en formato JPG. Caronte es un gestor diferente en el Campus Virtual de la UAB, con el hace falta que las contraseñas sean la misma.

CALENDARIO DE EVALUACIÓN:

· Seguimiento de los grupos y controles: durante el curso.
· Entrega del portafolio, presentación oral y aplicación por parte de los alumnos: La última semana de clase.

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Entrega de problemas 1 2 0,08 1, 2, 3
Entrega de prácticas 50 6 0,24 1, 2, 3, 4
Examen primer parcial 25 2 0,08 1, 2, 3
Examen segundo parcial 25 2 0,08 1, 2, 3

Bibliografía

MATERIAL DE LA ASIGNATURA: http://caronte.uab.cat, asignatura Visualització Gràfica Interactiva, curs ‘VGI Curs 2019-20’.

BIBLIOGRAFÍA BÁSICA:
· J.F. Hughes, A. van Dam, M. McGuire, D.F.Sklar, F.D. Foley, S.K. Feiner, K. Akeley, Computer Graphics. Principles and Practice, third edition in C, Addison-Wesley, 2014.
· D. Hearn, P. Baker, Computer Graphics with OpenGL, 4th edition, Pearson, 2014.

BIBLIOGRAFÍA COMPLEMENTARIA:
· D. Shreiner, G. Sellers, J. Kessenich, B. Licea-Kane, OpenGL Programming Guide, 8th Edition, 2013, Addison-Wesley, (red book).
· M. Bailey, S. Cunningham, Graphic Shaders. Theory and Practice, 2nd Edition, CRC Press, 2012.
· G. Sellers, R.S. Wright Jr., N. Haemel, OpenGL Superbible - Comprehensive Tutorial and Reference, 7th eds, Addison-Wesley, 2016 (blue book).
· Edward Angel and David Shreiner "Interactive Computer Graphics - A top-down approach using OpenGL", 6th ed, Pearson Education, 2012. Good undergraduate text book on Computer Graphics.
· JungHyun Han, 3D Graphics for Game Programming", CRCPress, 2011. Good and simple explanation for the Graphics Renderer Pipeline and the various transforms, with many nice diagrams.
· E. Lengyel, Mathematic for 3D game programming & Computer Graphics, 3rd edition, Course Technology, 2011.

ENLACES WEB:
· OpenGL mother site @ www.opengl.org.
· Nehe OpenGL Tutorials @ http://nehe.gamedev.net. One of the best sites on OpenGL.
· Nate Robin's OpenGL Tutor @ http://www.xmission.com/~nate/opengl.html. One of the best sites on OpenGL. Provides a few animated programs to illustrate OpenGL functions, such as gluLookAt. Nate Robin also provide the original GLUT library.
· The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization.VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python.
· Computer Graphics (MIT). Curs de Gràfics per Computador del MIT amb transparències que toca molts dels temes de l'assignatura.
· EUROGRAPHICS. Associació europea de Gràfics per Computador, que agrupa els principals centres de recerca europeus en Computer Graphics i organitza el congrés anual d’Eurographics.
· ViRVIG: Visualització, Realitat Virtual i Interacció Gràfica (UPC-UdG). Grup de R+D en Realitat Virtual.

Software

OpenGL