Teoría de Computación Gráfica I
T004: Algoritmo de dibujo de Línea
La documentación puede encontrarlo para descargarlo en la parte inferior. |
T003: Primitivas Gráficas
Los API gráficos son bibliotecas de funciones gráficas que pueden ser utilizadas en un lenguaje de programación (C++, java, C#) para crear aplicaciones gráficas. Para crear una imagen primeramente se describe los componentes individuales de una escena gráfica, luego cada uno de los componentes son descritos por primitivas geométricas que utilizan puntos, Líneas, círculos, superficies, curvas spline, Poli líneas, de esa manera se utilizan las primitivas gráficas. 2.1. Sistemas de Coordenadas de Referencia Para describir una imagen primero es necesario seleccionar un sistema de coordenadas de referencia del mundo que pueden ser 2D ó 3D. Después, se describen los objetos de la imagen proporcionando sus especificaciones geométricas en términos de la posición dentro de las coordenadas. La descripción de la escena almacena esas posiciones junto con otros datos de los objetos de la imagen, como por ejemplo, extensión de coordenadas (Recuadro de contorno), color. Seguidamente las Rutinas de visualización, se encargan de representar la imagen en el dispositivo de visualización en base a la correspondencia de posiciones de píxeles dentro del buffer de la imagen. Coordenadas de pantalla Las ubicaciones sobre un monitor de vídeo se describen mediante coordenadas de pantalla que son números enteros y que se corresponden con las posiciones de píxel dentro del búfer de imagen. Los valores de las coordenadas de píxel proporcionan el número de línea de exploración (el valor y) y el número de columna (el valor x) dentro de una línea de exploración. Los procesos hardware, como el de refresco de pantalla, normalmente direccionan las posiciones de píxel con respecto al extremo superior izquierdo de la pantalla. Las líneas de exploración se identifican por tanto comenzando por 0, en la parte superior de la pantalla, y continuando hasta un cierto valor entero, ymax, en la parte inferior de la pantalla, mientras que las posiciones de píxel dentro de cada línea de exploración se numeran desde 0 a xmax, de izquierda a derecha. Sin embargo, con una serie de comandos software, podemos configurar cualquier sistema de referencia que nos resulte cómodo para las posiciones de pantalla, o bien podríamos utilizar valores cartesianos no enteros para describir una imagen. Los valores de coordenadas que se utilicen para describir la geometría de una escena serán convertidos por las rutinas de visualización a posiciones de píxel enteras dentro del búfer de imagen. Los algoritmos de líneas de exploración para las primitivas gráficas utilizan las descripciones de coordenadas que definen los objetos para determinar la ubicación de los píxeles que hay que mostrar. Por ejemplo, dadas las coordenadas de los extremos de un segmento de línea, un algoritmo de visualización debe calcular las posiciones para los píxeles comprendidos en la línea definida entre los dos puntos extremos. Puesto que una posición de píxel ocupa un área finita en la pantalla, es preciso tener en cuenta ese tamaño finito de los píxeles dentro de los algoritmos de implementación. Por el momento, vamos a suponer que cada posición entera en la pantalla hace referencia al centro de un área de píxel. Una vez identificadas las posiciones de los pixeles para un objeto, hay que almacenar los valores de color apropiados dentro del búfer de imagen. Con este propósito vamos a suponer que tenemos disponible un procedimiento de bajo nivel de la forma: setPixel(x,y); Este procedimiento almacena el valor actual de color dentro del búfer de imagen, en la posición entera (x,y), relativa a la posición seleccionada para el origen de las coordenadas de la pantalla. En ocasiones, se hace necesario también consultar el valor actualmente almacenado en el búfer de imagen para una determinada ubicación de pixel. Por tanto, vamos a suponer que se dispone de la siguiente función de bajo nivel para obtener un valor de color del búfer de imagen: getPixel(x, y,color); En esta función, el parámetro color recibe un valor entero que se corresponde con los códigos RGB combinados almacenados para el píxel especificado en la posición (x,y). Aunque sólo necesitamos los valores de color en las posiciones (x,y) para una imagen bidimensional, se necesita información adicional de coordenadas de pantalla para las escenas tridimensionales. En este caso, las coordenadas de pantalla se almacenan como valores tridimensionales, haciendo referencia la tercera dimensión a la profundidad de las posiciones de objeto en relación con una determinada posición de visualización. Especificaciones absolutas y relativas de coordenadas
|
T002: Sistemas Gráficos
En este apartado, analizamos las características básicas de los componentes hardware y de los paquetes de software para gráficos. 1.3.1 Dispositivos de visualización de video El principal dispositivo de salida de un sistema gráfico es el monitor de vídeo, existen algunos basados en el diseño estándar de tubos de rayos catódicos (CRT - Cathode Ray Tube) y por otra en forma mayoritaria por monitores de estado sólido. Tubos de refresco de rayos catódicos Un haz de electrones (Rayos catódicos), emitido por un cañón de electrones, pasa a través de sistemas de enfoque y deflexión que dirigen el haz hacia posiciones especificas de la pantalla revestidas de fósforo. Entonces el fósforo emite un pequeño punto de luz en cada posición alcanzada por el haz de electrones. En el sistema existe la necesidad de un método para evitar el desvanecimiento rápido de la luz emitida por el fósforo. El método mas utilizado en la actualidad para mantener el resplandor del fósforo es volver a dibujar la imagen redirigiéndola rápidamente el haz de electrones de nuevo sobre los mismos puntos de la pantalla. Este tipo de pantalla se llama TRC de refresco. La frecuencia a la cual una imagen es redibujada en la pantalla se llama velocidad de refresco. Componentes principales del cañón de electrones: Cátodo de metal calentado.- Encargado del desprendimiento de los electrones en la superficie caliente. Rejilla de control.- El brillo o la intensidad del haz de electrones se controla mediante la tensión de la rejilla de control. Interrumpe el haz, al impedir que los electrones pasen. El brillo de un punto en la pantalla se ajusta variando la tensión de la rejilla. Intensidad controlada por Software Gráfico. Persistencia del FósforoLa persistencia se define como el tiempo que transcurre para que la luz emitida desde la pantalla disminuya a una décima parte de su intensidad original. Los fósforos de persistencia menor necesitan mayor velocidad de refresco para mantener una imagen en la pantalla sin parpadeo. Por lo general, los monitores gráficos tienen una persistencia del orden de 10 a 60 microsegundos, pueden existir algunos que tienen hasta 1 segundo de persistencia. Distribución de la intensidad del puntoDetermina el tamaño del punto, la intensidad es mayor en el centro del punto y decrece según una distribución gaussiana hacia los bordes del punto. Esta distribución se corresponde con la distribución transversal de la densidad de electrones del haz del TRC. Resolución de pantalla El número máximo de puntos que se pueden desplegar sin que se traslapen en un TRC se conoce como la resolución. Una definición más precisa de la resolución es el número de puntos por centímetro que se pueden dibujar horizontal y verticalmente, aunque a menudo solo se expresa como el número total de puntos en cada dirección. La resolución de TRC depende del tipo de fósforo, la intensidad a mostrar y los sistemas de enfoque y deflexión. La más común es de 1280 por 1024 de resolución. Pantallas por barrido de líneas Es el tipo más común de monitor gráfico que utiliza un TRC, con base en la tecnología de la televisión. En este sistema se recorre el haz de electrones a través de la pantalla, una fila a la vez, de arriba hacia abajo. Conforme el haz de electrones se mueve a través de cada línea de barrido, se activa y desactiva (o punto intermedio) la intensidad del haz para crear un patrón de puntos iluminadas. La definición de la imagen se almacena en una área de memoria llamada buffer de refresco o buffer de imagen, el término imagen hace referencia al área de la pantalla en su totalidad. El buffer contiene el conjunto de valores de niveles de color de los puntos de la pantalla. Los niveles de color son extraídos del buffer para controlar la intensidad del haz de electrones a medida que se hace el barrido. Cada punto de la pantalla se le conoce como un pixel o pel (abreviaturas de picture element; elemento gráfico). A veces suele denominarse “buffer de cuadro” conjuntamente a la información adicional del pixel y el buffer de la imagen. La capacidad de un sistema de barrido de líneas para almacenar información de la intensidad para cada punto de la pantalla hace que sea ideal para el despliegue realista de escenas que contienen un sombreado tenue y patrones de colores. Los sistemas de barrido se caracterizan por su resolución que es el número de píxeles que se pueden dibujar. Otra característica es la relación de aspecto, que es el número de columnas de pixeles dividido entre el numero de lineas de barrido que se pueden mostrar en el sistema (Una relación de aspecto de 4/3 significa que una linea horizontal pintada con cuatro puntos posee la misma longitud que una línea vertical dibujada con tres puntos). La gama de colores o de niveles de gris depende tanto del tipo de fósforo como del número de bits por pixel. En un sistema simple en blanco y negro, cada punto de la pantalla está, ya sea encendido o apagado, de manera que sólo se necesita un bit por pixel para controlar la intensidad de las posiciones en la pantalla. Cuando se deben desplegar variaciones de color e intensidad, se requieren bits adicionales. Se incluyen hasta 24 bits por pixel que pueden requerir varios megabytes de almacenamiento para el buffer de imagen. Un sistema con 24 bits por pixel una resolución de pantalla de 1024 por 1024 requiere 3 megabytes de almacenamiento para el buffer de imagen. El número de bit por píxel de un buffer de imagen se denomina a veces profundidad del área del buffer, el buffer de un bit por pixel se denomina bitmap y un buffer con múltiples bits por pixel es un pixmap. Cada vez que se refresca la pantalla, tendemos a ver cada cuadro o imagen como una continuación suave de los patrones del cuadro anterior. La velocidad de refresco mínimo debe ser de 24 cuadros por segundos, algunos sistemas llegan a 60 y 120 cuadros por segundo, también pueden expresarse en Hercios Hz. Pantallas de barrido aleatorio Cuando un monitor TRC funciona como una pantalla de barrido aleatorio, dispone de un haz de electrones dirigido exclusivamente a las partes de la pantalla donde se muestra una imagen. Se denominan también pantallas vectoriales. Las líneas componentes de una imagen se dibujan y refrescan en cualquier orden. La velocidad de refresco en un sistema de barrido aleatorio depende del número de líneas que deba mostrar. La definición de la imagen se almacena como un conjunto de órdenes de dibujo en una zona de memoria denominada lista de visualización. archivo de refresco de visualización, archivo vectorial, o programa de visualización. La mayor flexibilidad y las capacidades mejoradas de dibujo de líneas de los sistemas de barrido han provocado el abandono de la tecnología vectorial. Los sistemas de barrido aleatorio se diseñaron para aplicaciones de dibujo de líneas, tales como diseños de arquitectura e ingeniería, y no son capaces de mostrar escenas con matices realistas. Ya que la definición de una imagen se almacena como un conjunto de instrucciones de dibujo de líneas, en lugar de como un conjunto de niveles de intensidad para todos los puntos de pantalla, las pantallas vectoriales disponen generalmente de resoluciones más altas que los sistemas de barrido. Del mismo modo, las pantallas vectoriales producen dibujos de líneas más suaves, ya que el haz del TRC sigue la trayectoria de la línea, En cambio, un sistema de barrido produce líneas dentadas que se muestran como conjuntos de puntos discretos. Sin embargo, la mayor flexibilidad y las capacidades mejoradas de dibujo de líneas de los sistemas de barrido han provocado el abandono de la tecnología vectorial. Monitores TRC de color
Mediante la variación de los niveles de intensidad de los tres haces de electrones podemos obtener combinaciones de color en la máscara de sombra del TRC. Si se apagan dos de los cañones, obtenemos sólo el color procedente del único fósforo activado (rojo, verde, o azul). Al activar los tres puntos con iguales intensidades de los haces, vemos el color blanco. El color amarillo se produce con iguales intensidades en los puntos verde y rojo solamente Sistemas más sofisticados pueden permitir que se establezcan niveles de intensidad intermedios en los haces de electrones, por lo que son capaces de mostrar varios millones de colores. Un sistema en color RGB con 24 bits de almacenamiento por pixel se le denomina, generalmente, sistema de color completo o sistema de color real. Pantallas planas El término pantalla plana se refiere a la clase de dispositivos de vídeo que han reducido su volumen, peso y requisitos de potencia comparados con un TRC. Una característica significativa de las pantallas planas es que son más finas que los TRC y podemos colgarlas en la pared o llevarlas en la muñeca. Dado que es posible escribir en algunas pantallas planas, se encuentran también disponibles como bloc de notas de bolsillo. Algunos usos adicionales de las pantallas planas son los siguientes: pequeños televisores, pantallas de calculadoras, pantallas de vídeojuegos de bolsillo, pantallas de computadoras portátiles, las pantallas disponibles en los brazos de los asientos de los aviones para ver películas, paneles para anuncios en los ascensores y pantallas gráficas para aplicaciones que requieren monitores altamente portables y celulares. Podemos clasificar las pantallas planas en dos categorías: pantallas emisivas y pantallas no emisivas. Pantallas emisivas (o emisores): son dispositivos que transforman la energía eléctrica en luz. Como ejemplos.
Pantallas no emisivas (o no emisores): emplean efectos ópticos para transformar la luz del sol o la luz de alguna otra fuente en patrones gráficos. Ejemplo dispositivos de cristal líquido. Pantallas de plasma (o pantallas de descarga de gas): Se construyen rellenando el espacio entre dos placas de cristal con una mezcla de gases que habitualmente incluye el neón. Una serie de tiras de material conductor se colocan de forma vertical en un panel de cristal, y en el otro panel de cristal se sitúan de forma horizontal como se muestra en la (figura). Si se aplican tensiones de disparo a un par de intersección de conductores verticales y horizontales se provoca que el gas en la intersección de los dos conductores se descomponga en un plasma de electrones e iones que emiten luz. La definición de la imagen se almacena en un búfer de refresco y las tensiones de disparo se aplican para refrescar los píxeles (en las intersecciones de los conductores) 60 veces por segundo. Se emplean métodos de corriente alterna para proporcionar la aplicación más rápida de tensiones de disparo y. por tanto, generar pantallas más brillantes. La separación entre los pixeles se debe al campo eléctrico de los conductores. Una desventaja de las pantallas de plasma fue que eran estrictamente dispositivos monocromos, pero en la actualidad existen pantallas de plasma con capacidades multicolor. las pantallas electroluminiscentes de película fina se construyen de forma similar a las pantallas de plasma. La diferencia consiste en que el espacio entre las placas de cristal se rellena con fósforo, tal como sulfato de zinc dopado con manganeso, en lugar de con gas. Cuando se aplica una tensión suficientemente alta a un par de electrodos que se cruzan, el fósforo se transforma en conductor en el área de la intersección de los dos electrodos. La energía eléctrica es absorbida por los átomos de manganeso, los cuales liberan entonces la energía como un punto luminoso similar al efecto del plasma luminiscente en la pantalla de plasma. Las pantallas electroluminiscentes requieren más potencia que las pantallas de plasma, y en color son más difíciles de conseguir. Pantallas de diodo emisor de luz (LED) Los píxeles de la pantalla se crean mediante una matriz de diodos, y la resolución de la imagen se almacena en el búfer de refresco. Como en el caso del refresco de la linea de barrido de un TRC, la información se Iee del búfer de refresco y se transforma en niveles de tensión que se aplican a los diodos para producir patrones de luz en la pantalla. Pantallas de cristal líquido (LCD) Se utilizan habitualmente en sistemas pequeños, tales como computadoras portátiles y calculadoras. Estos sistemas no emisivos producen una imagen mediante el paso de luz polarizada desde las cercanías o desde una fuente de luz interna a través de un material de cristal líquido que se puede alinear para bloquear o transmitir la luz. El término cristal líquido hace referencia al hecho de que en estos compuestos las moléculas están dispuestas según una estructura cristalina, a pesar de que fluyen como en un líquido. Las pantallas planas utilizan habitualmente compuestos de cristal líquido nemáticos (con aspecto de hebras) y que tienden a mantener los largos ejes de moléculas con forma de cuerda alineados. Una pantalla plana se puede construir con un cristal líquido nemático, como se demuestra en la Figura. Dos placas de cristal, cada una de las cuales contiene un polarizador de luz que está alineado en ángulo recto con la otra placa, encierran el material de cristal líquido. En una placa de cristal se han dispuesto conductores transparentes en filas horizontales, y en la otra placa se han dispuesto dichos conductores en columnas verticales. Cada intersección de dos conductores determina un pixel. Normalmente, las moléculas se alinean como se muestra en el «estado encendido» de la Figura. La luz polarizada que pasa a través de material se retuerce para que pase a través del polarizador opuesto. La luz entonces se refleja de vuelta hacia el visor. Para apagar el pixel, aplicamos una tensión a los dos conductores que se intersectan, para alinear las moléculas para que la luz no se retuerza. Esta clase de dispositivos de pantalla plana se denominan LCD de matriz pasiva. La definición de la imagen se almacena en un búfer de refresco, y la pantalla se refresca a una velocidad de 60 cuadros por segundo, como en los dispositivos emisivos. La retroiluminación también se aplica habitualmente en los dispositivos electrónicos de estado sólido, para que el sistema no dependa completamente de las fuentes de luz externas. Los colores se pueden mostrar mediante el empleo de diferentes materiales o tintes y mediante la colocación de una triada de píxeles de color en cada posición de la pantalla. Otro método para construir los LCD consiste en colocar un transistor en cada píxel. empleando tecnología de transistores de película fina. Los transistores se emplean para ajustar la tensión de los pixeles y para prevenir que la carga se fugue de manera gradual de las celdas de cristal líquido, estos dispositivos se denominan pantallas de matriz activa. Referencias: Animación sobre pantallas planas Dispositivos de visualización tridimensional Se han ideado monitores gráficos para mostrar escenas tridimensionales que emplean una técnica que refleja una imagen de un monitor de TRC desde un espejo flexible y que vibra. Conforme el espejo varifocal vibra, cambia su distancia focal. Estas vibraciones están sincronizadas con la representación de un objeto en un monitor de TRC. para que cada punto del objeto sea reflejado desde el espejo hacia la posición espacial correspondiente a la distancia de ese punto, desde una localización de visionado específica. Esto permite caminar alrededor de un objeto o una escena y verlo desde diferentes lados. Como ejemplo tenemos un sistema SpaceGrapb de Genisco. el cual emplea una espejo vibrante para proyectar objetos tridimensionales en un volumen de 25 cm por 25 cm por 25 cm. Este sistema también es capaz de mostrar «rebanadas» bidimensionales transversales de objetos seleccionados a diferentes profundidades. Tales sistemas se han utilizado en aplicaciones para analizar los datos procedentes de ultrasonografía y dispositivos de rastreo CAE en aplicaciones geológicas para analizar datos topológicos y sísmicos, en aplicaciones de diseño en las que están involucrados objetos sólidos y en simulaciones tridimensionales de sistemas tales como moléculas y de terreno. Sistemas estereoscópicos y de realidad virtual Mostrar vistas estereoscópicas de un objeto es otra técnica para representar un objeto tridimensional. Este método no produce imágenes realmente tridimensionales, pero proporciona un efecto tridimensional mediante la presentación de una vista diferente a cada ojo de un observador, para que parezca que las escenas poseen profundidad. Para obtener una proyección estereoscópica, debemos obtener dos vistas de una escena generadas con las direcciones de visualización desde la posición de cada ojo (izquierda y derecha) hacia la escena. Podemos construir las dos vistas como escenas generadas por computadora con diferentes puntos de vista, o podemos utilizar un par de cámaras estéreo para fotografiar un objeto o una escena. Cuando miramos simultáneamente a la vista izquierda con el ojo izquierdo y a la vista derecha con el ojo derecho. las dos imágenes se funden en una única imagen y percibimos una escena con profundidad. 1.3.2 Sistemas de barrido de líneasLos sistemas interactivos gráficos de barrido emplean habitualmente varias unidades de procesamiento. Además de la unidad central de procesamiento, un procesador de propósito específico, llamado controlador de vídeo o conlrolador de pantalla, se emplea para controlar el funcionamiento del dispositivo de pantalla. Sistema de barrido simple. En éste, el búfer de imagen se puede colocar en cualquier parte de la memoria del sistema de memoria, y el controlador de vídeo accede al búfer de imagen para refrescar la pantalla. Además del controlador de vídeo, los sistemas de barrido más sofisticados emplean otros procesadores tales como procesadores y aceleradores para implementar diversas operaciones gráficas. Controlador de vídeo Una zona fija del sistema de memoria se reserva para el búfer de imagen y se permite que el controlador de vídeo acceda a directamente a la memoria del búfer de imagen. Las posiciones del búfer de imagen y sus correspondientes posiciones de pantalla se referencian en coordenadas cartesianas, En un programa de aplicación, utilizamos los comandos de un paquete de software gráfico, para establecer las coordenadas de posición de los objetos mostrados, relativas al origen del sistema de ejes cartesianos de referencia. A menudo, el origen de coordenadas se fija en la esquina inferior izquierda de la pantalla mediante los comandos del software, aunque podemos situar el origen en cualquier posición para una aplicación concreta. Sin embargo, el hardware realiza el refresco de la pantalla, así como algunos sistemas de software, utilizando como referencia para las posiciones de los píxeles la esquina superior izquierda de la pantalla. Las funciones básicas de refresco de un controlador de vídeo. Se utilizan dos registros para almacenar los valores de las coordenadas de los pixeles de la pantalla. Inicialmente. se establece el valor del registro x en 0 y el registro y con el valor de la línea superior de barrido. Se obtiene el contenido del búfer de imagen en esta posición de pixel y se utiliza para establecer la intensidad del haz del TRC. Entonces el registro x se incrementa en una unidad, y el proceso se repite para el siguiente píxel en la línea superior de barrido. Este procedimiento se repite para cada pixel a lo largo de la línea superior de barrido. Después de que se ha procesado el último píxel de las lineas superior de barrido, se establece el valor del registro x en 0 y el registro y con el valor de la siguiente línea de barrido, situada debajo de la línea superior de barrido de la pantalla. Entonces se procesan los pixeles a lo largo de esta línea de barrido y el procedimiento se repite para cada sucesiva línea de barrido. Después de procesar todos los pixeles a lo largo de la línea inferior de barrido, el controlador de video restablece los registros con la primera posición de píxel de la línea superior de barrido y el proceso de refresco comienza de nuevo. Ya que la pantalla se debe refrescar a una velocidad de al menos 60 cuadros por segundo, puede que el procedimiento mostrado no pueda ser realizado por los chips de RAM habituales, si su tiempo de ciclo es demasiado lento. Para acelerar el procesamiento de los pixeles, los controladores de vídeo pueden obtener múltiples valores de píxel del búfer de refresco en cada pasada. Las múltiples intensidades de los pixeles se almacenan en registros separados y se utilizan para controlar la intensidad del haz del TRC para un grupo de pixeles adyacentes. Cuando se ha procesado este grupo de pixeles. se obtiene del búfer de imagen el siguiente bloque de valores de píxel. Un controlador de vídeo se puede diseñar para realizar otras funciones. El controlador de vídeo puede obtener los valores de los pixeles desde diferentes zonas de memoria en diferentes ciclos de refresco para varias aplicaciones. En algunos sistemas, por ejemplo, hay disponibles múltiples búferes de imagen para que un búfer se pueda utilizar para refresco y mientras los valores de los pixeles se están cargando en los otros búferes. Entonces el búfer de refresco actual puede intercambiar su función con otro de los búferes. Esto proporciona un mecanismo rápido para la generación de animaciones en tiempo real. Procesador de pantalla de líneas de barrido Un modo de organizar los componentes de un sistema de barrido que contiene un procesador de pantalla independiente, denominado a veces controlador gráfico o coprocesador de pantalla. El propósito del procesador de pantalla es liberar a la UCP de las tareas gráficas. Además de la memoria del sistema, se puede disponer de una zona de memoria independiente para el procesador de pantalla. Una tarea importante del procesador de pantalla consiste en digitalizar una imagen, procedente de un programa de aplicación para transformarla en un conjunto de valores de píxeles para almacenarla en el búfer de cuadro. Este proceso de digitalización se conoce como conversión de barrido. Las órdenes gráficas que especifican líneas rectas y otros objetos geométricos sufren una conversión de barrido en un conjunto de puntos discretos que se corresponde con las posiciones de los píxeles de la pantalla. La conversión de barrido de un segmento de línea recta, por ejemplo, significa que tenemos que localizar las posiciones de los píxeles más cercanos a la trayectoria de la línea y almacenar el color para cada posición en el búfer de imagen. Se utilizan otros métodos similares para convertir mediante barrido otros objetos de una imagen. Los caracteres se pueden definir con rejillas rectangulares de píxeles, o se pueden definir mediante sus líneas de contorno. El tamaño de la matriz utilizada en la cuadrícula de los caracteres puede variar desde, aproximadamente, 5 por 7 hasta 9 por 12 o más en el caso de pantallas de calidad superior. Una cuadrícula de un carácter se muestra mediante la superposición del patrón de la rejilla rectangular en el búfer de imagen en unas coordenadas específicas. Cuando los caracteres se definen mediante sus contornos se realiza la conversión de barrido de las formas en el búfer de imagen mediante la localización de las posiciones de los píxeles más cercanos al contorno. Los procesadores de pantalla también se diseñan para realizar otras funciones adicionales. Dentro de estas funciones se incluye la generación de vanos estilos de línea (discontinua, punteada o continua), mostrar áreas de color y aplicar transformaciones a los objetos de una escena. También, los procesadores de pantalla se diseñan habitualmente para actuar como interfaz con dispositivos de entrada interactivos, tales como un ratón. Con el propósito de reducir los requisitos de memoria de los sistemas de barrido, se han ideado métodos para organizar el búfer de imagen como una lista enlazada y codificar la información del color. Un esquema de organización consiste en almacenar cada línea de barrido como un conjunto de pares de números. El primer número de cada par puede ser una referencia al valor del color y el segundo número puede especificar el número de pixeles adyacentes en la línea de barrido que se deben mostrar en ese color. Esta técnica, llamada codificación de longitud de recorrido, puede proporcionar un considerable ahorro de espacio de almacenamiento si la imagen está constituida principalmente por largos recorridos de un único color cada uno. Se puede seguir un planteamiento similar cuando los colores de los pixeles cambian de forma lineal. Otro planteamiento consiste en codificar el barrido como un conjunto de zonas rectangulares (codificación de celdas). Las desventajas de la codificación de recorridos son que los cambios de color son difíciles de registrar y los requisitos de almacenamiento aumentan a medida que las longitudes de los recorridos decrecen. Además, es difícil para el controlador de pantalla procesar el barrido cuando están involucrados muchos recorridos cortos. Por otra parte, el tamaño de búfer de imagen ya no es importante, puesto que el coste de la memoria se ha reducido considerablemente. No obstante, los métodos de codificación pueden ser útiles en el almacenamiento digital y en la transmisión de la información de la imagen. 1.3.3 Estaciones de trabajo gráficas y sistemas de visualización
Tema para ser revisado por los estudiantes. 1.3.6 Redes gráficas
1.3.9 Introducción a OpenGL En OpenGL se proporciona una biblioteca básica de funciones para especificar primitivas gráficas, atributos, transformaciones geométricas, transformaciones de visualización y muchas otras operaciones. Está diseñada para ser independiente del hardware, por tanto, muchas operaciones, tales como las subrutinas de entrada y salida, no están incluidas en la biblioteca básica. Sin embargo, las subrutinas de entrada y salida y muchas funciones adicionales están disponibles en bibliotecas auxiliares que se han desarrollado para programas OpenGL. |
T001: Introducción a los gráficos por computadora
![]() 1. Gráficos y diagramas Una de las primeras aplicaciones gráficas fue la Visualización de gráficos de datos. En tal sentido, se han mejorado las aplicaciones para presentar gráficos de complejas relaciones entre datos que permiten realizar informes escritos o para presentaciones en diapositivas o animaciones en vídeo. Los gráficos y diagramas son utilizados en resúmenes financieros, estadísticos, matemáticos, cientificos, de ingeniería, económicos, gestión, investigación, información al consumidor, etc. Existe una gran variedad de paquetes gráficos incluso con servicios de convertir imágenes generadas en la pantalla de una computadora en películas. Ejemplos de gráficos y diagramas son diagramas de barra, tarta, superficies, contorno en dos o tres dimensiones. 2. Diseño asistido por computador (CAD - Computer Aided Design) En arquitectura e ingeniería en los procesos de diseño se utiliza mayoritariamente el gráfico por computadoras, mucho productos como edificios, automóviles, aeronaves, barcos, naves espaciales, computadoras, telas, electrodomésticos, etc. se diseñan gráficamente. Se utilizan diseños con modelos alámbricos que muestran de manera general el producto. Algunas características de los paquetes CAD:
3. Entornos de Realidad Virtual Los Usuarios pueden interactuar con objetos 3D, se utilizan hardware especializado para la visualización 3D y permiten al usuario tomar los objetos de la escena. Los entornos de realidad virtual son también utilizados para para formación de operadores de equipos pesados utilizando una visión estereoscópica. En los diseños de realidad virtual se tiene logra la sensación de inmersión dentro de una escena virtual. 4. Visualización de datos Existe la visualización científica que es la generación de representaciones gráficas de conjunto de datos o procesos de naturaleza científica, de ingeniería o de medicina. La visualización de negocios para conjuntos de datos relacionados con el comercio, la industria y otras no científicas. Las visualizaciones de datos son utilizados por investigadores, analistas que tratan con grandes cantidades de información o estudiar el comportamiento de procesos muy complejos. Un ejemplo son las Simulaciones numéricas en computador, Cámaras de satélites que generan datos mas rápido de lo que pueden ser interpretadas. Si logramos tratar estos datos con gráficos podremos rápidamente interpretar tendencias y relaciones que aparecen en los datos inmediatamente. Hay dependencia de la característica de los datos. Las técnicas de visualización también se usan como ayuda para la compresión de procesos complejos y funciones matemáticas. 5. Educación y formación Los modelos generados por computadora de sistemas físicos, financieros, políticos, sociales, económicos y otros se usan frecuentemente como ayuda a la educación. Modelos de procesos físicos, psicológicos, tendencias de población, equipamiento puede ayudar a los alumnos a comprender la operación de un sistema. En algunas aplicaciones de formación se necesitan equipos especiales de hardware, ejemplo de aplicaciones:
6. Arte por computadora El arte puro y el comercial hacen uso de los métodos de los gráficos por computadora. Los artistas tienen disponible una variedad de métodos y herramientas, incluyendo hardware especializado, paquetes de software comercial, programas de matemáticas simbólica, paquetes CAD, software de escritorio para publicación y sistemas de animación que proporcionan capacidades para diseñar formas de objetos y especificar sus movimientos. Ejemplos:
7. Entretenimiento Las producciones de televisión, las películas de cine y los vídeos musicales utilizan gráfica por computadora combinando objetos gráficos con actores y escenas reales o sin ellos. Ejemplo:
8. Procesamiento de imágenes Consiste en la modificación o interpretación de imágenes existentes, como fotografías o cámaras de TV. Es posible confundir los gráficos por computadora y el procesamiento de imágenes ambos tienes funciones muy marcadas como es la primera permite crear gráficos mientras el segundo sirve para mejorar la calidad de los dibujos, analizar las imagenes o visión artificial. Sin embargo ambos se utilizan muchas veces juntos. Ejemplos:
9. Interfaz gráfica de usuario En aplicaciones de software se requiere GUI Interfaces de Gráfica de Usuario, como ejemplo los entornos de escritorios en los Sistemas Operativos. 10. Realidad aumentada La Realidad Aumentada es una de las pocas tecnologías disponibles donde
la imaginación es el límite para la creatividad, existiendo
aplicaciones para sectores tan disímiles como la ingeniería, la
arquitectura, la medicina, el mercadeo, la publicidad y la educación
entre muchos otros. El objetivo es presentar un recorrido actualizado
por las diferentes formas en que se puede hacer Realidad Aumentada,
algunos casos de éxito, sus herramientas para desarrollo de
aplicaciones, y las posibilidades de implementación en proyectos a todo
nivel. 11. Second Life Second Life es un mundo 3D cuyos habitantes son todos personas reales y
donde cada lugar que visitas ha sido construido por gente como tú. 12. Web3D Consortium El Web3D Consortium es una organización sin fines de lucro, cuyo objetivo es definir y desarrollar el formato de archivo libre con estándares abiertos X3D y arquitectura de ejecución para representar y comunicar escenas en 3D. El desarrollo de gráficos en 3D basados en la Web ha involucrado desde su inicio el Lenguaje de Modelamiento de Realidad Virtual (Virtual Reality Modeling Language VRML) hacia el eXtensible 3D (X3D). En los últimos años, se han hecho avances que en los temas de gráficos de tiempo real y tecnología de red, y lo mas notable la aparición del XML (Extensible Markup Language), que altamente ha influenciado el desarrollado de la aprobación ISO, libremente disponible, estándares abiertos X3D |