martes, 17 de septiembre de 2013

2.5 Ventana y puerto de visión

Un área rectangular que se especifica en coordenadas mundiales se denomina ventana. El área rectangular en el dispositivo de despliegue en el cual se coloca la ventana se llama puerta de visión.




Los límites de la ventana se especifican en coordenadas mundiales. Las coordenadas de dispositivo normalizadas se usan con mayor frecuencia para la especificación de la puerta visión, aunque las coordenadas del dispositivo pueden emplearse si hay solamente un dispositivo de salida en el sistemas. Cuando se usan coordenadas de dispositivo normalizadas, el programador considera el dispositivo de salida como aquel que tiene valores coordenados dentro del intervalo de 0 a 1.



Las posiciones de coordenadas que se expresan en coordenadas de dispositivo normalizadas deben convertirse a las coordenadas del dispositivo antes de que un dispositivo de salida específico haga el despliegue. Una rutina específica del dispositivo se incluye en paquetes de gráficas con este fin. La ventaja de emplear coordenadas de dispositivo normalizadas es que el paquete de gráficas es considerablemente independiente del dispositivo. Pueden utilizarse distintos dispositivos de salida ofreciendo los conductores adecuados del dispositivo.

Cambiando la posición de la puerta de visión, los objetos pueden desplegarse en diferentes posiciones en un dispositivo de salida. Asimismo, variando el tamaño de las puertas de visión, el tamaño y las proporciones de los objetos pueden alterarse. Cuando se trazan en forma sucesiva ventanas de diferentes tamaños en una puerta de visión, pueden lograrse efectos de acercamiento. Conforme las ventanas se hacen pequeñas, un usuario puede lograr el acercamiento de alguna parte de una escena para visualizar detalles que no se muestran con las ventanas mayores.

Analógicamente, puede obtener un panorama general más amplio realizando un acercamiento de una sección de escena con ventanas cada vez más mayores. Los efectos de toma panorámica se producen moviendo o desplazando una ventana de tamaño fijo a través de una imagen grande.

Un ejemplo del uso de comandos múltiples de colocación de ventanas y puertas de visión se da en el siguiente procedimiento. Se despliegan dos graficas en diferentes mitades de un dispositivo de despliegue


Otro método de establecer múltiples áreas para la colocación de ventanas y puertas de visión en un paquete de gráficas consiste en asignar un rotulo a cada especificación. Esto podría hacerse incluyendo un quinto parámetro en los comandos de ventana y puertas de visión para identificar cada área definida. El parámetro puede ser un índice entero (0, 1, 2,…) que numere la definición de la ventana o puerta de visión. Entonces se necesita un comando adicional para indicar un conjunto de proporciones de salida. Este esquema de enumeración podría utilizarse también para asociar una prioridad con cada puerta de visión de manera que la visibilidad de las puertas de visión superpuestas se decida sobre una base de prioridad. En la Figura 4 se muestran puertas de visión desplegadas según su prioridad.



Para implantaciones que incluyen estaciones de trabajo múltiples, podría definirse un conjunto adicional de comandos de colocación de ventanas y puertas de visión. Estos comandos incluyen un número de estación de trabajo para establecer diferentes áreas de ventana y puertas de visión en diferentes estaciones de trabajo. Esto permitirá a un usuario desplegar varias partes de la imagen final en diferentes dispositivos de salida. Por ejemplo, un arquitecto podría desplegar la totalidad de un plano de una casa en un monitor y solamente el segundo piso en un segundo monitor.

ALGORITMOS DE RECORTE

El trazo del área de una ventana en una puerta de visión produce el despliegue solamente de las partes de la imagen que están dentro de la ventana. Todo lo que está afuera de la venta se desprecia. Los procedimientos para eliminar todas las partes de una imagen definida situada fuera de fronteras específicas se conocen como algoritmos de recorte de recorte o simplemente recorte.

La transformación de colocación de ventanas a menudo se realiza por recorte de la ventana, trazando después el interior de la ventana en la parte de visión . Alternativamente, algunos paquetes trazan la definición en coordenadas mundiales en coordenadas de dispositivo normalizadas primero y después se recortan los límites de la puerta de visión.

El recorte de puntos contra una especificación de ventana simplemente significa que se prueban valores coordenados para determinar si están o no dentro de las fronteras. Un punto en la posición (x,y) se salva para la transformación en una puerta de visión si satisface las siguientes desigualdades:

Si alguna de estas cuatro desigualdades no se cumple, el punto se recorta. En la figura 5, el punto P, se salva y el punto P2 se recorta.




Un algoritmo de recorte de líneas determina cuales líneas están totalmente dentro de las fronteras de la ventana y las cuáles se recortarán total o parcialmente. Para las líneas que se recortarán en forma parcial, los puntos de intersección con las fronteras de la ventana deben calcularse. Como la definición de una imagen puede contener miles de segmentos de línea, el proceso de recorte debe efectuarse lo más eficientemente posible. Antes de realizar cálculos de intersecciones, un algoritmo debe identificar todas las líneas que se salvarán o que se recortarán por completo. Una vez que se prescinde de estas líneas la determinación de los puntos de intersección de las líneas restantes debe efectuarse con un mínimo de cálculos.

Un punto de vista de recorte de líneas se basa en un esquema de color creado por Cohen y Sutherland. Todos y cada uno de los extremos de las líneas de una imagen son asignados a un código binario de cuatro dígitos o cifras, llamado código de región, que identifica la región coordenada del punto. Las regiones se establecen en relación con las fronteras de la ventana, como se muestra en la figura 6. Cada posición de bit del código de región se utiliza para indicar una de las cuatro posiciones coordenadas relativas del punto con respecto a la ventana: a la izquierda, derecha, arriba o abajo. Numerando las posiciones de los bits del código de región como de 1 a 4 de izquierda a derecha, las regiones coordenadas pueden correlacionarse con las posiciones de los bits como

Bit 1 - Izquierda

Bit 2 - Derecha

Bit 3 - Abajo

Bit 4 – Arriba


Un valor de 1 en cualquier posición de bit indica que el punto está en esa posición relativa; en caso contrario, la posición del bit se hace 0. Si un punto está dentro de la ventana, el código de región es 0000. Un punto que está dentro de la ventana, tiene un código de región de 0101.

Los valores de los bits del código de región se determinan comparando los valores coordenados de los extremos (x , y) en los límites de la ventana. El bit 1 se hace 1 si x < xwmin. Los tres valores de los bits pueden determinarse mediante el uso e comparaciones análogas. Para lenguajes en los cuales es posible la manipulación de bits, los valores de los bits del código de región pueden determinarse por medio de estas etapas: (1) Calcule las diferencias entre las coordenadas de los extremos y las fronteras de la ventana. (2) Utilice el bit del signo resultante de cada cálculo de diferencia para fijar el valor correspondiente en el código de región. El bit 1 es el bit signo de x -xwmin ; el bit 2 es el bit signo de xwmax – x ; el bit 3 es el signo de y- ywmin y el bit 4 es el bit signo ywmax – y.

Una vez que se han establecido códigos de región de todos los puntos extremos de las líneas, se puede determinar rápidamente cuáles líneas están completamente dentro de la ventana y cuales están afuera con toda claridad.

Las líneas que no pueden identificarse como completamente dentro o completamente fuera de una ventana por medio de estas pruebas se verifican de intersección con las fronteras de la ventana. Cómo se muestra en la figura 7 tales líneas pueden o no atravesar el interior de la ventana. Podemos procesar estas líneas comparando un punto externo que esta fuera de la ventana con una frontera de la ventana para determinar qué cantidad de la línea puede despreciarse. Por tanto la parte remanente de la línea se verifica contra las otras fronteras y se continua hasta que la línea se descarta por completo o bien en hasta que se halla una sección en el interior de la ventana. Se construye el algoritmo para verificar extremos de líneas contra las fronteras de ventanas en el orden izquierda, derecha, abajo, arriba.

Para ilustrar las etapas específicas del recorte de líneas contra las fronteras de ventanas mediante el uso del algoritmo Cohen-Sutherland, se muestra la forma en que las líneas de la figura 7 podrían ser procesadas. Comenzando con el extremo inferior de la línea P1 a P2, se verifica P1 contra las fronteras izquierda, derecha e inferior en turno y se halla que este punto está debajo de la ventana. Después se encuentra el punto de intersección P’1 con la frontera inferior y se desprecia la sección de la línea que va de P1 a P’1. La línea ahora se ha reducido a la sección de P’1 a P2. Como P2 está fuera de la ventana, se verifica este punto extremo contra las fronteras y se observa que está arriba de la ventana. El punto de intersección P’2 se calcula y se salva la sección de la línea P’1 a P’2.

Los puntos de intersección con la frontera de la ventana se calculan mediante el uso de los parámetros de la ecuación de la recta. Para una recta con coordenadas de puntos extremos (x1, y1) y ( x2, y2), la coordenada y del punto de intersección con una frontera vertical de ventana puede obtenerse con la operación

y = y1 + m ( x - x1)

Donde el valor x se hace igual a xwmin o bien xwmax y la pendiente m se calcula como = ( y2 –y1) / ( x2 -x1). Analógicamente, se busca la intersección con una frontera horizontal, la coordenada x puede calcularse como

Cada calculo de una coordenada de punto medio implica sólo una adición y una división por 2 (una operación de corrimiento). Una vez que se han determinado las coordenadas del punto medio, cada mitad de la línea puede ser probada para aceptación o rechazo total. Si la mitad de la línea puede aceptarse o despreciarse, entonces la otra mitad se procesa en la misma forma. Esto continúa haciéndose hasta que se halle un punto de intersección. Si una mitad de la línea no puede ser aceptada o despreciada trivialmente, cada mitad se procesa hasta que la línea se desprecie por completo o bien se advierta una sección visible.

Transformación ventana-área de vista

El modelo del mundo que se quiere representar almacena los objetos expresados usando un sistema de coordenadas reales llamado sistema de coordenadas del mundo, en el que los objetos se expresan en cualquier unidad que tenga significado par la aplicación.

La aplicación dibuja los objetos en un sistema de coordenadas enteras, llamado sistema de coordenadas de dispositivo. Es necesario hacer una correspondencia que transforme coordenadas de un sistema en otro y viceversa. Lo que hacemos es expresar una ventana en coordenadas del mundo, en un puerto de visión expresado en coordenadas de dispositivo. La pantalla viene definida por un sistema de coordenadas enteras (píxeles).




Estos cálculos de transformación de ventana en puerta de visión pueden expresarse de la siguiente forma:

xv=sx(xw-xwmín)+xvmín

yv=sx(yw-ywmín)+yvmín

Incluyen factores de escalación y traslación.

Conclusion:

Una venta es el área en la cual podemos apreciar las imágenes, esta tiene una configuracion predeterminada, el punto de visión es lo que vemos de la imagen, podemos hacer algunos cambios en en relacion a estas dos entidades para que al realizar nuestras imágenes sea mas fácil ir manipulándolas, es muy importante conocer estos conceptos ya que nos ayudan a hacer mas practico nuestro trabajo, conocer todo lo que podemos llegar a hacer al utilizar el diseño asistido por computadora y lo mas importante nos ayuda a comprender como es que funcionan las cosas en esto del CAD.

Referencias:



















No hay comentarios:

Publicar un comentario