Computación Gráfica

Anuncio
Computación Gráfica
En los últimos treinta años, las técnicas de modelaje en computación gráfica han
evolucionado significativamente. Se han utilizado modelos basados en polígonos,
superficies, líneas y puntos, sin embargo no han sido suficiente para representar las
características tan complejas de los objetos y fenómenos naturales, ya que los modelos
matemáticos utilizados a veces son poco manejables o controlables. Por eso se han
desarrollado unas técnicas avanzadas de modelaje, con la finalidad de proveer mecanismos
concisos, eficientes, flexibles y controlables para especificar y animar los objetos naturales.
Desde hace varios años con el gran avance de la informática se han desarrollado en todo el
mundo diversos paquetes y programas graficadores que están a la disposición de todos los
usuarios.
ANTECEDENTES
En el año de 1950 Dou Engerlbart comprendió que la tecnología de la informática
amplificaba las capacidades mentales, con lo cual podríamos contar con nuevas
posibilidades de enfrentar la urgencia y la complejidad de la vida, es por eso que decidió
dedicarse por completo a hacer su sueño realidad. Lamentablemente el resto del mundo no
estaba preparado para sus proyectos, los cuales eran de tan largo alcance que no
concordaban con las ideas prevalecientes en su época y la mayor parte de la comunidad de
investigadores ignoró los trabajos de Engelbart.
En ese tiempo solo había una docena de computadoras en todo el mundo dedicadas
exclusivamente a cálculos militares. Era difícil imaginar que la gente común y corriente
usaría las computadoras para aumentar su productividad personal. Entonces, Engelbart
estableció el Augmention Research Cenerter para crear modelos funcionales de sus
visionarias herramientas.
Una de las técnicas empleadas para esto es el denominado Trazador de Rayos que es un
algoritmo recursivo de precisión de imagen o iluminación que determina la visibilidad de
las superficies lanzando rayos luminosos imaginarios desde el ojo del observador a los
objetos en la escena, basándose en las leyes de la óptica geométrica y simulando la
iluminación global distribuida por la luz especular teniendo en cuenta la reflexión difusa
local.
Polyray es un programa de rendering que funciona como trazador de rayos con
herramientas de animación, con el que se pueden hacer diversos objetos y superficies en la
pantalla por medio de un código específico de comandos y primitivas, y diversas
operaciones entre ellos.
DEFINICION
La computación gráfica es la rama de las ciencias de la computación que se encarga del
estudio, diseño y trabajo del despliegue de imágenes en la pantalla de un computador a
través de las herramientas proporcionadas por la física, la óptica, la térmica, la geometría,
etc.
APLICACIONES
Está rama de computación es utilizada en:
• Ingeniería.- Las actividades de ingeniería pueden dividirse en cinco áreas: diseño, análisis,
dibujo, fabricación/construcción/procesamiento y control de calidad.
• Ciencias.- Los científicos pueden emplear las gráficas por computadora de muchas
maneras.
• Arte.- El artista siempre ha podido escoger los medios de expresión adecuados para su
talento. Las gráficas por computadora son otro medio del que dispone para ampliar su
libertad de expresión.
• Educación.- El beneficio más grande que a aporta las computadoras y las gráficas que
realizan en un ambiente educativo. En cuanto a capacitación se diseñan sistemas especiales.
GRÁFICOS DE ARREGLOS BIDIMENSIONALES DE BITS
Una imagen en la pantalla del computador esta formado por píxeles: pequeños puntos
blancos, negros o de color dispuestos en filas. Las palabras, los números y las imágenes que
vemos no son más que patrones de píxeles creados por software.
Con el software de pintura es posible “pintar” píxeles en la pantalla usando un dispositivo
apuntador.
Un programa de pintura ofrece una paleta de herramientas en pantalla. Hay herramientas de
líneas y forma para crear líneas, rectángulos u otras formas en la pantalla. Hay herramientas
para rellenar figuras cerradas con colores o patrones.
También hay herramientas de edición, como borradores, herramientas de ampliación, de
selección y de rotación, que permiten modificar pinturas en pantalla antes de transferirlas al
papel.
En los gráficos más simples de arreglo bidimensional de bits, un bit de la memoria del
computador representa un píxel. Como un bit sólo puede almacenar uno de dos valores, 0 o
1, el píxel únicamente puede mostrarse en uno de dos colores. A este tipo de gráficos de un
bit se les conoce como gráficos monocromáticos, porque las imágenes se dibujan en un
color sobre un fondo fijo. Los tonos de grises se simulan con una técnica llamada
simulación de colores (dithering), una combinación de píxeles blancos y negros para crear
la ilusión de un tono de gris. Los programas de graficación monocromática son eficientes, y
es fácil aprender a usarlos, pero tienen limitaciones en cuanto a producir imágenes realistas.
Los gráficos de escala de grises permiten que un píxel aparezca de color blanco, negro o
uno de varios tonos de gris. Con un programa de escala de grises que asigna a ocho bits por
píxel es posible obtener hasta 256 tonos de gris en pantalla, más de los que puede distinguir
el ojo humano.
Hoy en día es corriente que los computadores tengan color de ocho bits. Para el color real
se necesitan 24 o 32 bits de memoria por cada pixel (llamado profundidad de píxel) es uno
de dos factores tecnológicos que limitan la capacidad del artista en la creación de imágenes
realistas con programas para hacer gráficos con arreglos bidimensionales de bits. El otro
factor es la definición (la densidad de los píxeles), que se describe en puntos por pulgada o
dpi (dots per inch).
GRÁFICOS ORIENTADOS A OBJETOS
El software de dibujo almacena una imagen, no como colección de puntos, sino como una
colección de líneas y formas. Como las imágenes son colecciones de líneas, formas y otros
objetos, esta estrategia se conoce como graficación orientada a objetos. Un usuario puede
manipular los gráficos orientados a objetos en forma que son difíciles o imposibles con las
pinturas de arreglos bidimensionales de bits.
Los programas de edición de imágenes por arreglos bidimensionales de bits proporcionan a
los artistas y editores de fotografías un control insuperable sobre texturas, sombras y
detalles finos. Los programas de ilustración y dibujo orientados a objetos son una mejor
opción para crear gráficos, diagramas e ilustraciones con líneas suaves y formas regulares.
TRANSFORMACIONES GEOMÉTRICAS BIDIMENSIONALES
Aquí estudiamos primero los procedimientos generales para aplicar parámetros de
traslación, rotación y escalación para cambiar la posición y el tamaño de los objetos
bidimensionales.
Traslación.- Se aplica una transformación en un objeto para cambiar su posición a lo largo
de la trayectoria de una línea recta de una dirección de coordenadas a otra. Convertimos un
punto bidimensional al agregar las distancia de traslación, tx y ty a la posición de
coordenadas original (x, y) para mover el punto a una nueva posición (x’, y’) El par de
distancia de traslación (tx’ ty’) se llama vector de traslación o vector de cambio.
Rotación.- Se aplica una rotación bidimensional en un objeto al cambiar su posición a lo
largo de la trayectoria de una circunferencia en el plano de x y. Para generar una rotación
especificamos un ángulo de rotación y la posición Xr’ Yr’ del punto de rotación o punto
pivote en torno al cual se gira el objeto.
Escalación.- Una transformación de escalación altera el tamaño de un objeto. Se puede
realizar esta operación para polígonos al multiplicar los valores de coordenadas (x, y) de
cada vértice por los factores de escalación sx y sy para producir las coordenadas
transformadas (x’, y’).
El factor de escalación sx escala objetos en la dirección de x, mientras que el factor de
escalación sy lo hace en la dirección de y.
Cuando se asignan el mismo valor a sx y sy’ se general una escala uniforme. Y cuando se
asignan valores distintos a sx y sy se obtiene un escala diferencial.
Podemos encontrar la localización de un objeto escalonado al seleccionar una posición
llamada punto fijo, que debe permanecer sin cambio después de la transformación de
escalación.
ALIASING Y ANTI-ALIASING
Está es una de las técnicas más importantes de hacer los gráficos y el texto, fáciles de leer y
de satisfacer el ojo humano en la en pantalla es el anti-aliasing. El anti-aliasing es una
manera creativa de conseguir que los contornos de la imagen aparezca liso y no con aspecto
de cierra.
TIPOS DE GRÁFICOS
Es importante tener esto en mente para saber que tipo de gráficas puede desplegar nuestro
sistema de cómputo.
Los archivos de gráficas tienen extensiones específicas. Una extensión de archivo de
gráfica define el estándar que fue utilizado para hacer que la computadora pueda leer la
imagen. Existen muchos formatos de imágenes o estándares los más comunes son GIF y
JPEG.
• GIF. Son las siglas de Graphic Interchange Format y es el formato estándar para imágenes
que fue desarrollado por Compu Serve para que fuera un método independiente de
hardware para el almacenamiento de imágenes. GIF permite gráficas de alta resolución y
alta calidad que pueden desplegarse en una gran variedad de sistemas de vídeo. GIF esta
dirigido a sistemas de video baratos, dado que solo puede almacenar 8 bits por píxel (256 o
menos colores) y casi todas las PC’s no pueden desplegar más de 256 colores en una
pasada. GIF es bueno para imágenes con solo unos cuantos colores distintos, como dibujos
de líneas y caricaturas simples.
• GIF’s Animados. Un GIF Animado es creado utilizando el formato GI F89a Contiene un
conjunto de marcos, para una secuencia de imágenes GIF que pueden desplegarse una
detrás de otra, o en un ciclo, así que se puede ver las imágenes en movimiento. Un GIF
animado tiene la misma extensión que un GIF sin movimiento (.GIF).Lo que hace al GIF
animado especial es que no se tiene que instalar otras aplicaciones en el Navegador de
Internet para auxiliar en el despliegue. Actualmente la mayoría de los navegadores de
Internet permiten el despliegue de GIF’s animados.
• GIF’s Transparentes. Un GIF transparente es una imagen GIF con un fondo transparente.
Cuando se ve una imagen transparente en el navegador de Internet, se puede observar el
fondo del navegador a través del fondo de la imagen, en cualquier color que se elija como
el color base del navegador o la imagen que se utilice como fondo. El formato de GIF
Transparente permite el navegador de Internet desplegar imágenes de muchas formas, no
solo cuadradas o rectangulares que se puedan crear en la mayoría de los editores de
gráficos. Un GIF transparente tiene la misma extensión (.GIF) de una imagen en formato
GIF normal.
• JPEG es un mecanismo estandarizado de compresión de imágenes. JPEG son las siglas
para Joint Photographic Experts Group, el nombre original del comité que escribió el
estándar. JPEG esta diseñado para comprimir ya sea imágenes a color o en escala de gris de
escenas naturales y realistas.
Funciona muy bien en fotografías, arte realista y material similar; no tan bien en letreros,
caricaturas simples, o dibujos de líneas. JPEG almacena información de color total: 24
bits/píxel (16 millones de colores). De tal manera que con hardware de color completo, las
imágenes JPEG lucen mucho mejor que las GIF en el mismo hardware. Los archivos JPEG
son más pequeños que los GIF.
• BMP Es la extensión de los archivos bitmap, También llamados RASTER GRAPHICS,
son la representación consistente en filas y columnas de puntos de una imagen gráfica en
una computadora.
• CGM Formato de gráfico de vectores Computer Grafhics Metafile
• PCX Formato para almacenar imágenes BITMAP
• TIFF Tagged Image File Format . Formato muy comúnmente utilizado para transferir
imágenes tipo bitmap de una aplicación a otra.
SOFTWARE DE MODELO TRIDIMENSIONAL
Los diseñadores gráficos pueden crear objetos tridimensionales con herramientas similares
a las del software de dibujo convencional. Los ilustradores que usan software
tridimensional valoran mucho su flexibilidad. Se puede crear el modelo tridimensional de
un objeto, rotarlo, verlo desde varios ángulos y tomar “instantáneas” bidimensionales de las
mejores vistas desde varias perspectivas.
CAD/CAM: (CAD: Computer-aided design)
Consiste en usar los computadores para diseñar productos. Con el software se pueden crear
diseños en pantalla de productos tan diversos como chips para la computadora y edificios
públicos. En la actualidad el software es mucho más complejo que los bosquejos básicos y
los gráficos orientados a objetos, permitiendo a los usuarios elaborar modelos
tridimensionales “sólidos “ con características físicas como peso volumen y centro de
gravedad. Estos modelos pueden rotarse y observarse desde cualquier ángulo.
El diseño asistido por computadora muchas veces se enlaza con la manufactura asistida por
computadora (CAM) la combinación de CAD y CAM también se conoce como
manufactura integrada por computadora (CIM).
En las computadoras de orientación gráfica, casi todas las aplicaciones son WYSIWYG (lo
que se ve en pantalla es lo que se obtiene impreso en papel). Sin embargo como lo ha
demostrado Doug Engelbart no siempre es necesario ni deseable. Engelbart , Ted Nelson y
otros pioneros se centraron en la relación de las ideas y no del formato de la página, para
crear un nuevo tipo de documento: un súper documento dinámico, con referencias cruzadas,
que aprovecha todas las capacidades interactivas del computador.
MÉTODOS DE DESPLIEGUE TRIDIMENSIONAL
Cuando modelamos y desplegamos una escena tridimensional, debemos tomar muchas
consideraciones aparte de incluir sólo valores para la tercera dimensión. A fin de obtener un
despliegue de una escena tridimensional que se modeló en coordenadas mundiales, primero
debemos establecer una referencia de coordenadas para la “cámara” o referencia de
coordenadas que define la posición y orientación para el plano de la película de la cama.
• Proyección paralela.- Es método para generar una vista de un objeto sólido consiste en
proyectar puntos en las superficie del objeto a lo largo de líneas paralelas sobre el punto de
despliegue.
• Proyección de perspectiva.- Generar una vista de una escena tridimensional es proyectar
puntos hacia el plano de despliegue a lo largo de trayectorias convergentes. Esto hace que
los objetos que están más lejos de la posición de vista se desplieguen más pequeños que
aquellos del mismo tamaño que se encuentran más cerca de la posición de vista.
• Indicación de intensidad.- Con pocas excepciones, la información de la intensidad es
importante para poder identificar con facilidad, para una dirección de vista en particular,
cuál es el frente y cual es la parte de atrás de los objetos desplegado.
• Hipertexto.- Se le llamó hipertexto por que permitía enlazar la información textual en
formas no secuenciales. Un hipertexto contiene enlaces que conducen a los lectores
rápidamente a otras partes del documento o a otros documentos relacionados.
• Hyper card y los hiperclones.- El hipertexto fue objeto de la atención pública en 1987,
cuando apple introdujo hypercard, un programa híbrido, parte base de datos, parte
programa de dibujo, parte sistema de gráficos para presentaciones y parte lenguaje de
programación. hypercard fue la primera herramienta disponible en forma general para crear
documentos del tipo hipertexto. Un documento de hypercard puede contener textos,
números gráficos, animación, efectos de sonido, música y hasta segmentos de vídeo.
Un documento de hypercard, denominado pila se basa en tarjetas de referencia. Cada
pantalla, llamada tarjeta, puede contener gráficos, textos y botones: “puntos vivos” que
responden a los clics de ratón. Los botones también se pueden programar para producir
música abrir ventanas de diálogo, iniciar otras aplicaciones, reacomodar información
efectuar operaciones de menú, enviar mensajes a otros dispositivos de hardware o hacer
otras cosas.
• Multimedia interactivos.- El uso de una combinación de textos gráficos, animación, vídeo,
música y efectos de sonido para comunicarse. a la cantidad de información que puede
transmitir un medio por unidad de tiempo se le denomina ancho de banda. un libro que sólo
contiene texto es un medio de ancho de banda pequeño, que solo puede proporcionar unos
300 bits de datos por segundo al lector corriente.
• Técnicas de modelaje procedurales.- Las técnicas procedurales más conocidas son las
siguientes: fractales, figuras geométricas fragmentadas, donde cada una de las partes
conserva una relación de similaridad con la figura completa. Los fractales también pueden
ser usados en áreas menos abstractas, como el modelamiento de árboles, nubes, montañas,
medición de longitud de las líneas costeras, y en general, cualquier hecho que no sea
posible de representar mediante variables geométricas clásicas o euclidianas.
• Aplicaciones de los fractales.- Los avances tecnológicos que han ocurrido desde que se
formularon las primeras ideas de ecuaciones referentes y otras teorías matemáticas
complejas, han permitido llevar a la práctica muchos conceptos.
Además hay que tomar en cuenta que lo que nosotros vemos de los objetos que queremos
modelar, tampoco llega a niveles infinitos. Aun así, la metodología fractal para modelar es
bastante útil y muy semejante a la realidad en algunos casos.
• Clasificación de fractales.- Similares, tienen partes que son versiones en escala reducida
del objeto completo. Se puede utilizar el mismo factor de escala (s) para todas las subpartes
o se puede utilizar diferentes factores de escala, llamados también determinísticos. Afines,
tienen partes que se forman con diferentes parámetros de escalación sx, sy, sz en distintas
direcciones de coordenadas. si la variación es aleatoria, se dicen que son Afines
estadísticamente. se han utilizado para modelar relieves y terrenos (superficies de planetas
con montañas y cráteres) invariantes, se forman con transformaciones no lineales. Esta
clase de fractales incluye los fractales autocuadráticos, tales como el conjunto de
mandelbrot, que se forman con funciones cuadráticas, con solución en los complejos.
• Dimensión fractal o dimensión fraccional.- La cantidad de variación en el detalle de un
objeto. A diferencia de la dimensión euclidiana, la dimensión fractal no es necesariamente
un entero. En la geometría euclidiana, una línea tiene dimensión 1, un plano tiene
dimensión 2, un sólido tiene dimensión 3.
• Gramáticas de formas.- La gramática de formas son un conjunto de reglas de producción
que se pueden aplicar en un objeto inicial para agregar niveles de detalles que concuerdan
con la forma original. Se pueden aplicar transformaciones para alterar la geometría (forma)
del objeto, o es posible aplicar las reglas de transformación para agregar detalles de color
de la superficie o la textura a la superficie.
• Gramáticas l-system.- La topología de un árbol se puede describir como un tronco, con
algunas ramas y hojas unidas. Así un árbol se puede modelar con reglas para ofrecer una
conexión particular de las ramas y hojas de las ramificaciones individuales. La descripción
geométrica se da, entonces, al situar las estructuras de los objetos en posiciones
coordenadas particulares. Estos modelos usan lenguajes formales, gramáticas paralelas
llamadas l-system (por lindermayer), para describir algorítmicamente y se parecen mucho a
los fractales. En estas gramáticas las reglas de producción se aplican en paralelo para
proveer una frase terminal que describe el objeto. En las l-system, cada símbolo terminal
representa una parte del objeto o un comando de dirección para ser interpretado por un
mecanismo de dibujo tridimensional.
• Sistemas de partículas.- Un método para modelar objetos naturales u otros objetos con
formas irregulares, que presentan propiedades de “tipo fluido” es el de los sistemas de
partículas. Este método es de especial utilidad para describir objetos que cambian con el
paso del tiempo por flujo, oleada, rociada o expansión. Se utiliza el proceso aleatorio para
generar objetos en alguna región de espacio definida y variar sus parámetros con el paso del
tiempo. Las formas de partículas pueden ser esferas, elipsoides, recuadros pequeños u otras
formas.
• Modelado con base en las características físicas.- Un objeto no rígido, se puede
representar con métodos de modelado con base en las características físicas. Un método
común para modelar un objeto no rígido es aproximar el objeto con una red de nodos de
punto con conexiones flexibles entre nodos. Un tipo sencillo de conexión es un resorte. En
lugar de utilizar resortes, también podemos modelar las conexiones entre nodos materiales
elásticos, entonces reducimos al mínimo las funciones de energía de tensión para
determinar la forma del objeto bajo la influencia de fuerzas externas.
Apuntes de www.mitecnologico.com
//Realizar una clase línea
public class Linea{
private Color color;
private float tamano;
private String nombre;
private Punto origen;
private Punto destino;
public Linea() {
super();
color=Color.RED;
tamano=2.0f;
}
public Linea(Color c,float t) {
color=c;
tamano=t;
}
public Punto getOrigen(){return origen;}//nos devuelve el punto origen de la linea
public void setOrigen(Punto p){origen=p;}//se la asignamos
public Punto getDestino(){return destino;}//Nos devuelve el punto destino de la linea
public void setDestino(Punto p){destino=p;}//se la asignamos
public String getName(){return nombre;}//nos devuelve el nombre de la linea
public void setName(String s){nombre=s;}//se la asignamos
public String toString(){return nombre;}//nos devuelve una cadena
public void setColor(Color c){color=c;}//asignamos el color de la linea
public Color getColor(){return color;}//nos devuelve el color de la linea
public void setTamano(float t){tamano=t;}//asignamos el tamaño
public float getTamano(){return tamano;}//nos devuelve el tamaño
}
Y en la clase Punto tengo :
public class Punto{
private int x;
private int y;
private Color color;
public Punto(int x,int y){
this.x=x;
this.y=y;
}
public int getX(){return x;}
public int getY(){return y;}
}
Descargar