Computación Gráfica (300CIG008)

Información Básica

Descripción del Curso

En este curso se presentan los fundamentos de la computación gráfica. A partir de estos conceptos los estudiantes podrán generar aplicaciones en dos y tres dimensiones en un dispositivo computacional. Los estudiantes podrán identificar las estructuras, modelos, técnicas y herramientas de computación gráfica para crear estas aplicaciones y estarán en capacidad de implementarlas utilizando herramientas de modelado y librerías de programación especializadas en gráficos.

Objetivos

Al finalizar el curso los participantes podrán:

  1. Conocer los conceptos fundamentales de la Computación Gráfica.
    1. Reconocer el objeto de estudio de la Computación Gráfica, los eventos históricos y sus aplicaciones.
    2. Definir Computación Gráfica, Mapa de Bits, Profundidad de bits, Mundo Virtual, Modelo de color, imagen digital, tubería gráfica, geometría computacional, triangulación, subdivisión de superficies, extracción de superficies, modelo de cámara, proyección, fotorealismo, modelo de iluminación, mapas de luz, mapas de normales, GPU.
    3. Describir la tubería gráfica y los problemas y limitaciones de la computación gráfica.
    4. Identificar los modelos básicos de la computación gráfica en 3D, técnicas de generación procedimental de modelos avanzados.
    5. Comparar modelos de computación gráfica, formas de proyección, modelos para lograr el fotorealismo.
    6. Calcular la profundidad de bit, conversiones entre modelos de color, transformaciones geométrica, cuaterniones, normales, normalizaciones, intersecciones y distancias, el movimiento de cámara.
    7. Identificar el hardware necesario para crear mundos virtuales de computación gráfica.
    8. Escoger y emplear modelos de computación gráfica
    9. Discutir y reconocer el papel de la computación gráfica
  2. Implementar aplicaciones basadas en computación gráfica
    1. Utilizar herramienta de creación de modelos 2D y 3D, Interfaces de Programación de Aplicaciones (API) de computación gráfica en múltiples plataformas siguiendo estándares de codificación.
    2. Crear primitivas y mallas, mallas utilizando subdivisión de superficies.
    3. Programar la persistencia, carga y despliegue de una malla en la pantalla.
    4. Utilizar hardware para programar mundos virtuales basados en computación gráfica
    5. Implementar mundos virtuales con modelos basados en primitivas o mallas y una cámara móvil.
    6. Generar una escena fotorealista utilizando un trazador de rayos.
    7. Comparar alternativas de solución para la creación de un mundo virtual.
    8. Diseñar software capaz de visualizar mundos virtuales basados en computación gráfica.
    9. Diseñar, comparar y evaluar interfaces de usuario
  3. Explicar el desarrollo de una aplicación de computación gráfica
    1. Formular un problema relacionado con la creación de la aplicación.
    2. Explicar textual y visualmente los procesos de análisis, diseño y los resultados relacionados con la aplicación.
    3. Resumir, defender y evaluar los resultados

Contenido

Capítulo 1: Fundamentación teórica

Sesión Horas de Clase Tópicos Bibliografía
1 2 Definición de la Computación Gráfica. Historia, aplicaciones, hardware. [1 caps 1, 3, 4, 8]
2 2 Modelos de color, la tubería gráfica, mapas y profundidad de bits. Objetos básicos de la computación gráfica, primitivas, mallas y sus estructura de datos. [1 caps 1, 13, 18][3 caps 3,4]
3 2 Transformaciones geométricas, cuaterniones. [1 caps 5, 21][2 cap 4][3 cap 5]
4 2 Taller de estructuras de datos y transformaciones geométricas. [1 caps 5, 21][2 cap 4][3 cap 5]
5 2 Geometría computacional, triangulación, subdivisión de superficies, extracción de superficies, intersecciones y distancias. [1 cap 12][2 cap 2][7][9]
6 2 El modelo de cámara u observador, modos de proyección. [5 cap 5][1 cap 6][16 cap 3][3 caps 6, 7]
7 2 Modelos de iluminación, materiales, fuentes de luz, transparencia. Texturas de mapas de bit, texturas procedimentales, sombras. [1 cap 15][2 cap 6,8][3 cap 10][1 cap 13][2 cap 7]
8 2 Introducción al trazado de rayos. [3 cap 10][1 cap 16]
9 2 Geometría constructiva de sólidos (CGS), metaballs, extrusiones, superficies de revolución. [3 cap 8][1 cap 20]
10 2 Fundamentos de las imágenes digitales. Intensidad y filtros. [15 caps 1,2,3,4,5]

Total de Horas: 20.

Capítulo 2: Herramientas de la Computación Gráfica

Sesión Horas de Clase Tópicos Bibliografía
11 2 Generación de primitivas en Blender. Transformaciones geométricas en Blender [10]
12 2 Generación de primitivas, transformaciones geométricas, camara en OpenGL [6]
13 2 Generación de primitivas, transformaciones geométricas, camara en OpenGL [6]
14 2 Generación de primitivas, transformaciones geométricas, camara en OpenGL [6]
15 2 Generación de primitivas, transformaciones geométricas, camara en OpenGL [6]
16 2 GLSL. Shader de vértices y pixels[6 cap 15][8]
17 2 GLSL. Shader de vértices y pixels[6 cap 15][8]
18 2 Introducción a otras librerías y herramientas de la Computación Gráfica[5]
19 2 Introducción a otras librerías y herramientas de la Computación Gráfica[5]

Total de Horas: 16.

Capítulo 3: Computación Gráfica en la Red

Sesión Horas de Clase Tópicos Bibliografía
20 2 Tecnologías graficas en la red, introducción y ejemplos. Computación Gráfica en la nube. Computación gráfica Móvil [12 caps 17,18,19] [13][14 caps 1,2,3,4,5,7]
21 2 Tecnologías graficas en la red, introducción y ejemplos. Computación Gráfica en la nube. Computación gráfica Móvil. [12 caps 17,18,19] [13][14 caps 1,2,3,4,5,7]
22 2 Tecnologías graficas en la red, introducción y ejemplos. Computación Gráfica en la nube. Computación gráfica Móvil. [12 caps 17,18,19] [13][14 caps 1,2,3,4,5,7]
23 2 HTML5, WebGL[14 caps 1,2,3,4,5,7]
24 2 HTML5, WebGL[14 caps 1,2,3,4,5,7]
25 2 HTML5, WebGL[14 caps 1,2,3,4,5,7]
26 2 Otras tecnologías para la red[13]

Total de Horas: 14.

Capítulo 4: Fundamentos de Interacción Humano Computadora

Sesión Horas de Clase Tópicos Bibliografía
27 2 Interacción humano computadora, diseño centrado en el usuario. Metodologías.Técnicas y tareas de interacción, tecnologías y tendencias. Principios de diseño GUI.[1 caps 8,9]
28 2 Interacción humano computadora, diseño centrado en el usuario. Metodologías.Técnicas y tareas de interacción, tecnologías y tendencias. Principios de diseño GUI.[1 caps 8,9]
29 2 Medición cualitativa y cuantitativa de interfaces [11 cap 3]
30 2 Interfaces en QT[1 caps 8,9][11 cap 3]
31 2 Interfaces en QT[1 caps 8,9][11 cap 3]

Total de Horas: 10.

Integración Curricular

Resultados de Programa (ABET)

(A) La habilidad para aplicar conocimientos de matemáticas, ciencias e ingeniería.

(B) La habilidad para analizar un problema e identificar los requerimientos necesarios para su definición y solución.

(C) La habilidad para diseñar, implementar y evaluar procesos y sistemas computacionales.

(D) La habilidad para funcionar en equipos de trabajo.

(E) El entendimiento de la responsabilidad profesional y ética.

(F) La habilidad para comunicarse efectivamente.

(G) La habilidad para analizar los impactos de la computación y la ingeniería en las personas, organizaciones y la sociedad.

(H) El reconocimiento de la necesidad de, y la habilidad para, continuar con el desarrollo profesional.

(I) La habilidad para usar las técnicas, destrezas y herramientas modernas para la práctica de la computación.

(J) La habilidad para aplicar los fundamentos y principios de las matemáticas y de la computación en el modelamiento y diseño de sistemas computacionales de manera que se demuestre comprensión de las ventajas y desventajas en las decisiones de diseño.

(K) La habilidad para aplicar los principios de diseño y desarrollo de software en la construcción de sistemas de diferente complejidad.

Relevancia del curso con los resultados de programa

Resultados de Programa
A B C D E F G H I J K
Relevancia 5 4 4 1 3 3

Escala: (1) baja relevancia - (5) alta relevancia.

Integración de objetivos, contenido y metodología del curso

Resultados del Programa Indicadores de Desempeño Objetivos/Contenido del Curso Actividades de aprendizaje Instrumentos de medición
(A) Aplicación de Conocimientos (A1) Identificar los fundamentos científicos y los principios de ingeniería que rigen un proceso o sistema. (Conocimiento) (A2) Resolver problemas relacionados con la disciplina y otras áreas por medio de la utilización de conocimientos, modelos y formalismos de las ciencias de la computación, las matemáticas y la ingeniería. (Aplicación) (A3) Analizar conjuntos de datos. (Análisis) Capítulo 1 Exposiciones del profesor, solución de ejercicios y lecturas Exámenes
(C) Diseño (C1) Utilizar estándares de codificación en la implementación de componentes de software. (Aplicación). (C2) Identificar componentes, interacciones, relaciones e interfaces entre componentes. (Análisis). Capítulos 2,3,4 Solución de ejercicios y lecturas Proyectos y tareas
(F) Comunicación efectiva (F1) Producir textos de manera efectiva teniendo en cuenta la estructura, coherencia, flujo, ortografía y correcto uso del lenguaje. (Aplicación). (F2) Comunicarse de manera efectiva de acuerdo al público objetivo haciendo uso correcto del lenguaje, estilo, tiempo y expresión corporal. (Aplicación). (F3) Utilizar recursos gráficos para comunicar y expresar una idea. (Aplicación). (F4) Defender ideas con precisión y claridad. (Evaluación). Capítulos 2,3,4 Proyectos y tareas Presentaciones orales y reportes escritos
(H) Desarrollo profesional. (H1) Reconocer la importancia del conocimiento tanto en amplitud como en profundidad. (Compresión). Capítulo 1 Tareas Tareas
(I) Uso de herramientas y técnicas (I1) Utilizar herramientas de desarrollo de software. (Aplicación). (I2) Utilizar herramientas de diseño, modelamiento y simulación. (Aplicación). (I3) Combinar herramientas de software y hardware para resolver un problema. (Síntesis). (I4) Demostrar flexibilidad para adaptarse a diferentes paradigmas y lenguajes de programación. (Valuación). Capítulos 2,3,4 Laboratorios y lecturas Proyecto y tareas
(J) Modelamiento y diseño de sistemas computacionales (J1) Reconocer la importancia del modelamiento cuando se resuelve un problema. (Compresión). (J2) Relacionar conceptos y principios teóricos para la resolución efectiva de un problema. (Síntesis). Capitulos 2,3,4 Lecturas Proyectos y tareas

Recomendaciones del Director del Programa

Reglas del curso

Calificación y Balance de Evaluación del Curso

Instrumento Porcentaje A B C D E F G H I J K
Parcial 25 % 25 %
Proyecto 30 % 10 % 5 % 15 %
Reportes 10 % 10 %
Presentación y discusiones 10 % 10 %
Tarea 5 % 5 %
Talleres 20 % 10% 10 %

Uso de material en exámenes

Está permitido el uso de calculadoras, computadores personales, tabletas, teléfonos celulares, notas de clase y libros.

Asistencia

Obligatoria. Se llamará a lista durante los primeros 10 minutos. Se solicitará mantener celulares, reproductores de música, consolas de videojuegos personales, computadoras y tabletas apagados a menos que la clase requiera su uso. Las sesiones prácticas están relacionadas a algún taller. No hay aplazamiento de fechas de ninguna entrega ni evaluación

Bibliografía

  1. Computer Graphics: Principles and Practice in C (2nd Edition) by James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes, 1995
  2. 3D computer graphics. - 3ed. Alan Watt. 2000. Addison Wesley
  3. Computer graphics with OpenGL. - 3ed. Donald Hearn. 2004
  4. 3D games : real-time rendering and software technology. - 1ed. Alan Watt, Fabio Policarpo. 2001. Addison Wesley
  5. OpenGL programming guide : the official guide to learning OpenGL, versión 2 - Addison-Wesley Publishing Company. 2006.
  6. Computational Geometry: Algorithms and Applications by Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars, 2008
  7. GPU Gems 3 by Hubert Nguyen, 2007
  8. Navarro Newball, A. A., Wyvill, G., and McCane, B. (2008). Efficient Mesh Generation Using Subdivision Surfaces. Sistemas & Telematica, 6 (12), 111–126.
  9. Blender Foundation. www.blender.org
  10. Diseño de sistemas interactivos : la importancia de nuestra relación con las computadoras. Raskin, Jef (2001)
  11. XNA Game Studio 4.0. Rob Miles. Microsoft. 2001
  12. Professional WebGL Programming: Developing 3D Graphics for the Web. Andreas Anyuru (2012)
  13. Digital image processing (3ed.) (c2008)González, Rafael C. Woods, Richard Eugene, 1954- (Autor Personal)Pearson Education, c2008

Instalaciones

Salón de clase con computador y proyector. Laboratorio de Ingeniería de Sistemas y Computación.

Material de este semestre

 
materias/compugrafica/compugrafica.txt · Última modificación: 2015/10/23 09:40 por alexvalencia
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki