00
Benemérita Universidad
Autónoma de PueblaFacultad de Ciencias de la
Computación
GraficaciGraficacióónn
J. Arturo Olvera LJ. Arturo Olvera LJ. Arturo Olvera LJ. Arturo Olvera Lóóóópezpezpezpez
[email protected]@[email protected]@cs.buap.mx
11
Introducción
22
Graficación (Evolución)
�Desde tiempos remotos, la utilidad de
herramientas visuales
�Descriptivo, fácil comprensión-Realismo-Efectos de relieve-Efectos de luz
33
Graficación
�Comprensión/Descripción/ Visualización de
conceptos
44
Graficación
55
Graficación
[Blundell, 2008]:
66
Graficación
� Aplicaciones:
�Simuladores
�Medicina
�Juegos
�Cartografía
�Etc, Etc.
77
Graficación
88
Graficación� Aplicación común:
Otros
1010
Dispositivos para visualización
11
CRT
1212
Hardware
�CRT (Cathode Ray Tube)
� Finales del siglo XIX Fósforo:
Persisitencia 10-60 µseg
1313
Hardware
�CRT- Máscara de Sombra
� Trinitron
1414
Monitores Planos
� PLASMA
� Tubo de gas
1515
PLASMA
Gas:-Neón-Xenón-Helio
Radiación no
visible
1616
LCD (Liquid Crystal Display)Cristal líquido Nemático
1717
LED
� Ligth-Emmiting Diod� RGB
� RGBY
� OLED
1818
Visualización 3D
�Codificación cromática (Anaglifos)
� Par de imágenes
1919
Visualización 3D
�Otras técnicas
�Dispositivos:
�Lentes
�Realidad aumentada
�Realidad Virtual
2020
GPU
(Graphics Processing Unit)
2121
GPU
� Inicios:
� Silicon Graphics International
�Surge en 1982
�1992-> Libera
�A mediados de 1990 proliferan juegos 3D:
2222
GPUs� Las tareas gráficas consumen recursos (procesador)
� A partir del año 2000, aparecen las primeras GPU:�Cada ALU producía un color por pixel (x,y) y un dato pixel shader
2323
GPUs� NVIDIA (a partir de 2006):
�Plataforma CUDA para GPU
� Cada ALU puede:
- llevar a cabo operaciones simples de precisión
flotante
- Acceso de R/W en memoria
- Acceso a memoria compartida (Cache controlado
por software)
- Por tanto cada unidad en GPU -> Núcleo
� CUDA: C, C++, Fortran, Phyton, Java
2424
GPU/CUDA
�Resolver problemas de manera paralela
25
ATI ATI Radeon™ HD 4870 X2
1600 streaming units
ATI Radeon™ HD Serie 4870800 streaming units
OpenCL
2727
Graficación 2D
2828
Primitivas
� Primitivas geométricas
� Primitivas gráficas
�Necesidad de representación de puntos
� Sistemas de coordenadas�Cartesianas
�Polares
�Homogéneas
2929
Coordenadas cartesianas
3030
Coordenadas Polares
3131
Coordenadas cilíndricas
� P(θ,ρ,z)
ρ
32
Coordenadas esféricas
�P(r,θ,ϕ)
3333
Primitivas Gráficas
3434
Primitivas gráficas� Línea
� Elipse
� Poli línea
� Polígono
�Estilos
�ColoresPen, Brush
3535
Color
3636
Espectro Electromagnético (EE)
� EE: Conjunto de ondas (senoidales)
electromagnéticas que viajan a la velocidad
de la luz
� Isaac Newton (Siglo XVII) -> La luz solar a
través de un prisma emite un rayo de color
(violeta-rojo)
� El EE se expresa en términos de la longitud
de onda (λ) y frecuencia (v)c= velocidad de la luz
(2.998 X 108 m/s)
3737
Espectro Electromagnético (EE)
�Ondas electromagnéticas: Partículas
viajando en forma de ondas, cada
partícula tiene cierta cantidad de energía
(fotónes)
� Se categorizan de acuerdo:
�Longitud de onda
�Frecuencia
�Energía
3838
Espectro Electromagnético (EE)
-Violeta-Azul-Verde -Amarillo-Naranja-Rojo
39
Ojo Humano
Conos: 6-7 Millones (colores)
Bastones 75-150 millones (niveles bajos de iluminación)
4040
Espectro Electromagnético (EE)
�Colores que el ojo humano percibe en un objeto: Luz que un objeto refleja (rechaza)
� La luz que carece de color se le denomina monocromática (acromática)�Este tipo de luz solo tiene el atributo intensidad
�Escala de grises: [Blanco, Negro]
-Refleja la luz cuya longitud de onda es 500-570nm-Absorbe la energía en las otras longitudes de onda
4141
Modelos de color
4242
Modelos de color
4343
Modelos de color
RGB
4444
Modelos de color
Cubo 8-bits
4545
Modelos de color
FFFFFF
FFFFCC
FFFF99
?
4646
Otros modelos de Color
CMY (Cian, Magenta, Yellow)
- Usualmente utilizado en impresión
HSI (Hue, Saturation, Intensity), (Ton., Pur., intens.)
-El más cercano a la manera en que se interpreta el color en los humanos
Color (Tono)
Pureza Brillo
4747
HSI
48
Coordenadas de pantalla
� Espacio en que se representa/visualiza
elementos geométricos al usuario
4949
Líneas
5050
Líneas�DDA (Digital Differential Analizer)
51
DDA
5252
Líneas� Bresenham:
�Digitalización de líneas
5353
Líneas
� Bresenham:
54
Pseudo código (Bresenham)
5555
Líneas� Ejemplo: (20,10)->(30,18)
56
Bresenham
� ¿Qué se hace cuando |m|>1?
�Se procede de manera análoga que en DDA