Profesor | María Concepción Ana Luisa Solís González-Cosío | lu mi vi | 11 a 12 | Taller de Computación Visual e Innovación Tecnológica |
Ayudante | Luis Alberto López Mendoza | ma ju | 11 a 12 | Taller de Computación Visual e Innovación Tecnológica |
Ayud. Lab. | Daniel Torres Robledo | ma | 14 a 16 | Taller de Computación Visual e Innovación Tecnológica |
Graficación por Computadora
(Generación de Imágenes por Computadora)
Enero 2015
Prof. Ana Luisa Solís González Cosío
ProfLuis Albertp Lopez Mendoza
P. enCC Daniel Torres
Ciencias de la Computación
Departamento de Matemáticas
Facultad de Ciencias,
UNAM
E-mail: alsgc@ciencias.unam.mx
Introducción
La Graficación por Computadora es un área de las Ciencias de la Computación cuyo principal objetivo es establecer los principios, técnicas y algoritmos para la generación de imágenes por computadora.Las imágenes pueden ser desde imágenes en 2D hasta modelos tridimensionales 3D, de alta complejidad. Así vemos que modelos abstractos son transformados en imágenes visibles a través de esquemas o algoritmos gráficos. Los modelos pueden ser desde el modelado de humanos y su comportamiento hasta modelar ambientes virtuales con alto grado de realismo a través de modelos de iluminación complejos.
La Graficación,también se encarga del diseño de nuevosdispositivos o nuevas técnicas de interacción hombre-computadora. Define las técnicas y los fundamentos que son aplicados a la Animación por Computadora, la Visualización, así como la creación de Ambientes Virtuales o Realidad Virtual.
De ésta manera, la Graficación por Computadora permite establecer un diálogo o comunicación muy diferente entre elhombre y la computadora que es llevado a cabo a través de imágenes y con las técnicas interactivas más novedosas.
Lasáreas de la aplicaciónde la Graficación son: la arquitectura, el diseño industrial, el CAD/CAM, desarrollo de aplicaciones en el WEB, laboratorios virtuales, la robótica, los sistemas geográficos, la meteorología, visualización científica, ingeniería en todas sus áreas, medicina, desarrollo de interfaces hombre-máquina, reconstrucción de sitios arqueológicos, arte, educación, entretenimiento (video-juegos, películas, televisión, publicidad), entre otras.
Objetivos
1.- Proporcionarlos principios, técnicas y algoritmos fundamentales del área de Graficación.
2.-Programación con OpenGL, una biblioteca grafica que permite desarrollar aplicaciones interactivas en tiempo real y que actualmente es un "estándar" para el desarrollo de aplicaciones gráficas.
3.-Desarrollar un proyecto final en el área de Graficación por Computadora con OpenGL.
Plataforma y Software
Lenguajes:C / C++
Plataformas: PC (Windows/Linux/Mac)
Software: OpenGL,
Evaluación
Tareas, programación 30%
Exámenes25%
Proyecto Final30%
Participación15%
TEMARIO
1a Parte: Principios, técnicas y algoritmos. Desarrollo de Software de Graficación.
1.Introducción.
1.1Conceptos y aplicaciones.
1.2Evolución de los algoritmos y sistemas gráficos.
1.3Evolución de los sistemas interactivos.
1.4Desarrollos actuales.
2.Programación Gráfica.
2.1Estándares y portabilidad.
2.2Estándares actuales. OpenGL.
3.Algoritmos Básicos para dispositivos raster.
3.1Conversión a raster de líneas y círculos.
3.2Rellenado de rectángulos y polígonos.
3.3Recorte de líneas y polígonos.
3.4Mapeo de ventana a puerto de visión.
3.5Patrones.
4.Programación en OpenGL.
4.1Evolución de un Standard.
4.2OpenGL ARB
4.3Pipeline.
4.4Independencia de plataforma. Programación
5.Interacción.
5.1Dispositivos para interacción
5.2Programación de eventos.
5.3Menús.
5.4Diseño de programas interactivos
6.Transformaciones geométricas.
6.1Introducción.
6.2Coordenadas homogéneas y su representación matricial.
6.3Transformaciones sobre objetos jerárquicos
6.4Transformaciones en 3D
6.5Composición de transformaciones.
6.6Ejemplos de transformaciones complejas: rotación con respecto aun eje arbitrario.
7.Transformaciones de Visión
7.1Modelando una cámara virtual. Posicionando la Cámara en OpenGL
7.2Definición de la cámara a través de otras aproximaciones.
7.3Definición de trayectorias para el manejo de cámara.
8.Proyecciones Geométricas Planas.
8.1 Clasificación de las Proyecciones Geométricas Planas
8.2 Proyecciones Ortográficas
8.3 Proyecciones Axonométricas
8.4 Vista en Perspectiva
8.5 Proyección Estéreopar
8.7 Proyecciones en OpenGL
2ª Parte. Principios, técnicas y algoritmos para Realismo.
Programación con OpenGL.
9.Determinación de Superficies Ocultas.
9.1Algoritmo de Z-Buffer
9.2Algoritmo del Pintor
9.3Algoritmo Scan-line
9.4Algoritmo Ray Tracing
10.Colorimetría
10.1 Conceptos básicos.
10.2 Modelos de Color.
10.3 Conceptos básicos de Colorimetría.
11.Modelos de Iluminación y Sombreado.
11.1Modelo de Reflexión de Phong
11.2 Sombreado Poligonal
11.2.1 Sombreado por Gouraud (Gouraud Shading)
11.2.2 Sombreado por Phong (Phong Shading)
11.3 Ray Tracing
12.Mapeo de Texturas.
12.1 Mapeo de texturas 2D en objetos poligonales.
12.2Mapeo Inverso por interpolación bilineal.
12.3Mapeo Inverso utilizando superficies intermedias.
12.4 Bump Mapping.
13.Mapeo de la Iluminación.
13.1Mapeo Ambiental.
13.2Mapeo Cúbico.
13.3Mapeo Esférico.
13.4Mapeo Ambiental: puntos comparativos.
13.5Propiedades de las superficies ymapeo ambiental.
14. Técnicas en el dominio de las Texturas Tridimensionales.
14.1 Ruido 3D. (Three-Dimensional Noise).
14.2 Turbulencia. (Simulating Turbulence).
14.3 Textura tridimensional y animación.
14.4Mapeo de luces tridimensional.
15. Anti-Aliasing y Mapeo de Texturas.
15. 1Técnicas Interactivas en elMapeo de Texturas.
16Representación de curvas y superficies.
16.1 Introducción
16.2 Curvas y superficies de Bezier.
16.3 Splines.
16.4 B-splines.
17 Modelado de Sólidos.
17.1Representación de Sólidos.
17.2CSG (Constructive Solid Geometric).
17.3Comparación entre CSG y B-rep
18Modelos de Iluminación Global
18.1Comparación entre los modelos locales y globales.
18.2 Ray Tracing
19. Shaders
Bibliografía
Textos
Foley, van Dam, Feiner,Hughes ed. "ComputerGraphics: Principles and Practice", Addison-Wesley, 2013
Guha, Sumanta, Computer Graphics Through OpenGL: From Theory to Experiments. CRC Press, 2010.
Angel, Edward, "Interactive Computer Graphics: A top-down approach with OpenGL", Addison-Wesley
Neider, Davis, Woo, "OpenGL Programming Guide: The Official Guide to Learning OpenGL", Addison-Wesley
Wright, R., Sweet, M. “OpenGL SuperBible”, Waite Group Press
Hearn, Baker, “ Computer Graphics with OpenGL”, Pearson-Prentice Hall, Third Edition
Watt, Alan, Fundamentals of Three-Dimensional Computer Graphics", Addison-Wesley
Rogers, Adams, "Mathematical Elements for Computer Graphics",Mc Graw Hill
Referencias
Watt, Alan “3D Computer Graphics” 3rd Edición, Addison-Wesley
Watt A, Watt M. "Advanced Animation and Rendering Techniques: Theory and Practice", Addison Wesley
Rogers, "Procedural Elements for Computer Graphics", Mc Graw Hill