♥ UNIDAD 2 ♥
" GRAFICACION EN 2-D "
Trazo De Lineas Rectas:
Linea Recta:
En geometría euclidiana, la recta o la línea recta, se extiende en una misma dirección, existe en una sola dimensión y contiene infinitos puntos; está compuesta de infinitos segmentos (el fragmento de línea más corto que une dos puntos). También se describe como la sucesión continua e indefinida de puntos en una sola dimensión, es decir, no posee principio ni fin.
Algoritmo de Bresenham para trazar líneas:
El algoritmo de Bresenham es un algoritmo creado para dibujar rectas en los dispositivos de gráficos rasterizados, como por ejemplo un monitor de ordenador, que determina qué pixeles se rellenarán, en función de la inclinación del ángulo de la recta a dibujar.
Es un algoritmo preciso para la generación de líneas de ratreo que convierte mediante rastreo las líneas al utilizar solo cálculos incrementales con enteros que se pueden adaptar para desplegar circunferencias y curvas. Los ejes verticales muestran las posiciones de rastreo y los ejes horizontales identifican columnas de pixel.
Si 0<|m|<1
*Se capturan los extremos de la línea y se almacena el extremo izquierdo en (x0,y0).
*Se carga (x0,y0) en el bufer de estructura (se traza el primer punto)
*Se calculan las constantes Δx,Δy, 2Δy y 2Δy-Δx y se obtiene el valor inicial para el
parametro de decisión p0=2Δy-Δx.
Para j=0 mientras j<Δx
*En cada xk a lo largo de la línea, que inicia en k=0 se efectúa la prueba siguiente:
Si pk<0
*Trazamos (xk+1,yk).
*Asignamos pk+1= pk+2Δy.
Sino
*Trazamos (xk+1,yk+1).
*Asignamos pk+1= pk+2Δy-2Δx.
Fin Para
Si |m|>1
*Recorremos la dirección en pasos unitarios y calculamos los valores sucesivos
de x que se aproximen más a la trayectoria de la línea.
Reprsentacion Y Trazo De Poligonos:
Polígono:
![]() | ![]() | ![]() |
| Polígono (lados rectos) | No es un polígono (tiene una curva) | No es un polígono (abierto, no cerrado) |
Tipos de polígonos
- Simple o complejo
Un polígono simple sólo tiene un borde que no se cruza con él mismo. Uno complejo se interseca consigo mismo.
![]() | ![]() |
| Polígono simple (este es un pentágono) | Polígono complejo (también es un pentágono) |
- Cóncavo o convexo
Un polígono convexo no tiene ángulos que apunten hacia dentro. En concreto, los ángulos internos no son mayores que 180°.
Si hay algún ángulo interno mayor que 180° entonces es cóncavo.
![]() | ![]() |
| Convexo | Cóncavo |
- Regular o irregular
Si todos los ángulos son iguales y los lados también, es regular, si no es irregular
![]() | ![]() |
| Regular | Irregular |
Analizador Diferencial Digital
Una implementación de hardware o software de un Analizador Diferencial Digital (DDA) se usa para la interpolación lineal de variables sobre un intervalo entre un punto de comienzo y un punto de fin. Los DDAs se usan para rastreo de lineas, triangulos y polígonos. En la implementación mas simple del algoritmo DDA interpola valores en intervalo [(xinicio, yinicio), (xfin, yfin)] por calculo para cada xi las ecuaciones xi = xi−1+1, yi = yi−1 + Δy/Δx, donde Δx = xfin − xinicio y Δy = yfin − yinicio.
Si m>=0 (pendiente positiva)
Si m<=1
de izquierda a derecha
* muestreo de x (Δx =1)
* yk+1 = redondeo(yk + m) k=1,2,...
de derecha a izquierda
* muestreo de x (Δx =-1)
* yk+1 = redondeo(yk - m) k=1,2,...
Si m > 1 (para evitar la aparición de agujeros)
de izquierda a derecha
* muestreo de y (Δy =1)
* xk+1 = redondeo(xk + 1/m) k=1,2,...
de derecha a izquierda
* muestreo de y (Δy =-1)
* xk+1 = redondeo(xk - m) k=1,2,...
Si m<0 (pendiente negativa)
Si |m|<1
de izquierda a derecha
* muestreo de x (Δx =1)
* yk+1 = redondeo(yk + m) k=1,2,...
de derecha a izquierda
* muestreo de x (Δx =-1)
* yk+1 = redondeo(yk - m) k=1,2,...
Si |m| > 1 (para evitar la aparición de agujeros)
de izquierda a derecha
* muestreo de y (Δy =1)
* xk+1 = redondeo(xk + 1/m) k=1,2,...
de derecha a izquierda
* muestreo de y (Δy =-1)
* xk+1 = redondeo(xk - m) k=1,2,...
Tranformaciones bidimensionales:
Las transformaciones nos permiten alterar de una forma uniforme toda la imagen. Es un hecho que a veces es más fácil modificar toda la imagen que una porción de ella. Esto supone un complemento muy útil para las técnicas de dibujo manual, donde es normalmente más fácil modificar una pequeña porción del dibujo que crear un dibujo completamente nuevo.
Traslación:
Se aplica una traslació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 distancias de traslación, tx y ty la posición de coordenadas original (x,y)
El par de distancia de traslación se llama vector de traslación o vector de cambio.
Se pueden expresar las ecuaciones anteriores en una sola ecuación matricial al utilizar vectores de columna para representar las posiciones de coordenadas y el vector de traslación
Los polígonos se trasladan al sumar el vector de traslación a la posición de coordenadas de cada vértice y se vuelve a generar el polígono utilizando un nuevo conjunto de coordenadas y vértices y las especificaciones actuales de los atributos.
Esta transformación geométrica se usa para mover un objeto grupo de objetos alrededor de un punto.
Como puedes observar, los vectores que unen cada punto de la figura 1 con sus transformados de la figura 2 (AA', BB', CC') tienen el mismo módulo, la misma dirección y el mismo sentido.
Además, la figura 2 tiene la misma forma y el mismo tamaño que la figura 1.
A este movimiento se le llama traslación de vector v, siendo el vector libre definido por cualquiera de los vectores anteriores.
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 xy.
Para generar una rotación, especificamos un ángulo de rotación θ y la posición(x r ,y r )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 s x y s y para producir las coordenadas transformadas (x’, y’ ).
Permite cambiar el tamaño de un objeto expandiéndolo o contrayéndolo en sus dimensiones.
Representacion Matricial:
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 posiciones apropiadas. En este tema consideramos cómo se pueden volver a formular las representaciones de la matriz de modo que se pueden procesar de manera eficiente esas secuencias de transformación. Es posible expresar cada una de las transformaciones básicas en la forma de matriz general con las posiciones de coordenadas P y P’ representadas como columnas de vector.
Con las representaciones de matriz podemos establecer una matriz para cualquier secuencia de transformaciones como una matriz de transformación compuesta al calcular el producto de la matriz de las transformaciones individuales. La creación de productos de matrices de transformación a menudo se conoce como concatenación o composición de matrices.
- Traslaciones
Donde se representan P y P’ como vectores de columna de coordenadas homogéneas. Podemos verificar este resultado al calcular el producto de la matriz para las dos agrupaciones asociativas. Asimismo, la matriz de transformación compuesta para esta secuencia de transformaciones.
- Rotaciones
Al multiplicar las dos matrices de rotación, podemos verificar que dos rotaciones sucesivas son aditivas
- Escalamiento
La siguiente figura ilustra una secuencia de transformación para producir escalación con respecto de una posición fija seleccionada (xf,f) al utilizar una función de escalación que sólo puede escalar en relación con el origen de las coordenadas
Propiedades de concatenación
La multiplicación de matrices es asociativa. Para tres matrices cualesquiera A, B y C, el producto matricial A·B·C se puede llevar a cabo al multiplicar primero a por B o multiplicar primero B por C:2.35.A · BC=( A· B)·C =A·( B·C)
Por tanto, podemos evaluar los productos matriciales al utilizar una agrupación asociativa 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. En general el producto matricial A·B no es igual que B·A. Esto significa queremos trasladar y girar un objeto, debemos tener cuidado sobre el sentido en que se evalúa la matriz compuesta.
Ventana Y Puerto de Vision:
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. La figura ilustra el trazo o planimetría de la selección de una imagen que queda dentro del área de ventana en una puerta de visión designada. Esta planimetría se llama transformación de la visión o bien transformación de normalizació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.
CONCLUSIONES:
En esta unidad aprendimos acerca de los gráficos 2D o bidimensionales. Éstos solo cuentan con 2 propiedades, largo y ancho, y en un plano, ocuparían los ejes x e y.
Un ejemplo muy de un grafo de una sola dimensión es una línea, que es una sucesión de puntos infinitos que cuenta con un punto inicial y un punto final.
Existen diversos algoritmos para trazar lineas rectas como el Analizador Diferencial Digital, pero uno mas especializado a lineas rectas es el algoritmo de Bresenham que determina que pixeles se rellenaran en función al grado de inclinación de la recta.
A partir de estas lineas rectas unidimensionales podemos crear figuras bidimensionales, como lo son los polígonos, los cuales están formados por lineas que encierran una determinada área. A las lineas que forman al polígono se les llama lados o aristas y al punto donde se unen dos lineas se llama vértice.
Existe una clasificación para polígonos, si son simples o complejos, cóncavos o convexos (ángulos) o regulares o irregulares (lados iguales). En este caso, para trazar polígonos en una computadora, es mas efectivo el algoritmo diferencial digital.
Los objetos bidimensionales pueden transformarse. Si cambian su posición en el plano, se le llama Traslación. Si aumenta o disminuye su tamaño, se llama Escalamiento. Si gira o cambia su posición respecto a los grados de algún punto, se llama Rotación.
Además, para poder visualizar determinada parte de algún objeto bidimensional, se hace uso de las ventanas o puerto de visión, los cuales, de determinado objeto creado, permite visualizar en el monitor un área seleccionada.
BIBLIOGRAFIA:
http://graficasmotul.blogspot.mx/2009/09/traslacion-rotacion-y-escalacion.html
http://www.scribd.com/doc/128947868/Ventana-y-puerto-de-vision














No hay comentarios:
Publicar un comentario