Introducción - Asignaturas DIICC, UdeC

Anuncio
Taller de Computación Gráfica
Capítulo I.- Introducción
I.1.- Aplicaciones de la CG
Las aplicaciones de la computación gráfica son muy diversas,
abarca áreas muy técnicas como lo es la visualización científica o
ingenieril y se aplica a áreas menos tradicionales como el arte y la
fotografía. Veamos algunas aplicaciones y expresiones de éstas a
continuación:
GUIs
Graficación
Im p a c to S o c ia l d e P o lític a s E c o n ó m ic a s
% e s ta b ilid a d
5
R e n ta s
N ro .h ijo s
4
3
2
1
0
N ro .h ijo s
A
B
Profesor : Javier Vidal Valenzuela
C1
C2
% e s ta b ilid a d
C3
D
E
Taller de Computación Gráfica
Visualización
Cartografía
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Medicina
CAD
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Multimedios
Entretenimiento
Arte
I.2.- Clasificación de Aplicaciones
2D y 3D
(líneas vs mallas, grises y colores vs idem + sombras +
luces + otros efectos)
Tipos de interacción
Se refiere al grado de control de los usuarios,
por tanto se tiene:
Off line
: Como al escanear
Interactividad
: Cambiando parámetros y
redibujando
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Tiempo real
: Como en visualización o
simulación
Objetivos del producto
Se refiere a si el producto obtenido es objetivo
de la aplicación de técnicas de CG o es sólo un
producto
intermedio.
Aquí
se
puede
diferenciar:
♦ Producto
final,
como
en
cartografía,
bosquejos, animaciones, arte, etc.
♦ Producto intermedio
Relación lógico temporal entre objetos y sus imágenes
♦Sólo una imagen a la vez
♦Una secuencia de imágenes variable en el tiempo
♦Conjuntos de objetos relacionados
I.3.- Tecnologías de salida
Los dispositivos de despliegue desarrollados a mediados de los
60s y de uso común hasta mediados de los 80s son denominados
vectoriales. En este contexto el término vector es usado como sinónimo
de línea o trazo, de hecho las líneas curvas son aproximadas con un
conjunto de trazos, es más, los mismos caracteres son aproximados con
pequeños de estos trazos.
Un sistema vectorial consiste de un procesador de despliegue
conectado como un periférico de E/S a la UCP, conectado también al
buffer de memoria de despliegue y a un monitor CRT (Cathode Ray
Tube). El buffer almacena el despliegue producido por el computador,
este contiene comandos para el trazado de líneas y puntos, usando
coordenadas (x, y) o (x, y, z) y además comandos para el trazado de
caracteres.
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Los comandos para trazar puntos, líneas y caracteres son
interpretados por el procesador de despliegue, éste envía coordenadas
digitales y puntos a un generador de vectores que convierte el valor de
las coordenadas digitales a voltajes análogos, los que van al circuito de
deflexión del rayo de electrones (*** ver si va figura explicativa***).
La esencia de un sistema vectorial es que el rayo de electrones es
deflectado desde un extremo al otro de acuerdo a las órdenes dictadas
por los comandos de despliegue. Esta técnica se denomina rastreo
aleatorio (random scan).
Como el brillo del fósforo de los monitores CRT decae, de debe
restaurar la intensidad de la imagen proyectada refrescando el
despliegue unas 30 veces por segundo (30 HZs), para ello el procesador
de despliegue repasa las órdenes almacenadas en el buffer de despliegue.
A mediados de los 70s se desarrollaron los gráficos de barrido,
esto consiste en el almacenamiento de los píxeles comoponentes de las
imágenes en una memoria de refrescamiento. La imagen completa en
una pantalla de barrido se forma a partir de una trama, la cual consiste
en un conjunto de líneas de rastreo horizontales, cada una
correspondiente a una fila de pixeles de la pantalla, así una imagen en el
buffer de refresco es una matriz de bits 1 cuyo tamaño en filas es igual al
número de filas de pixeles del monitor y cuyo número de columnas
corresponden al número de columnas de pixeles de la pantalla.
1 El número de bits por cada elemento de esta matriz depende del número de colores
que pueden ser desplegados, en el caso más simple de un monitor en blanco y negro
sólo se requiere un bit de representación, sin embargo, actualmente existe la
posibilidad de almacenar 24 bits ó más por cada pixel desplegado.
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Los sistemas de barrido tienen menor costo que los sistemas
vectoriales, fundamentalmente por que el tamaño de la memoria
requerida para el despliegue en el primer caso es fija y depende sólo de
la resolución del despliegue, en cambio en los sistemas vectoriales el
tamaño de la memoria depende del número de objetos desplegados y de
su complejidad. Por otro lado, los sistemas de barrido permiten la
representación de figuras que tienen colores de relleno sólidos y bien
usan patrones de relleno, lo cual es fundamental para el trabajo con
imágenes fotorealistas.
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
I.4.-
Marco conceptual para la graficación
interactiva
En la especificación de este marco conceptual nos referiremos
fundamentalmente al software, distinguiremos 3 componentes:
El modelo de aplicación que permite la representación de los
datos u objetos que son dibujados sobre la pantalla, esto es, por ejemplo
los
distintos
formatos
para
almacenar
imágenes
dibujadas
o
digitalizadas, el modo de almacenar los datos de un gráfico realizado con
una planilla electrónica o un plano arquitectónico realizado con una
herramienta CAD, etc.).
El programa de aplicación permite crear, almacenar y
recuperar los datos desde el modelo de aplicación, también recibe las
entradas de la interacción del usuario y genera vistas de los datos, las
cuales son enviadas al sistema gráfico a través de una serie de comandos
que describen la geometría del objeto a desplegar y de la forma en que
debe ser desplegado.
El sistema gráfico es el responsable de producir la salida gráfica,
siendo intermediario entre el programa de aplicación y el hardware de
despliegue produce la transformación de salida desde los objetos en el
modelo de la aplicación a la vista del modelo. También se encarga de
transformar las entradas o acciones del usuario a entradas del programa
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
de aplicación, las que causarán transformaciones en el modelo o
simplemente en el despliegue.
I.1.1.-
Modelo de aplicación
Captura todos los datos, objetos y relaciones entre estos, los que
son necesarios para interactuar desde el programa de aplicación o desde
cualquier modelo no gráfico
de postprocesamiento (por ejemplo,
simulación de un modelo de crecimiento de población, de clima, etc.).
Un modelo de aplicación puede ser tan rudimentario como un
arreglo de puntos o tan complejo como listas enlazadas que representan
una red de estructuras de datos o relaciones en un sistema de bases de
datos, etc.
Los modelos típicamente almacenan descripciones de primitivas
(puntos, líneas, polígonos, bi o tridimensionales, polihedros y superficies
en 3D) que definen la forma de los componentes del objeto.
También almacenan atributos de los objetos (estilos de líneas,
color, textura de superficies) y relaciones de conectividad y datos de
posicionamiento que indican como los objetos se unen entre sí.
Modelo de la aplicación = datos de geometría + datos no
geométricos.
I.4.1.-
Descripción de lo visto por el sistema
gráfico
El programa de aplicación crea el modelo de la aplicación, como
resultado de cálculos, por ejemplo, realizados por un supercomputador
durante una simulación científica o en ingeniería, o bien como parte de
una sesión interactiva con dispositivos de E/S (en este caso, el usuario
selecciona paso a paso datos geométricos y no geométricos de los
componentes).
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Los modelos son específicos a las aplicaciones y son creados
independientemente de cualquier sistema particular de despliegue. Por
lo tanto, el programa de aplicación debe convertir una descripción de la
parte del modelo que será vista, desde su representación interna de la
geometría a llamadas a procedimientos o comandos del sistema gráfico
usados para crear una imagen.
Este proceso de conversión tiene 2 faces:
1. El programa de aplicación recorre la base de datos de la aplicación
que almacena el modelo y usando algún criterio de selección y de
consulta extraerá la parte que será vista.
2. La geometría extraída es puesta en formato que pueda ser enviado al
sistema gráfico.
Los datos extraídos desde la base de datos pueden ser da
naturaleza geométrica o deben ser convertidos a datos geométricos.
Generalmente, los datos geométricos extraídos o calculados a
partir del modelo coinciden con las primitivas usadas por el sistema
gráfico.
I.4.2.-
Manejo de la interacción
El programa de aplicación típicamente administra la interacción
como un sistema dirigido por eventos, el cual es caracterizado por el
siguiente algoritmo:
generar pantalla inicial
do {
seleccionar mandato (selección de objeto)
wait selección del usuario
switch {
procesar la selección
actualizar el modelo
actualizar la pantalla
}
} while (!salir);
Profesor : Javier Vidal Valenzuela
Descargar