Saltar al contingut Menu
Mapa
  • Inicio
  • Información
  • Contacto
  • Mapa

Visualización e Interacción Gráfica (VIG)

Créditos Dept. Tipo Requisitos
7.5 (6.0 ECTS) CS
  • Obligatoria para la EI
  • Optativa para la ETIG
  • Optativa para la ETIS
ADA - Prerequisito para la EI , ETIG
AL - Prerequisito para la EI , ETIG , ETIS
PRED - Prerequisito para la EI , ETIG
PROP - Prerequisito para la EI , ETIG
PS - Prerequisito para la ETIS

Profesores

Responsable:  (-)
Otros:(-)

Objectivos Generales

La asignatura tiene dos objetivos globales: por una parte, que el estudiante conozca la arquitectura y los elementos que integran un sistema gráfico interactivo, así como los principios y algoritmos en que se fundamenta, y que esté capacitado para programar visualizaciones interactivas de escenas tridimensionales utilizando API como OpenGL; y por otra, que el estudiante conozca los principios del diseño de las interfaces gráficas de usuarios (GUI) y que esté capacitado para programarlas utilizando herramientas de software específicas.

Objectivos Específicos

Conocimientos

  1. Los elementos que integran un sistema gráfico interactivo así como los principales modelos asociados: modelo de cámara, modelo geométrico, modelo de iluminación, y los dispositivos de entrada y salida convencionales.
  2. Los principios básicos de la interacción hombre-computador así como los principios fundamentales para el diseño de interfaces gráficas de usuario, las herramientas básicas para su desarrollo y tareas de interacción.
  3. Los procesos y algoritmos fundamentales para la visualización realista básica de objetos tridimensionales: proceso de visualización proyectivo, z-buffer, modelos empíricos de iluminación e introducción a texturas 2D.
  4. La arquitectura y el análisis funcional de las librerías gráficas (APIs) que implementan el proceso de visualización proyectivo. El diseño de aplicaciones que las utilizan.
  5. Manipulación directa de objetos. Técnicas de interacción. Mecanismos de selección.

Habilidades

  1. Programación de interfaces gráficas de usuario utilizando paquetes estándar siguiendo las especificaciones de una determinada aplicación.
  2. Desarrollo de aplicaciones gráficas de visualización interactiva de escenas tridimensionales constituidas por mallas de triángulos utilizando librerías gráficas.

Competencias

  1. Capacidad para integrarse en un grupo de trabajo que requiera el desarrollo de aplicaciones gráficas interactivas
  2. Capacidad para evaluar interfaces gráficas, para analizar las prestaciones de un determinado sistema gráfico y para evaluar las prestaciones de las herramientas disponibles para el diseño de visualizaciones interactivas y de interfaces gráficas.
  3. Capacidad de iniciativa: ser resolutivo, saber tomar decisiones y actuar para solucionar un problema.
  4. Capacidad para diseñar y llevar a cabo visualizaciones de escenas tridimensionales e interficies gráficas y analizar los resultados.
  5. Capacidad para relacionar y estructurar información de varias fuentes, para integrar ideas y conocimientos.
  6. Capacidad para trabajar efectivamente en grupos pequeños de personas para la resolución de un problema de dificultad media.
  7. Creatividad. Apertura y curiosidad intelectual.
  8. Capacidad de iniciativa: ser resolutivo, saber tomar decisiones y actuar para solucionar un problema.
  9. Capacidad de adaptación: Saber cambiar para afrontar de forma activa nuevas situaciones derivadas de cambios organizativos o tecnológicos.
  10. Capacidad para estructurar un documento técnico.

Contenidos

Horas estimadas de:

T P L Alt L Ext. Est O. Ext.
Teoria Problemas Laboratorio Otras actividades Laboratorio externo Estudio Otras horas fuera del horario fijado

1. Introducción a la informática gráfica y al diseño de interficies gráficas de usuario.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 0 0 0 0 0 0 2,0
Definición de informática gráfica. Aplicaciones.Definición de interfaces gráficas de usuario. Ejemplos.

Presentación de la asignatura.

2. Arquitectura de un sistema gráfico interactivo.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
7,0 0 8,0 0 10,0 9,0 0 34,0
Elementos de un sistema gráfico interactivo. Dispositivos de entrada y de salida convencionales. Modelos de escenas y de objetos. Mallas de triángulos. Modelo de cámara. Entorno de iluminación. Librerías gráficas. Modelos de color.

  • Laboratorio:
    Introducción a OpenGL. Ejemplos. Presentación del guión global de la primera práctica y del trabajo correspondiente a las sesiones de este tema que consistirán en completar la programación de la visualización de una escena formada por mallas de triángulos.
  • Actividades de laboratorio adicionales:
    Analizar el guión de la práctica, el esqueleto de la aplicación y los ejemplos básicos suministrados. Completar el diseño de la práctica y su programación. Es fundamental el análisis del esqueleto, de los ejemplos de OpenGL, de las herramientas disponibles y pensar propuestas para completar el diseño para realizar la práctica en las horas de laboratorio.

3. Diseño y programación de interfaces gráficas de usuario.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
6,0 0 6,0 0 8,0 6,0 0 26,0
Principios para la especificación, diseño y evaluación de GUI.Técnicas de interacción. Estructura de aplicaciones que utilizan GUI. Clasificación y evaluación de paquetes estándar de diseño.



  • Laboratorio:
    Introducción de las herramientas disponibles para la programación de interfaces: Glut, Qt. Ejemplos. Presentación de las sesiones de la primera práctica. Hará falta completar la programación de una interfaz para visualización de escenas. Deberá permitir modificaciones de funcionalidades (por ejemplo la cámara) vía la interficie.
  • Actividades de laboratorio adicionales:
    Estudio de la estructuración de las interficies según las herramientas disponibles. Análisis de los ejemplos y del esqueleto de interficie suministrado. Diseño de la interficie según las especificaciones de la práctica global y de la primera entrega en particular. Completar, si se tercia, las programaciones propuestas en los laboratorios. Es fundamental la preparación de las sesiones de laboratorio, el análisis de las herramientas disponibles y de los ejemplos para realizar las prácticas en las horas de laboratorio.

4. Visualización interactiva.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
9,0 0 4,0 0 4,0 9,0 0 26,0
El proceso de visualización proyectivo versus trazado de rayo.Diagrama conceptual del proceso de visualización.

Sistemas de Coordenadas, transformaciones y algoritmos fundamentales.

Repaso de transformaciones geométricas.



  • Laboratorio:
    Presentación de las sesiones de laboratorio de la primera práctica correspondientes a este tema. El trabajo a realizar consistirá en completar la programación de la aplicación con la modificación interactiva de los parámetros de la cámara.
  • Actividades de laboratorio adicionales:
    Diseño de los módulos del esqueleto que se necesitan para completar la primera fase de la práctica. Si se tercia, completar su programación. Realizar un manual de usuario y la entrega de práctica.

5. Introducción a la visualización realista.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
9,0 0 6,0 0 6,0 9,0 0 30,0
Eliminación de partes ocultas: z-buffer. Modelos de iluminación empíricos. Introducción a las texturas 2D. Las tarjetas gráficas.

  • Laboratorio:
    Presentación de las funcionalidades básicas de OpenGL para incrementar el realismo de las escenas. Presentación del guión de la segunda práctica que consistirá en completar la programación de la visualización interactiva con partes ocultas, modificación de la entorno de iluminación e incorporación de texturas.
  • Actividades de laboratorio adicionales:
    Análisis del guión de la segunda entrega de la práctica. Completar el diseño de los módulos asociados a la visualización realista y de las nuevas funcionalidades de las interficies. Si se tercia, completar la programación de la práctica. Realizar un manual de usuario y la entrega de la segunda práctica.

6. Manipulación directa de objetos.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
6,0 0 4,0 0 6,0 3,0 0 19,0
Técnicas de interacción. Dispositivos de entrada. Algoritmos de selección de información gráfica.

  • Laboratorio:
    Presentación de la tercera práctica por parte del profesores. El alumno deberá completar la implementación de técnicas de selección utilizando librerías gráficas. Selección de objetos, caras y grupos de objetos. Modificación de atributos o de geometría.
  • Actividades de laboratorio adicionales:
    Análisis del guión de la tercera fase de la práctica. Completar el diseño de los módulos asociados y de la interficie de usuario. Es muy importante haber realizado la fase de análisis para completar las sesiones satisfactoriamente. Completar la programación de propuesta en el laboratorio. Manual de usuario y entrega de la tercera fase de la práctica.

7. Interfaces gráficas avanzadas.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
3,0 0 0 0 0 3,0 0 6,0
Interacción multimodal: gráfica, sonora y háptica.La interacción 3D y la realidad virtual.


Total por tipo T      P      L      Alt    L Ext. Est    O. Ext. Total 
42,0 0 28,0 0 34,0 39,0 0 143,0
Horas adicionales dedicadas a la evaluación 7,0
Total horas de trabajo para el estudiante 150,0

Metodología docente

La metodología docente estará basada en clases semanales de teoría (3h) y de laboratorio (2h).

En las clases de teoría se presentarán los conceptos de la asignatura y se realizarán ejercicios que ayudarán tanto al logro de los conceptos teóricos como el desarrollo de las prácticas.

Las clases de laboratorio tendrán un doble objetivo: la presentación de las herramientas específicas de programación (OpenGL, Qt, ...) y el desarrollo por parte de los estudiantes de prácticas obligatorias. Laa prácticas se realizarán de manera individual y se consideran una parte fundamental de la asignatura.

Básicamente, las prácticas consistirán en el desarrollo de ejercicios que permitirán la visualización realista interactiva de escenas tridimensionales utilizando la librería gráfica OpenGL y Qt para el diseño de la interfaz gráfica.

Los guiones específicos de cada sesión se publicarán con antelación y se explicarán al empezar cada fase de implementación. Es fundamental para un correcto desarrollo de las clases de laboratorio y la programación de las diferentes fases de la prácticas que los alumnos realicen el trabajo personal de análisis y diseño indicado en los guiones de las sesiones que se puede realizar, parcialmente, sin necesidad de computador.

Método de evaluación

Habrá un examen escrito de teoría (T), con ejercicios y preguntas cortas de tipo teórico. La nota de prácticas (P) se calculará a partir de una práctica sencilla de interfaces (P0), dos ejercicios prácticos (P1 y P2), y de la evaluación global de la Práctica (Pr). Los ejercicios prácticos consistirán en realizar modificaciones de la práctica hecha por el propio estudiante, con la finalidad de valorar su dominio y comprensión de la misma y estarán distribuidos a lo largo del curso.

En el caso de que, por motivos técnicos, no se pudiesen realizar las pruebas prácticas en el laboratorio, alternativamente, se realizaría un examen escrito sobre la práctica.

La nota final F se determina en función de T y P de la siguiente manera que fomenta un esfuerzo equilibrado en las dos partes:

F = 0.6*T + (0.05 P0 + 0.25 (P1+P2)/2 + 0.1 Pr)

Bibliografía básica

  • Andújar, C., Brunet P., Fairén, M., Navazo, I., Vinacua, A. Informàtica Gràfica. Un enfocament multimèdia., CPET, 2002.
  • Edward Angel Interactive computer graphics : a top-down approach with OpenGL, Addison-Wesley, 2006.
  • Alan Watt 3D computer graphics, Addison-Wesley, 2000.
  • Woo, M., Neider, J., Davis, T. OpenGL User Programming Guide, Version 1.4., Addison Wesley, 2003.
  • Matthias Kalle Dalheimer Programming with Qt, O'Reilly, 2002.
  • Steve Cunningham Computer Graphics: Programming in OpenGL for Visual Communication, Pearson/Prentice-Hall, 2007.
  • Mike Bailey & Steve Cunningham Graphics Shaders: Theory and Practice, A.K.Peters, 2009.

Bibliografía complementaria

  • Wilbert O. Galitz The Essential guide to user interface design : an introduction to GUI design, principles and techniques, Wiley Computer Pub, 2002.
  • Peter Shirley Fundamentals of computer graphics, AK Peters, 2002.
  • James D. Foley ...[et al.] Computer graphics : principles and practice, Addison-Wesley, 1996.

Enlaces web

(Información no introducida)

Capacidades previas

Conceptos de álgebra lineal, en particular de transformaciones geométricas y fundamentos de cálculo matricial.

Consideramos fundamental nivel alto de programación, estructuras de datos y diseño de algoritmos y conocimientos de C++ y de linux. La asignatura Proyecto de Programación.


Compartir

 
logo FIB © Facultad de Informática de Barcelona - Contacto - RSS
Esta web utiliza cookies propias para ofrecerle una mejor experiencia y servicio. Si continúa la navegación, entendemos que acepta nuestra política de cookies. Versión clássica Versión móvil