Planificación de Computación Gráfica (2021)
Información básica
Carrera |
IngenierÃa en Informática |
Departamento |
Informática |
Sitio Web |
http://e-fich.unl.edu.ar/ |
Plan de Estudios | |
Plan 2006 | |
Carácter | PerÃodo |
Cuatrimestral | 2° Cuatrimestre |
Docente Responsable | |
Pablo José Novara |
Equipo docente
Nombre y Apellido |
Mainero, Francisco Ruben |
Novara, Pablo José |
Yones, Cristian Ariel |
Carga horaria
Carga horaria total | 101 | hs |
TeorÃa | 32 | hs |
Resolución de ejercicios | 31 | hs |
Proyecto y diseño | 6 | hs |
Evaluaciones | 15 | hs |
Formación experimental | 0 | hs |
Resolución de problemas de ingenierÃa | 10 | hs |
Otras actividades | 7 | hs |
Contenidos mÃnimos
Análisis de modelos y formas de representación gráfica de estructuras geométricas bidimensionales y tridimensionales, conceptos y algoritmos de computación gráfica, dispositivos gráficos, geometría y algoritmos para generar y organizar objetos 2-D y 3-D, transformaciones, Iluminación y sombreado, color y texturas, proceso de renderizado de imágenes realistas. |
Objetivos
Que el alumno conozca los principios y fundamentos de la computación gráfica, la arquitectura de un sistema gráfico y los componentes más usuales de un pipeline de renderizado, domine algunas técnicas computacionales para modelar, manipular y representar objetos bidimensionales y tridimensionales y sea capaz de desarrollar programas con interfaces gráficas 2D y 3D que utilicen dichas técnicas. |
Conocimientos especÃficos previos para cursar la asignatura
Trigonometría, algebra lineal, algebra de vectores y matrices, espacios vectoriales, funciones, continuidad y derivadas en curvas y superficies. Programación estructurada y orientada a objetos con C/C++. Inglés: aunque se proveen apuntes y algunas fuentes en Castellano, es altamente recomendable que el alulmno pueda buscar y/o utilizar fuentes en Inglés.
|
MetodologÃa de enseñanza
Se seleccionaron contenidos ejemplificadores de situaciones encontradas en la práctica profesional y algunos temas formativos de base, necesarios para aprender los conceptos y técnicas más avanzados. |
Programa AnalÃtico
Introducción a la Computación Gráfica |
Presentación general del contenido de la materia. Motivación y desarrollo histórico de la Computación Gráfica. Campos de aplicación. Perspectiva histórica y tendencias. Herramientas de hardware y dispositivos de visualización e interacción. Rendering Pipeline. API’s, bibliotecas y GUI’s portables. Presentación de OpenGL y GLUT. |
Interpolación |
Interpolación vs. aproximación. Interpolación lineal. Conjuntos convexos. Envoltorio convexo. Coordenadas baricéntricas. Interpolación Bilineal. Interpolación hiperbólica o de perspectiva correcta. Interpolación esférica lineal de versores. Cuaterniones. Rotación definida por cuaterniones. Interpolación de rotaciones. |
Modelado de la Iluminación y el Color |
Fundamentos de la teoría del color. Receptores del ojo humano y percepción del color. Reproducción del color, diagrama CIE, gamut, gamma. Espacios RGB, CMY y HSV. Colores aditivos y sustractivos. Modelos de iluminación y sombreado de superficies. Iluminación local y global. Modelos BDRF y fenomenológicos. Modelo de Phong. Normales e Interpolación de la iluminación. Sombreado: Facetado, Gouraud, Phong. Modelado de colores y transparencias. Color y alfa. Mezcla (blending) y transparencias. Modelado de luces y materiales en OpenGL. Modelado de la fuente de luz. Modelo de Phong en OpenGL. Neblina (fog). |
GeometrÃa del Espacio y Transformaciones |
Transformaciones en OpenGL. Ventana del dispositivo de salida. Teoría básica de las transformaciones. Pilas de matrices. Matrices model, view, projection. Composición de transformaciones. Transformaciones jerárquicas. Transformaciones en general. Espacio lineal; vectores; combinación e independencia lineal; transformación lineal; matriz de transformación. Espacio afín; puntos como ubicaciones y vectores como desplazamientos; combinación e independencia afín; expansión afín; transformación afín. Espacio Euclídeo; métrica; transformaciones rígidas y de similaridad; orientación. Espacio proyectivo; subespacios lineales como puntos, vectores en el espacio físico y vectores como dirección; coordenadas homogéneas y representación matricial; transformaciones afines en el plano proyectivo; transformaciones proyectivas en general. Proyección ortogonal y perspectiva; modelo de la cámara de cajón (pinhole camera); horizonte; proyección de paralelas - puntos de fuga. Manipulación virtual de la cámara: zoom, pan, dolly. Proyección de sombras. Transformación dual de las normales. |
Rasterización |
Framebuffer y concepto de rasterización. Rasterización de segmentos rectilíneos. Algoritmo DDA (Digital Diferencial Analyzer). Algoritmos de Bresenham o punto medio. Rasterización de circunferencias. Rasterización de curvas en general. Algoritmo de subdivisones para rasterización. Relleno de curvas y polígonos cerrados. Antialiasing. Muestreo, supersampling y multisampling. |
Métodos en el Espacio de la Imagen |
Ocultamiento en image-precision, z-buffer. Manipulación de buffers. Operaciones con fragmentos. Operaciones Logicas. Mezcla. Stencil-buffer. Buffer de Acumulación. Técnicas de renderizado multipaso. Imágenes en OpenGL. Lectura / Escritura. Lectura del z-buffer. Posición 3D del cursor. Siluetas. Sombras. Práctica: Técnicas de renderizado multipaso: Visibilidad, Stencil, Motion-blur. |
Texturas |
Texturas. Modelado de la terminación superficial y otros usos. Imágenes 1, 2 y 3 dimensionales. Proyección e interpolación de las imágenes. Extensión por clamping y wrapping. Modos de mezcla de la imagen con el color de la superficie. Filtrado y mipmapping. Modos de mapeo manual, plano, cúbico, cilíndrico, esférico y ambiental. Efectos especiales. Bumb-mapping y displacement-mapping. |
Curvas y Superficies |
Introducción al modelado geométrico. Level-sets. Metaballs. Imágenes médicas voxelizadas. Operaciones booleanas de sólidos o CSG. Métodos de representación de la frontera (B-Rep). Superficies analítcas. Triangulaciones. Curvas paramétricas. Curvas de Bézier. Polinomios de Bernstein. Algoritmo de De-Casteljau. Derivadas de curvas. Reparametrización. Subdivisión. Elevación del grado. Control local vs. global. Splines interpolantes. Catmull-Rohm, Overhauser y otras técnicas. NURBS. B-Splines y forma polar. Parametrizacion, Knot-Vector. Superficies paramétricas. Producto cartesiano, Bezier, NURBS. Superficies bilineales, regladas, Coons, por barrido, revolución y lofted. Curvas y superficies por subdivisión iterativa. |
Intersecciones y Ordenamiento Espacial |
Intersecciones. Segmentos y triángulos en el espacio. Planos y tetraedros. Circunferencias y esferas. Descarte masivo. Envoltorios. Ordenamiento espacial. Divide and conquer. Árboles binarios: BSP tree, KD-tree, octree. Algoritmos de visibilidad (model-precision). Diagrama de Voronoï y triangulación Delaunay. Circunferencia por tres puntos. Esfera por cuatro puntos. Algoritmos de búsqueda lineal en conjuntos convexos. |
BibliografÃa
BibliografÃa básica |
Samuel R. Buss Libro de cabecera para casi todas las teorías. |
Dave Shreiner - The Khronos OpenGL ARB Working Group Fuente para el aprendizaje de la práctica con OpenGL. |
BibliografÃa complementaria |
Donald Hearn, M. Pauline Baker |
Edward Angel |
Tomas Akenine-Möller, Eric Haines, Naty Hoffman |
Cronograma de actividades
Presentación de la Materia y TeorÃa Introductoria. | Semana 1 | Tipo: T | Duración: 4 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Práctica Introductoria | Semana 1 | Tipo: EP | Duración: 3 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
TeorÃa: Interpolación | Semana 2 | Tipo: T | Duración: 4 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
TeorÃa: Modelado del Color y la Iluminación | Semana 2 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Práctica: Iluminación | Semana 3 | Tipo: EP | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
TeorÃa: Espacios y Transformaciones | Semana 3 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Práctica: Transformaciones | Semana 4 | Tipo: EP | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Consultas y resolución de ejercicios de examen | Semana 4 | Tipo: PI | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
TeorÃa: Intersecciones y Ordenamiento espacial | Semana 5 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
TeorÃa: Rasterización y Antialiasing | Semana 5 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Práctica: Rasterización | Semana 6 | Tipo: EP | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
TeorÃa: Espacio de la Imagen | Semana 6 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Práctica: Espacio de la Imagen | Semana 7 | Tipo: EP | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Consultas y resolución de ejercicios de examen | Semana 8 | Tipo: PI | Duración: 4 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
TeorÃa: Texturas | Semana 8 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Práctica: Texturas | Semana 9 | Tipo: EP | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
TeorÃa: Curvas de Bezier y Splines | Semana 9 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Prácticas: Curvas | Semana 10 | Tipo: EP | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
TeorÃa: NURBS y Superficies | Semana 10 | Tipo: T | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara | |||
Descripción: | |||
Observaciones: |
Práctica: Superficies | Semana 11 | Tipo: EP | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Consultas, y resolución de ejercicios de examen | Semana 11 | Tipo: PI | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Parcial Integrador para Promoción | Semana 12 | Tipo: E | Duración: 4 hs |
Docente/s responsable/s: Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Coloquio post-parcial. Entregas de prácticos atrasados. | Semana 12 | Tipo: C | Duración: 3 hs |
Docente/s responsable/s: Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Recuperatorio del parcial | Semana 13 | Tipo: E | Duración: 4 hs |
Docente/s responsable/s: Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Asignación de Proyectos y Recuperatorio de Trabajos Prácticos | Semana 13 | Tipo: P/D | Duración: 3 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Consultas sobre el proyecto final | Semana 14 | Tipo: P/D | Duración: 3 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Consultas y Coloquio Integrador de Promoción | Semana 14 | Tipo: C | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Defensa de Proyectos Finales | Semana 15 | Tipo: E | Duración: 4 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Defensa de Proyectos Finales | Semana 15 | Tipo: E | Duración: 3 hs |
Docente/s responsable/s: Francisco Ruben Mainero, Pablo José Novara, Cristian Ariel Yones | |||
Descripción: | |||
Observaciones: |
Requerimientos para regularizar
Todos los trabajos prácticos y el trabajo final (tf) aprobados |
Requerimientos para promover
Regular + 70% mínimo en parcial + coloquio oral aprobado. Notas: |
Examen final
Alumnos regulares |
Examen oral, de teoría y métodos prácticos (sin programación) |
Alumnos libres |
1. Práctica a preferencia del alumno: |
Evaluaciones
Fecha | Tipo | Modalidad | Descripción |
---|---|---|---|
10-11-2021 | Parcial | Escrita | Parcial Integrador para Promoción. Interpolación, Color e Iluminación, Transformaciones, Rasterización, Texturas, Curvas y Superficies, Intersecciones y Ordenamiento Espacial, Técnicas del espacio de la Imagen. |
12-11-2021 | Trabajo Práctico | Oral | Entrega de prácticos atrasados. Oportunidad para presentar y defender TPs que no hayan sido presentados o aprobados previamente en sus correspondientes clases prácticas. |
17-11-2021 | Recuperatorio | Escrita | Recuperatorio del parcial. Se mantiene la lista de temas original del parcial integrador. |
24-11-2021 | Coloquio | Oral | Coloquio para Promoción. Solo para quienes tengan posibilidad de promocionar de acuerdo a la nota del parcial (o su recuperatorio). |
01-12-2021 | Otras Evaluaciones | Oral | Exposición y Defensa de Trabajos Finales. |
03-12-2021 | Otras Evaluaciones | Oral | Exposición y Defensa de Trabajos Finales. |
Información complementaria
Recomendaciones para el estudio Materiales y Aula Virtual Todo el material que la cátedra provea (apuntes de teoría, presentaciones utilizadas en las clases, grabaciones en video de clases de teoría, códigos fuentes para trabajos prácticos, ejemplos y enlaces adicionales, enunciados de examenes anteriores, etc) se publicará en la plataforma e-fic (http://e-fich.unl.edu.ar). En la misma también estarán disponibles un foro para recibir notificaciones por parte de la cátedra y un foro en el cual los alumnos podrán realizar consultas de cualquier índole relacionadas a los contenidos o a la organización del cursado. Es responsabilidad del alumno acceder regularmente, ya que será el medio por el cual se comunicará cualquier cambio en la planificación pueda llegar a requerirse durante el cursado.
Sobre el desarrollo de los trabajos prácticos Los Trabajos Prácticos y el Trabajo Final se realizarán en grupos de dos o tres alumnos. Excepcionalmente se puede aceptar distinta cantidad. La cátedra puede disolver un grupo si considera inadecuada su conformación. La asistencia es optativa, sin ningún impacto en la calificación, pero los trabajos prácticos se entregan, analizan y evalúan durante las clases prácticas. En cuanto al software, cualquier IDE o compilador para C++ que cuente con las bibliotecas mencionadas, en cualquier sistema operativo, será suficiente. La cátedra proveerá las instrucciones para instalar las bibliotecas requeridas en el IDE ZinjaI, y los archivos de configuración de proyecto para este entorno para la mayoría de las prácticas, pero el alumno podrá optar por cualquier otro entorno C++ y solicitar a la cátedra ayuda para la puesta en marcha de los programas.
Evaluaciones durante el cursado |