Introducción a la Computación Gráfica

Introducción a la
Computación Gráfica
Andrea Rueda
Pontificia Universidad Javeriana
Departamento de Ingeniería de Sistemas
Profesora
Andrea Rueda
Ed. José Gabriel Maldonado, S.J., 3er piso,
Departamento de Ingeniería de Sistemas
●
–
Martes, 10am a 12m
–
Jueves, 2pm a 4pm
Contacto:
[email protected]
correos deben incluir en el asunto “[ICG]”, si no, se
asumen como no recibidos
Curso
●
Página del curso:
sophia.javeriana.edu.co/~rueda-andrea/intrCoGr
●
–
Programa del curso, planeación de sesiones, notas
–
Diapositivas contenidos, enunciados talleres, proyecto
Página del curso en Uvirtual:
uvirtual.javeriana.edu.co
–
Enunciado, envío de talleres
–
Enunciado, desarrollo de parcial
–
Envío entregas proyecto
Metodología
●
Clases magistrales (presentación de temas)
●
Talleres de aplicación de conceptos
●
Evaluación: parcial, proyecto final
●
Trabajo individual:
–
Tareas y ejercicios
–
Preparación de clases
–
Preparación de talleres
–
Proyecto final
Fechas importantes
●
Examen parcial: martes 7 de abril de 2015
●
Proyecto
–
Primera entrega: martes 3 de marzo de 2015
–
Segunda entrega: martes 21 de abril de 2015
–
Entrega final y sustentación: martes 2 de junio de
2015
Talleres
●
Taller 1: martes 10 de febrero de 2015
●
Taller 2: martes 3 de marzo de 2015
●
Taller 3: martes 24 de marzo de 2015
●
Taller 4: martes 21 de abril de 2015
●
Taller 5: martes 12 de mayo de 2015
Para cada taller el enunciado se entregará una
semana antes
Talleres
●
●
Cada sesión de clase con taller (salvo la última)
se divide en 3 horas:
–
1ra hora: clase magistral
–
2da hora: trabajo individual
–
3ra hora: sustentación del taller
Talleres se realizarán de forma individual (a
menos que se indique alguna disposición
especial)
Proyecto final
●
●
Proyecto final se realizará de forma individual
Objetivo: simular el movimiento de un animal
dado por información en archivos de texto
–
Análisis de marcha, captura de movimiento
https://www.youtube.com/watch?v=yXpgYxAkLA0
https://www.youtube.com/watch?v=cVnuFxQNEJk
Temas a tratar
Semana
1
Temas
Introducción a la computación gráfica
2
Sistemas de referencia, vectores, matrices
Introducción a OpenGL
3
4
5
Primitivas gráficas 2D: líneas y polilíneas
Modelado explícito, implícito
Representaciones paramétricas
Rastreo y recorte de primitivas
6
7
8
9
Transformaciones 2D
Transformaciones 3D
Visualización 3D: vistas, cámaras
Proyecciones
Temas a tratar
Semana
Temas
10
Parcial 1
11
Representación / modelado de objetos, superficies,
sólidos
Teoría del color y la percepción
12
13
15
Representación / modelado de objetos, superficies,
sólidos
Superficies visibles - caras ocultas
Modelos de iluminación y sombreado
Taller 5
16
Herramientas 3D
14
17
18
Entrega proyecto
Recomendaciones
●
●
●
Dedicación, trabajo honesto y sincero
Rigor y formalidad propios del trabajo en
Ingeniería
Siempre usar citaciones y referencias
pertinentes de los medios consultados
●
Puntualidad en las clases
●
Intuición, recursividad, inquietud por aprender
●
Aprovechar los medios de contacto ante
cualquier inquietud, sugerencia, problema, ...
¿Inquietudes?
¿Sugerencias?
¿Comentarios?
...
¿De qué trata este curso?
¿De qué trata este curso?
●
No es sólo geometría computacional
●
No es sólo un curso de OpenGL
●
Conceptos básicos de computación gráfica
para incentivar la exploración individual
Algunos ejemplos...
Visualización científica
https://www.youtube.com/watch?v=eJy5dHMY-S4
Simulación
https://www.youtube.com/watch?v=LYn9QBUSkQA
Diseño Gráfico
https://www.youtube.com/watch?v=KEn4vx4yDMQ
Visualización Médica
https://www.youtube.com/watch?v=mo9Ecb6u2cA
Videojuegos
https://www.youtube.com/watch?v=c0o6BPYKBiA
Diseño Asistido por Computador
https://www.youtube.com/watch?v=Fyd8ld2s76A
Realidad Virtual
https://www.youtube.com/watch?v=v-mK5oNkr-I
¿Qué es
Computación Gráfica?
Computación gráfica
●
●
●
●
Gráficos por computadora
Representación de datos de forma gráfica
utilizando un computador
Creación, almacenamiento y manipulación
(interacción) de modelos, imágenes y objetos
Aplicaciones en física, matemática, ingeniería,
arquitectura, fenómenos naturales, medicina,
entretenimiento, publicidad, ...
Visualización científica
●
●
●
●
Visualización de grandes
cantidades de información
Estudio del comportamiento
de procesos complejos
Presentar de manera concisa
y significativa las tendencias
y patrones de los datos
Facilitar la toma de
decisiones informadas
A. Antillón and J.V. José, Optics Comm. 208 (2002) 145-153
Simulación
●
●
●
Estudiar entidades
matemáticas
abstractas,
fenómenos naturales
Animaciones de
diversos tipos
Realizar predicciones,
analizar
comportamientos
www.opendx.org/highlights.php?
highlight=inaction/oceanography/
Diseño gráfico
●
●
Producir imágenes
que expresen un
mensaje y atraigan
la atención
Diseños y
animaciones
fotorrealistas de
productos o
escenas
http://www.homedesigning.com/2009/03/kids-roomdesigns-set-8
Visualización médica
●
●
Representaciones
precisas y/o
esquemáticas de
fenómenos médicos y
clínicos
Facilidad para
identificar y visualizar
procesos, funciones
de órganos, tejidos y
patologías
http://www.gopixpic.com/413/human-headanatomy-with-external-and-internal-carotid-arteries
Videojuegos
●
●
Simulaciones,
efectos especiales,
herramientas para
introducir realismo y
fantasía a la vez
Sistemas de
interacción con el
usuario para el
control de los
videojuegos
http://www.mcmbuzz.com/2011/12/01/vid
eogames-are-not-just-for-christmas/
http://www.deviantart.com/tag/videogames
Diseño asistido por computador
●
●
●
Diseño y visualización de
componentes o sistemas
mecánicos, electrónicos,
estructurales
Interacción con modelos
de los objetos o sistemas
para analizar sus
propiedades particulares
Facilitan la estimación de
los materiales a usar
cad-ti.blogspot.com/2011/05/elementosde-los-sistemas-cad.html
Realidad virtual
●
●
Inmersión en un
entorno simulado
Dispositivos
especializados
facilitan la interacción
con los objetos
virtuales
http://www.medscape.com/viewarticle/721680
www.metaversed.com/home/attachment/audistandort-ingolstadtcave-des-vorseriencentersvirtual-reality-system-zur-einbau-undmontage-simulation/
Gráficos
Visión
Percepción
Percepción
iluminación
reflectancia
www.ledsmagazine.com/articles/print/volume-10/issue-2/features/understand-color-scienceto-maximize-success-with-leds-part-4-magazine.html
Percepción
dot-color.com/2013/07/16/how-much-color-gamut-do-displays-really-need-part-2how-we-perceive-color/
Percepción
Conceptos involucrados
●
Física
–
Iluminación
●
–
Reflexión
●
●
●
Espectro electromagnético
Materiales
Geometría
Percepción
–
Fisiología y neurofisiología
–
Sicología de la percepción
Fisiología del ojo
www.eyecontactvisioncenter.net/eyecare/your-vision/
Fisiología del ojo
wps.prenhall.com/ca_ph_wade_psychology_2/46/11888/3043529.cw/content/index.html
Fisiología del ojo
www.webexhibits.org/causesofcolor/1G.html
Fisiología del ojo
askabiologist.asu.edu/rods-and-cones
Sistema visual humano
wine4soul.files.wordpress.com/2012/10/visual_pathway.jpg
Sistema visual humano
wine4soul.files.wordpress.com/2012/10/visual-cortex.jpg
Percepción
Ilusiones ópticas – imágenes ambiguas
en.wikipedia.org/wiki/Perception
Percepción
Tonos medios (halftoning)
www.leftcoast.com/info/artwork-guidlines.php
Percepción
Tonos medios (halftoning)
Percepción
Tonos medios (halftoning) en color
en.wikipedia.org/wiki/Halftone
¿Y cómo empezó?
Algo de historia
●
Aplicaciones militares
Pantallas CRT (radares) y lápiz electrónico
●
–
1951: Whirlwind (MIT), visualización de aviones
–
1955: SAGE (MIT), sistema de defensa aérea
1959, sistema de diseño asistido por
computador (General Motors – IBM)
Descripción 3D de automóviles, posibilidad de
rotación y visualización a varios ángulos
Algo de historia
●
●
●
●
1960: Primer uso del término “gráficos por
computador”, William A. Fetter (Boeing),
simulaciones de cabinas
1963: Sketchpad (MIT), dibujo interactivo en
monitores con lápices electrónicos
1963: Invención del ratón, Doug Englebart
(Stanford Research Institute)
1967-1968: inicios de la investigación en
gráficos por computador en varias
universidades
Algo de historia
●
●
●
●
1969: inicio del grupo de interés especial en
gráficos SIGGRAPH – ACM
1969: desarrollo del concepto de interfaz
gráfica de usuario, Alan Kay (PARC, Xerox)
1973: Westworld, primera película con
animaciones 2D
1977: Introducción de la categoría de Efectos
Visuales en los premios Oscar
Algo de historia
●
●
●
1982: fundación de Silicon Graphics Inc.,
Adobe Systems y Autodesk (AutoCAD)
1982: Tron, la primera película con 15 minutos
de gráficas 3D completamente generadas por
computador
1984-1985: The Adventures of André and Wally
B. y Luxo Jr., los primeros cortos
completamente animados por computador
Algo de historia
●
●
●
●
1986: creación de Pixar como compañía
separada
1989: liberación del sistema Pixar's RenderMan
1991: La bella y la bestia, primera película con
combinación de personajes animados a mano y
objetos 3D animados por computador
1992: liberación de la Open Graphics Library
(OpenGL) por Silicon Graphics
Algo de historia
●
●
●
1995: Toy Story, la primera película
completamente animada por computador
1996: Quake, juego de video con modelos 3D
en un espacio realmente 3D
2001: Final Fantasy – The Spirits Whitin,
primera película con actores digitales
fotorrealísticos
Interacción
Dispositivos de entrada
●
●
Elementos con los que el usuario entrega
información al sistema computacional
Retos en computación gráfica:
–
Paquetes gráficos independientes de los
dispositivos
–
Nuevas (y mejores) formas de interactuar con el
sistema
Dispositivos de entrada
Teclado
Ratón
commons.wikimedia.org/wiki/File:Wireles
s_Media_Center_keyboard_FK-760.JPG
en.wikipedia.org/wiki/File:Mouse_mechan
ism_diagram.svg
Dispositivos de entrada
Trackball
commons.wikimedia.org/wiki/File:Trackba
ll-Kensington-ExpertMouse5.jpg
Spaceball
en.wikipedia.org/wiki/File:SpaceNavigator.jpg
Dispositivos de entrada
Tableta gráfica
–
Herramienta de
artistas
–
Alta precisión y
resolución
graphicstabletswiki.blogspot.com/2013/02/mos
t-people-jump-right-into-searching.html
en.wikipedia.org/wiki/File:Wacom_Bambo
o_Capture_tablet_and_pen.jpg
Dispositivos de entrada
Cámara digital
–
Captura línea por
línea
–
Alta resolución
–
Alta sensibilidad a la
luz
–
Algoritmos
complementarios para
diferentes efectos
en.m.wikipedia.org/wiki/File:Nikon_D700
0_Digital_SLR_Camera_05.jpg
Dispositivos de entrada
Escáner digital
–
Sensor lineal que se
mueve sobre la
imagen
–
Muy alta resolución
–
Especial sensibilidad
al color
en.wikipedia.org/wiki/File:Scanner.view.750pix.jpg
Dispositivos de entrada
Escáner láser
–
Recorre un objeto con
un láser y determina
distancias como radar
–
Genera una
reconstrucción en
superficie de puntos
–
Para incorporar color
y textura, se combina
con una cámara
en.m.wikipedia.org/wiki/File:VIUscan_ha
ndheld_3D_scanner_in_use.jpg
●
Joystick o palanca
●
Guante de datos
●
Panel o pantalla táctil
●
Lápiz óptico
●
Tomógrafos, resonadores
●
...
fr.m.wikipedia.org/wiki/Fichier:Optical_pen.JPG
commons.wikimedia.org/wiki/
File:Joystick_01_KMJ.jpg
Dispositivos de entrada
Dispositivos de visualización
●
●
Visualización 2D
–
Monitores CRT, LED, cristal líquido, …
–
Proyectores (video beam)
–
Impresoras (pequeño, mediano, gran formato)
Visualización 3D
–
Proyección estereoscópica
–
Hologramas
–
Pantalla virtual de retina
Dispositivos de visualización 2D
●
●
●
●
Partición del espacio de visualización en una
grilla rectangular de pixeles (picture elements)
Cada pixel representa un valor de color
(monocromo, RGB, …)
La información a visualizar se almacena en un
búfer de imagen
La resolución efectiva es el máximo número de
puntos que se pueden visualizar sin sobrelape
Dispositivos de visualización 2D
●
Tubo de rayos catódicos (CRT)
en.m.wikipedia.org/wiki/File:Cathode_ray_tube_diagram-en.svg
Dispositivos de visualización 2D
●
Pantalla por barrido de líneas
D. Hearn, M.P. Baker. Gráficos por computadora con
OpenGL, 3a edición. Pearson Prentice Hall, 2006.
Dispositivos de visualización 2D
●
Tipos de barrido
Barrido completo
Barrido entrelazado
presentationmaster.digitalmedianet.com/article/High-Definition--A-Primer-38650
Dispositivos de visualización 2D
●
Tipos de barrido
Barrido completo
Barrido entrelazado
presentationmaster.digitalmedianet.com/article/High-Definition--A-Primer-38650
Dispositivos de visualización 2D
●
Barrido aleatorio (pantallas vectoriales)
D. Hearn, M.P. Baker. Gráficos por computadora con
OpenGL, 3a edición. Pearson Prentice Hall, 2006.
Dispositivos de visualización 2D
●
Generación del color
obsoletetellyemuseum.blogspot.com/2010/0
6/cathode-ray-tube-displays-case-study.html
computer.howstuffworks.com/monitor7.htm
Dispositivos de visualización 2D
●
Pantallas planas
–
Dos capas de
conductores
horizontales y
verticales
–
Una capa de material
(determina el tipo de
pantalla: cristal
líquido, plasma, LED)
www.langbein.org/publish/graphics/I/G-02I_2-handout.pdf
Dispositivos de visualización 3D
●
Pantalla de visualización 3D con espejo
vibrante
P.H. Mills, H. Fuchs, S.M. Pizer. High-Speed Interaction On A Vibrating-Mirror 3D
Display, Proc. SPIE 0507, 1984
Dispositivos de visualización 3D
●
Generación de hologramas
en.wikipedia.org/wiki/Hologram
Dispositivos de visualización 3D
●
Proyección de
hologramas
en.wikipedia.org/wiki/Hologram
Dispositivos de visualización 3D
Proyección
estereoscópica
●
●
Simulación de
profundidad
Utilización de dos
vistas, que se
presentan a cada ojo
del observador
www.popsci.com/gadgets/article/201301/ces-2013-oculus-rifts-virtual-realityheadset-freaking-amazing
en.wikipedia.org/wiki/Stereo_display
Referencias
●
●
●
●
D. Hearn, M.P. Baker. Gráficos por computadora con
OpenGL, 3a edición. Pearson Prentice Hall, 2006.
J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes.
Computer graphics: principles and practice, 2nd edition in
C. Addison-Wesley, 1996.
en.wikipedia.org/wiki/Computer_graphics
graphics.cs.unisaarland.de/fileadmin/cguds/courses/ws1011/cg1/slides/C
G01-History_Applications.pdf
●
garryowen.csisdmz.ul.ie/~cs4815/resources/lect02.pdf
●
www.langbein.org/publish/graphics/I/G-02-I_2-handout.pdf