General
Visualización e Interacción Gráfica (2009)
Visualización e Interacción Gráfica (2009)
|
Visualización e Interacción Gráfica (2009)
Profesores Andrés Iglesias Prieto Akemi Gálvez TomidaDepartamento de Matemática Aplicada y Ciencias de la Computación
|
El objetivo general del curso es proporcionar al alumno/a una visión general de las técnicas y métodos que se aplican en la generación y manipulación de gráficos por computador, desde las Interfaces Gráficas de usuario disponibles en los sistemas operativos actuales hasta los modelos más avanzados de renderizado y animación por computador.
Dicha visión incluye la comprensión de los fundamentos de dichos métodos, y posibles formas de implementación, así como de sus efectos sobre las escenas virtuales.
Palabras Clave de la AsignaturaFormatos Gráficos, Modelado Geométrico, GUI, Bezier, Gráficos para la Web, Animación, Realidad Virtual, Renderizado, Expresión Gráfica, Diseño Asistido por Ordenador, Gráficos Vectoriales, CAD. |
Datos identificativos de la Asignatura
|
El objetivo general del curso es proporcionar al alumno/a una visión general de las técnicas y métodos que se aplican en la generación y manipulación de gráficos por computador, desde las Interfaces Gráficas de usuario disponibles en los sistemas operativos actuales hasta los modelos más avanzados de renderizado y animación por computador. Dicha visión incluye la comprensión de los fundamentos de dichos métodos, y posibles formas de implementación, así como de sus efectos sobre las escenas virtuales.
Entender los fundamentos básicos de los gráficos por computador, su esquema básico de funcionamiento y el uso del software y hardware aplicado a este campo.
Conocer la historia de los gráficos por computador desde sus orígenes, así como la evolución histórica de los distintos métodos en este campo en función del software y hardware disponible en cada momento.
Implementar los métodos más usuales de renderizado, iluminación, texturizado y efectos avanzados de los gráficos por computador.
Entender el uso de las Interfaces Gráficas de Usuario presentes hoy día en muchos programas y sistemas operativos desde la óptica de los gráficos por computador.
Adquirir conocimientos suficientes para que pueda diseñar los algoritmos sobre las entidades geométricas más usuales en los gráficos por computador y realizar su implementación en cualquier lenguaje de programación.
Conocer el mundo de los entornos multimedia, la realidad virtual y la realidad aumentada.
Conocer las técnicas básicas de animación por computador.
Conocer las técnicas básicas de la simulación y animación de los fenómenos naturales.
Conocer y entender los fundamentos de la animación de seres humanos virtuales y su comportamiento y evolución en mundos virtuales, así como de fenómenos de aparición reciente como “Los Sims” y “Second Life".
Entender la interacción de estas técnicas con otros campos de la computación, como la inteligencia artificial y la visualización científica.
Conocer los principales formatos gráficos, su campo de aplicación así como sus principales ventajas e inconvenientes.
Tema 1. Introducción a los gráficos por computador. Bibliografía básica
Aplicaciones y usos de los gráficos por computador.
Ejemplos relevantes y ámbito de aplicación.
Historia de los gráficos por computador.
Fuentes de información: revistas, libros, CDs, sitios web. Software gratuito y comercial.
Enfoque del curso.
Vídeo: Ilusiones virtuales (1,5 horas).
Tema 2. Hardware y software para gráficos por computador
Tarjetas gráficas.
Software gratuito:
Visores web y de VRML (CosmoPlayer, AppletViewer).
APIs gráficas (OpenGL, DirectX, Java3D).
Software comercial: Maya, RenderMan, 3D Studio Max, LightWave).
Tema 3. Algoritmos básicos para gráficos por computador
Transformaciones 2D y 3D.
Matrices de transformación.
Algoritmos de línea: DDA, algoritmo de Bresenham.
Algoritmos de clipping.
Algoritmos de líneas y superficies ocultas. Algoritmo del pintor, Z-buffer.
Práctica 1. Matrices de transformación.
Práctica 2. Algoritmo de Bresenham.
Tema 4. Modelado geométrico: curvas y superficies
Sistemas de representación: implícitas, explícitas y paramétricas.
Curvas y superficies de forma libre: de Bézier, Bsplines y NURBS.
Algoritmos básicos:
Subdivisión.
Elevación de grado.
Elección de nodos.
Refinamiento.
Algoritmos avanzados:
Intersección.
Blending.
Ultimas tendencias: T-NURBS, T-NURCCS.
Práctica 3. Curvas y superficies de Bézier.
Práctica 4. Curvas y superficies Bspline.
Práctica 5. GUI avanzada en Matlab para curvas y superficies de forma libre.
Vídeo: Curvas y superficies de forma libre.
Tema 5. Renderizado: modelos de iluminación
Fundamentos del renderizado.
Modelos de polígonos:
Alambres.
De caras y vértices.
Planos.
Modelos básicos de iluminación.
Iluminación ambiente.
Iluminación difusa.
Efectos de distancia.
Algoritmos básicos:
Flat.
Gouraud.
Ray tracing.
Radiosidad.
Práctica 6. GUI avanzada en Matlab para modelos de iluminación.
Tema 6. Texturizado
Conceptos básicos de texturizado:
Texture mapping.
Bump mapping.
Fractales:
L-sistemas.
Otros métodos.
Ejemplos avanzados.
Práctica 7. Fractales: sistemas de funciones iteradas.
Práctica 8. Texturizado.
Tema 7. Gráficos por computador avanzados
Transparencia.
Multiresolución.
Niebla.
Reflexiones.
Simulación de fenómenos naturales: agua, fuego, etc.
Práctica 9. Simulación del agua.
Tema 8. Animación por computador
Fundamentos de la animación por computador.
Animación geométrica.
Key framing.
Cinemática directa e inversa.
Animación basada en scripts.
Práctica 10. Sistemas de partículas.
Tema 9. Humanos virtuales
Modelado de humanos virtuales:
Pelo.
Piel.
Animación del comportamiento.
Inteligencia artificial.
Modelos cognitivos.
Ultimas tendencias:
Los Sims.
Second Life.
Animación de multitudes.
Tema 10. Interfaces Gráficas de Usuario. Multimedia. Realidad virtual
Interfaces Gráficas de Usuario (GUIs).
Ejemplos en Matlab.
Entornos multimedia.
Creación de una GUI.
Realidad virtual:
Entornos inmersivos.
Entornos proyectivos.
Aplicaciones de la realidad virtual.
Realidad aumentada.
Práctica 11. Creación de una GUI.
Tema 11. Formatos gráficos
Gráficos vectoriales.
Gráficos de mapa de bits.
Formatos:
BMP.
JPEG.
Formatos de compresión de vídeo:
MPEG1.
MPEG2.
Formato AVI.
Formatos de compresión de audio: MP3.
Compresión fractal.
Formatos industriales:
IGES.
VDA.
Práctica 12. Formatos MPEG y MP3.
Vídeo: Formatos industriales.
Tema 12. Gráficos para la Web
Formatos GIF y JPEG.
Librerías gráficas para la Web.
Web 3D.
Visualización de datos mediante gráficos por computador.
Últimas tendencias.
Práctica 13. Creación de una página web con contenido gráfico.
Práctica 14. Realidad virtual. Creación y navegación por una escena en VRML.
Los siguientes libros son los recomendados como bibliografía básica. Por ello, se recomienda especialmente su lectura, en especial de los capítulos correspondientes al programa. Los libros están ordenados por un criterio de lectura recomendada: se recomienda comenzar por los indicados en la fila superior y continuar por la fila media. Los dos últimos libros son de corte más computacional: el libro de Rockwwod incluye un tutorial interactivo multimedia sobre los principales conceptos de curvas y superficies. El libro «Graphics Gems» es, en realidad, un libro de recetas computacionales sobre los principales algoritmos en gráficos por computador. Su gran éxito motivó la publicación de varios volumenes posteriores. Todos los títulos indicados están disponibles en la BUC.
Vera Anand (1993): «Computer graphics and geometric modeling for engineers». John Wiley & Sons.
D.F. Rogers (1998): «Procedural elements for computer graphics». MacGraw-Hill.
J. Foley, A. van Dam, S. Feiner & J. Hughes (1999): «Computer graphics. Principles and practice». 2nd Ed. in C. Addison-Wesley.
A. Watt (2000): «3D Computer graphics». 3rd Ed. Addison-Wesley.
A. Rockwood & P. Chambers (1996): «Interactive curves and surfaces. A multimedia tutorial on CAGD». Morgan Kaufmann, San Francisco.
A. Glassner (1990): «Graphics gems». Academic Press (ver tambien Vol. 2 y 3).
Los siguientes libros son los recomendados como bibliografía complementaria del curso. Sus contenidos pueden resultar de mucha utilidad como formación complementaria y para la realización de las prácticas y el trabajo fin de curso. El libro sobre NURBS de Piegl y Tiller incluye muchos ejemplos de pseudocódigo tipo C para la creación de programas de manipulación de curvas y superficies NURBS (las más usadas en diseño por computador). Todos los títulos indicados están disponibles en la BUC.
L. Piegl & W. Tiller (1997): «The NURBS book springer verlag». 2nd Ed.
D. F. Rogers (2000): «An introduction to NURBS: with historical perspective». Morgan Kaufmann Publ.
G. Farin (1996): «Curves and surfaces for CAGD». 4th Ed. Academic Press.
A. Glassner (1989): «An introduction to Ray Tracing». Academic Press.
M.E. Mortenson (1997): «Geometric modeling». 2nd Ed. John Wiley & Sons
J. Hoschek & D. Lasser (1993): «Computer aided geometric design». A.K. Peters.
En la Biblioteca de la Universidad de Cantabria se encuentra una variada colección de revistas dedicadas a los gráficos por computador. Su consulta se aconseja a nivel más avanzado, una vez que se hayan estudiado los principales conceptos y métodos. Por ello, las revistas no suplen a los libros anteriores, ni a los apuntes del curso. Destacamos también que las revistas de la fila media (del grupo Elsevier Science) se encuentran disponibles mediante acceso on-line en el campus de la Universidad de Cantabria. Asimismo, las revistas de IEEE están disponibles en formato electrónico (DVD con los ficheros PDF) en la división de Industriales de la BUC). Numerosas publicaciones de IEEE están también disponibles on-line dentro del campus de la Universidad de Cantabria a través del servicio de acceso IEEEXplorer.
«ACM. Transactions on graphics». Revista N° 1 del área.
«Computer graphics and siggraph proceedings ACM siggraph».
«Computer graphics forum». Blackwell Publishers. Revista de la sociedad europea de gráficos, Eurographics.
«Computer aided design». Elsevier Science. Revista sobre CAD.
«Computer aided geometric design». Elsevier Science.
«Computers and graphics». Elsevier Science. Revista clásica sobre gráficos.
«IEEE computer graphics and applications». IEE Magazine de IEEE sobre gráficos.
«IEEE transactions on visualization and computer graphics». IEEE.
«Computer Graphics». World COP Communications. Revista de divulgación sobre temas de gráficos por computador.
En la Biblioteca de la Universidad de Cantabria (división de Caminos) están disponibles los vídeos de los congresos ACM Siggraph desde 1992 (formato PAL). A partir de 2005, dichos vídeos están en formato DVD. Como complemento, se usarán algunos otros vídeos para su exposición durante las clases prácticas.
Las prácticas del curso, distribuidas a razón de 2 horas a la semana durante un cuatrimestre (15 semanas) según se describe en horario, consisten en 3 actividades diferentes:
Sesiones de vídeo.
Prácticas guiadas y propuestas.
Trabajo final de curso.
PR-F-001. Formato de presentación de las prácticas.
PR-F-004. Vídeo 3. Aplicaciones industriales. Vídeo con entrevistas a expertos del tema sobre el tema del diseño en la producción industrial (30 minutos).
Notas
Las prácticas que supongan la generación de código por computador pueden realizarse sobre cualquier lenguaje de programación (C/C++, Pascal, Fortran, Java) y/o librería gráfica (OpenGL, DirectX), así como sistemas de cálculo científico de propósito general (Matlab, Maple, Mathematica). No obstante, se sugiere que el lenguaje/librería/sistema elegido disponga de algún tipo de prestación gráfica a fin de disminuir la dificultad que conllevaría la práctica en caso de requerir la generación de la parte gráfica desde cero.
Se aceptan implementaciones sobre vídeo-consolas. Igualmente, se aceptan implementaciones sobre dispositivos de interacción hombre-máquina tipo Wii o similares.
La práctica debe acompañarse con una breve memoria que exponga:
El objetivo de la práctica.
Los métodos implementados con sus correspondientes fórmulas, pseudocodigos, etc. según corresponda.
Los principales resultados obtenidos.
Limitaciones y ventajas del software generado.
La lista de prácticas indicada no es exhaustiva. En todo momento, un alumno/a puede proponer realizar alguna práctica no considerada en la lista anterior. El profesor determinará, tras la conversación con el alumno/a, si se acepta su propuesta como posible práctica del curso o posible trabajo fin de curso.
Notas
El trabajo final de curso puede ser realizado de forma individual o en grupo. En este último caso, todos los integrantes del grupo tendrán asignada la misma nota, salvo que puede distinguirse claramente la parte realizada por cada alumno/a. Los grupos pueden ser de hasta 4 personas.
Cada trabajo final de curso debe incluir una memoria como la reseñada para las prácticas, pero de mayo longitud y profundidad de contenidos.
El tema del trabajo final del curso es de libre elección por parte de los alumnos/as, pero debe estar relacionado con los temas del curso. En otras palabras, pueden abordarse temas no tratados en el curso, pero dichos temas deben tener relación con los contenidos del curso. En todo caso, la propuesta de cada trabajo debe contar con la aprobación de la propuesta por parte de los profesores del curso.
El uso de OpenGL requiere herramientas adicionales para compilación y creación y manejo de ventanas. Se recomienda el uso de GLUT (OpenGL Utility Toolkit) sobre C/C++.
El uso de VRML requiere el uso de un navegador y los plug-ins adecuados, según se explicará en el curso.
Se recomienda NO usar el navegador Microsoft Internet Explorer.
Navegadores aceptados: Firefox, Netscape, Opera, Mozilla, SeaMonkey.
El plug-in recomendado es CosmoPlayer.
![]() |
Andrés Iglesias Prieto
Departamento de Matemática Aplicada y Ciencias de la Computación UNIVERSIDAD DE CANTABRIA |
![]() |
Akemi Gálvez Tomida
Departamento de Matemática Aplicada y Ciencias de la Computación UNIVERSIDAD DE CANTABRIA |
Contacto Información legal Sobre OCW RSS Universidad de Cantabria