lunes, 12 de septiembre de 2011

Transformaciones Geometricas

Habitualmente, un paquete gráfico permite al usuario especificar que parte de unaimagen definida se debe visualizar y dónde esta parte se debe colocar en el dispositivo devisualización. Cualquier sistema de coordenadas que sea conveniente, referido al sistema dereferencia de coordenadas del mundo, se puede usar para definir la imagen.

Transformaciones bidimensionales

Traslación

Se aplica una traslación en un objeto para cambiar su posición a lo largo de latrayectoria de una línea recta de una dirección de coordenadas a otra. Convertimos unpunto bidimensional al agregar las distancias de traslación,
tx, y, ty a la posición decoordenadas original (x, y) para mover el punto a una nueva posición (x’, y’).

Rotación

Se aplica una rotación bidimensional en un objeto al cambiar su posición a lo largo de latrayectoria de una circunferencia en el plano de xy. para generar una rotación,especificamos un ángulo de rotación θ y la posición (xr , yr) del punto de rotación (o puntopivote) 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 estaoperación para polígonos al multiplicar los valores de coordenadas
(x, y) de cada vértice porlos factores de escalación sx ys  y para producir las coordenadas transformadas (x’, y’)

Coordenadas homogéneas y representaciónmatricial

En las aplicaciones de diseño y de creación de imágenes, realizamos traslaciones,rotaciones y escalaciones para ajustar los componentes de la imagen en sus posicionesapropiadas. En este tema consideramos cómo se pueden volver a formular lasrepresentaciones de la matriz de modo que se pueden procesar de manera eficiente esassecuencias de transformación.Es posible expresar cada una de las transformaciones básicas en la forma de matrizgeneral con las posiciones de coordenadas P y P’ representadas como columnas de vector.

Composición de transformacionesbidimensionales

Con las representaciones de matriz del tema anterior, podemos establecer una matrizpara cualquier secuencia de transformaciones como una matriz de transformacióncompuesta al calcular el producto de la matriz de las transformaciones individuales. Lacreación de productos de matrices de transformación a menudo se conoce comoconcatenación o composición de matrices

Traslaciones
Se se aplican dos vectores de traslación sucesivos (t x1, t y1) y (t x2 , t y2 ) en la posiciónde coordenadas P, la localización transformada final P, la localización transformada final P’se calcula como:

P'=T (t  x2,t  y2)·T (t  x1,t  y1)·P}={T (t  x2,t  y2)·T (t  x1,t  y1)}·P

Rotaciones
Dos rotaciones sucesivas que se aplican en el punto P producen la posicióntransformada

P'=R(θ 2)·R(θ 1){·P}=R(θ 2){· R(θ 1)}·P

Al multiplicar las dos matrices de rotación, podemos verificar que dos rotacionessucesivas son aditivas:

R(θ 2)· R(θ 1)=R(θ 1+θ 2)

de modo que es posible calcular las coordenadas giradas finales con la matriz derotación compuesta como

P'=R(θ 1+θ 2)·P

Escalaciones
Concatenar matrices de transformación para dos operaciones de escalación sucesivasproduce la siguiente matriz de escalación compuesta:

La matriz resultante en este caso indica que las operaciones de escalación sucesivasson multiplicativas. Es decir, si debiéramos triplicar el tamaño de un objeto dos veces enuna sucesión, el tamaño final sería nueve veces el tamaño original.

Rotación del punto pivote general
Con un paquete gráfico que sólo ofrezca una función de rotación para girar objetoscon respecto del origen de las coordenadas, podemos generar casi cualquier punto pivoteseleccionado (xr , y r ) al realizar la siguiente secuencia de operaciones de traslación-rotación-traslación:

1.Traslade el objeto de modo que se mueva la posición del punto pivote al origende las coordenadas.

2.Gire el objeto con respecto del origen de las coordenadas.

3.Traslade el objeto de manera que se regrese el punto pivote a su posiciónoriginal.


Escalación del punto fijo general
La siguiente figura ilustra una secuencia de transformación para producir escalacióncon respecto de una posición fija seleccionada (x f , yf ) al utilizar una función de escalaciónque sólo puede escalar en relación con el origen de las coordenadas.

1.Traslade el objeto de modo que el punto fijo coincida con el origen de lascoordenadas.
2. Escale el objeto con respecto del origen de las coordenadas
3.Utilice la traslación inversa del paso 1 para regresar el objeto a su posiciónoriginal.

Propiedades de concatenación
La multiplicación de matrices es asociativa. Para tres matrices cualesquiera A, B y C, elproducto matricial A·B·C se puede lelvar a cabo al multiplicar primero a por B o multiplicarprimero B por C:
A· B·C =( A· B)·C =A·( B·C )

Por tanto, podemos evaluar los productos matriciales al utilizar una agrupaciónasociativa ya sea de izquierda a derecha o de derecha a izquierda.Por otro lado, los productos de la transformación tal vez no sean conmutativos. engeneral el producto matricial A·B no es igual que B·A. Esto significa queremos trasladar ygirar un objeto, debemos tener cuidado sobre el sentido en que se evalúa la matriz compuesta.

Transformación ventana-área de vista
Algunos paquetes gráficos permiten que el programador especifique coordenadas deprimitivas de salida en un sistema de coordenadas de mundo de punto flotante, usando las unidades que sean relevantes para el programa de aplicación: angstroms, micras, metros,millas, años luz, etcétera. Se emplea el término de mundo porque el programa de aplicaciónrepresenta un mundo que se crea o presenta interactivamente para el usuario:Como las primitivas de salida se expresan en coordenadas de mundo, hay que indicar alpaquete de subrutinas gráficas cómo establecer la correspondencia entre las coordenadasde mundo y las coordenadas de pantalla (usaremos el término específico coordenadas depantalla para relacionar este análisis específicamente con SRGP, pero podrían usarsedispositivos de impresión, en cuyo caso sería más apropiado el término coordenadas dedispositivo).

Transformaciones de composición general y deeficiencia computacional
Una transformación bidimensional general, que representa una combinación detraslaciones, rotaciones y escalaciones se puede expresar como
Los cuatro elementos rsij son los términos multiplicativos de rotación -escalación en atransformación que implican sólo ángulos de rotación y factores de escalación. Loselementos trs x ytrs  y son los términos de traslación que contienen combinaciones dedistancias de traslación, coordenadas de punto pivote y de punto fijo, así como de ángulosde rotación y parámetros de escalación.Por ejemplo, si debe escalar, girar un objeto con respecto de las coordenadas de sucentroide (x c , y c ) y después trasladarlo.


Representación matricial de transformacionestridimensionales
Así como las transformaciones bidimensionales se pueden representar con matrices de3 X 3 usando coordenadas homogéneas, las transformaciones tridimensionales se puedenrepresentar con matrices de 4 X 4, siempre y cuando usemos representaciones decoordenadas homogéneas de los puntos en el espacio tridimensional. Así, en lugar derepresentar un punto como (x, y, z ), lo hacemos como (x, y, z, W ), donde dos de estoscuádruplos representan el mismo punto si uno es un multiplicador distinto de cero del otro:no se permite el cuádruplo (0, 0, 0, 0). Como sucede en el espacio bidimensional, larepresentación estándar de un punto (x, y, z, W ) con W ≠ 0 se indica (x/W, y/W, z/W, 1).

Composición de transformacionestridimensionales
En este apartado se analizará la forma de componer matrices de transformacióntridimensionales usando un ejemplo. El objetivo es transformar los segmentos de líneadirigida P 1P 2 yP 1P 3 en la figura 2.18 de su posición inicial en la parte (a) a su posición finalen la parte (b). De esta manera, el punto P 1 se trasladará al origen P 1P 2 quedará en el ejepositivo yP 1P 3 quedará en la mitad del eje positivo del plano (x, y ). Las longitudes de laslíneas no se verán afectadas por la transformación.

Imagen Vectoreal

Una imagen vectorial es una imagen digital formada por objetos geométricos independientes (segmentos, polígonos, arcos, etc.), cada uno de ellos definido por distintos atributos matemáticos de forma, de posición, de color, etc. Por ejemplo un círculo de color rojo quedaría definido por la posición de su centro, su radio, el grosor de línea y su color.
Este formato de imagen es completamente distinto al formato de los gráficos rasterizados, también llamados imágenes matriciales, que están formados por píxeles. El interés principal de los gráficos vectoriales es poder ampliar el tamaño de una imagen a voluntad sin sufrir el efecto de escalado que sufren los gráficos rasterizados. Asimismo, permiten mover, estirar y retorcer imágenes de manera relativamente sencilla. Su uso también está muy extendido en la generación de imágenes en tres dimensiones tanto dinámicas como estáticas.
Todos los ordenadores actuales traducen los gráficos vectoriales a gráficos rasterizados para poder representarlos en pantalla al estar ésta constituida físicamente por píxeles.

Mapping

Bump mapping es una técnica de gráficos computacionales 3D creada por James F. Blinn en 1978. Consiste en dar un aspecto rugoso a las superficies de los objetos. Esta técnica modifica las normales de la superficie sin cambiar su geometría. Las normales originales de la superficie seguirán perpendiculares a la misma. El bump mapping cambia la perpendicularidad por otras normales para lograr el efecto deseado, todo ello sin modificar la topología ni la geometría del objeto. El resultado es razonablemente rico y detallado, y pueden lograrse grandes parecidos a elementos naturales (como la textura de una naranja). La diferencia entre mapeado de desplazamiento (displacement mapping) y bump mapping es que con bump mapping no se perturba la geometría solo la dirección del campo normal.

Vector

Un vector es todo segmento de recta dirigido en el espacio. Cada vector posee unas características que son:

Origen
O también denominado Punto de aplicación. Es el punto exacto sobre el que actúa el vector.

Módulo
Es la longitud o tamaño del vector. Para hallarla es preciso conocer el origen y el extremo del vector, pues para saber cuál es el módulo del vector, debemos medir desde su origen hasta su extremo.

Dirección
Viene dada por la orientación en el espacio de la recta que lo contiene.

Sentido
Se indica mediante una punta de flecha situada en el extremo del vector, indicando hacia qué lado de la línea de acción se dirige el vector.

Hay que tener muy en cuenta el sistema de referencia de los vectores, que estará formado por un origen y tres ejes perpendiculares. Este sistema de referencia permite fijar la posición de un punto cualquiera con exactitud.

Glosario

GlosarioRaytracing
El raytracing o trazado de rayos es un algoritmo para síntesis de imágenes tridimensionales. Propuesto inicialmente por Turner Whitted en 1980, está basado en el algoritmo de determinación de superficies visibles de Arthur Appel denominado Ray Casting (1968).

Clipping
Clipping es una voz inglesa que se traduce como compendio, resumen, recopilación. En España se utiliza para designar la colección de artículos de prensa en que una empresa determinada ha aparecido en forma de noticia. 

transformación
El término transformación hace referencia a la acción o procedimiento mediante el cual algo se modifica, altera o cambia de forma manteniendo su identidad. Adjetivo: transformada, transformado

Raster
Una imagen rasterizada, también llamada mapa de bits, imagen matricial o bitmap, es una estructura o fichero de datos que representa una rejilla rectangular de píxeles o puntos de color, denominada raster, que se puede visualizar en un monitor, papel u otro dispositivo de representación.

Pipeline
La arquitectura en pipeline (basada en filtros) consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior.

Render
Renderizado (render en inglés) es un término usado en jerga informática para referirse al proceso de generar una imagen desde un modelo. Este término técnico es utilizado por los animadores o productores audiovisuales y en programas de diseño en 3D.

 API
Una interfaz de programación de aplicaciones o API (del inglés Application Programming Interface) es el conjunto de funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Son usadas generalmente en las bibliotecas (también denominadas comúnmente "librerías").

CRT
El tubo de rayos catódicos (CRT del inglés Cathode Ray Tube) es una tecnología que permite visualizar imágenes mediante un haz de luz constante a una pantalla de vidrio recubierta de fósforo y plomo.

Led
Un led1 (de la sigla inglesa LED: Light-Emitting Diode: ‘diodo emisor de luz’) es un diodo semiconductor que emite luz. Se usan como indicadores en muchos dispositivos, y cada vez con mucha más frecuencia, en iluminación.

VGA
El término Video Graphics Adapter (VGA) se utiliza tanto para denominar al sistema gráfico de pantallas para PC (conector VGA de 15 clavijas D subminiatura que se comercializó por primera vez en 1988 por IBM); como a la resolución 640 × 480. Si bien esta resolución ha sido reemplazada en el mercado de las computadoras, se está convirtiendo otra vez popular por los dispositivos móviles. 

DVD
El DVD es un disco óptico de almacenamiento de datos cuyo estándar surgió en 1995. Sus siglas corresponden con Digital Versatile Disc1 en inglés (disco versátil digital traducido al español). En sus inicios, la v intermedia hacía referencia a video (digital videodisk), debido a su desarrollo como reemplazo del formato VHS para la distribución de vídeo a los hogares

Memoria  RAM
La memoria de acceso aleatorio (en inglés: random-access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones y guarda los resultados.

OCR
El Reconocimiento Óptico de Caracteres (OCR), así como el reconocimiento de texto, en general son aplicaciones dirigidas a la digitalización de textos. Identifican automáticamente símbolos o caracteres que pertenecen a un determinado alfabeto, a partir de una imagen para almacenarla en forma de datos con los que podremos interactuar mediante un programa de edición de texto o similar.

GIF (Compuserve GIF)
Es un formato gráfico utilizado ampliamente en la World Wide Web, tanto para imágenes como para animaciones.
El formato fue creado por CompuServe en 1987 para dotar de un formato de imagen en color para sus áreas de descarga de ficheros, sustituyendo su temprano formato RLE en blanco y negro.

BMP
Windows bitmap (.BMP) es el formato propio del programa Microsoft Paint, que viene con el sistema operativo Windows. Puede guardar imágenes de 24 bits (16,7 millones de colores), 8 bits (256 colores) y menos.