Ir al contenido principal

2.1 Trazo de lineas rectas


• Linea:  Trazo largo y continuo en una sola dirección, la que permanecerá invariable durante toda su extensión.


Resultado de imagen para 2.1 Trazo de lineas rectas
 Trazo: Delineación con que se forma el diseño o planta de cualquier cosa.

Por lo que podemos confirmar, el puno es una "señal"  muy pequeña con forma circular originalmente y perceptible a simple vista; y la unión sucesiva de éstos forma una linea que tiene una dirección, magnitud, un punto de origen (DONDE SE INICIA EL TRAZO DE LA RECTA ) y punto final (HASTA DONDE LLEGA EL TRAZO); y al aplicarse estos elementos en algún gráfico o imagen, describe un contorno o un borde al que se llama trazo.

Estos elementos son tan importantes y básicos cualquier arte, técnica o ciencia que necesita plasmar un algo en una superficie.

Las formas de graficar una linea.
Hay dos tipos básicos de gráficos: Imágenes en mapa de bits (o rasterizadas) e imágenes vectoriales. En el primer caso, a continuación, se hablara de rectas rasterizadas.


Algoritmo DDA (Analizador Diferencial Digital)  para generación de líneas.

DDA: El Algoritmo DDA es un algoritmo de línea de conversión de rastreo que se basa en el cálculo ya sea en el incremento de X o en el incremento de Y. La finalidad de este algoritmo es determinar los valores enteros correspondientes más próximos a la trayectoria de la línea para la otra coordenada.
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, triángulos 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.

Explicando el algoritmo.

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,... 


Algoritmo de Bresenham

El algoritmo de Bresenham se generaliza para líneas con una pendiente arbitraria al considerar la simetría entre los diversos octantes y cuadrantes del plano de xy.
Para una línea con una pendiente m > 1, intercambiamos las funciones de las direcciones de x y y, o sea, pasamos a lo largo de y en pasos unitarios y calculamos los valores sucesivos de x que se aproximan mas a la trayectoria de la línea. Asimismo, podemos revisar el programa para trazar píxeles iniciando desde cualquier extremo.


Explicando el algoritmo.

Si 0<|m|<1 (m mayor que 0 y menor que 1)
1.- Capturar los extremos de la línea y se almacena el extremo izquierdo en las coordenadas (x0,y0)  que es el origen del sistema de coordenadas.
2.- Se carga las coordenadas (x0,y0) en el buffer de estructura  donde se trazara el primer punto.
3.- Se calculan las constantes  Δx ,Δy, 2Δy y 2Δy-Δx (Δx es lo mismo que decir, incremento en x) y se obtiene el valor inicial para el parámetro de decisión con la siguiente formula  p0=2Δy-Δx.
Para j=0 (j es una variable auxiliar), mientras j<Δx  (j mayor que incremento en 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.
Si no se cumple.
--Trazamos (xk+1,yk+1).
--Asignamos pk+1= pk+2Δy-2Δx.
Pero 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.


Algoritmo de Xiaolin Wu

El algoritmo de Xiaolin Wu es una mejora del algoritmo de Bresenham que permite dibujar rectas en dispositivos de gráficos rasterizados reduciendo el aliasing. El algoritmo se basa en dibujar parejas de pixeles a lo largo del trazado de la recta con diferentes intensidades en función de la cercanía a la recta real.

File:XiaolinWuLine.png

Comentarios

Entradas más populares de este blog

3.1 Representación de objetos de tres dimensiones

El diseño ayudado por ordenador representa un gran ahorro de esfuerzo y tiempo. Además se consiguen resultados extraordinarios con respecto a los procedimientos clásicos de diseño. Los programas de diseño industrial o arquitectónico admiten tres maneras de representación de objetos. Modelos bidimensionales del objeto o parte de él. Se reproducen separadamente las diferentes caras, planos o cortes para ser estudiados y modificados. Normalmente se utiliza una representación formal del objeto, obteniendo sus vistas desde diferentes puntos de visualización. Se denominan vistas principales de un objeto, a las proyecciones ortogonales del mismo sobre 6 planos, dispuestos en forma de cubo. También se podría definir las vistas como, las proyecciones ortogonales de un objeto, según las distintas direcciones desde donde se mire. Si situamos un observador según las seis direcciones indicadas por las flechas, obtendríamos las seis vistas posibles de un objeto.  Modelos tridimensi...

3.3 Transformaciones tridimensionales

Muchos de nuestros objetos del universo 3D serán estáticos, como paredes, terrenos y objetos de decoración, pero otros objetos requerirán movimiento. En 3D existen tres tipos de movimientos básicos que combinados conforman todas las alternativas necesarias. Estos movimientos se denominan transformaciones, dado que consisten en transformaciones lineales de coordenadas y son los siguientes: •  Traslación (translation): consiste en mover cada punto por una distancia constante, en una dirección específica. •    Rotación (rotation): movimiento de un objeto siguiendo una ruta circular. •    Escalado (scaling): incrementa o disminuye el tamaño de un objeto, por un factor de escalar. Transformation Matrix Para aplicar cada uno de los tres movimientos a una malla compuesta por triángulos, sería necesario desplazar cada uno de los vértices de la misma al lugar correspondiente. Esta operación es engorrosa para objetos de mucha complejidad y se ...

4.1 Rellenos de polígonos

   Polígono es una figura básica  dentro de las representaciones y tratamiento de imágenes bidimencionales y su utilización es muy interesante para modelar objetos del mundo real.      En un sentido amplio, se define como una región del espacio delimitada por  un conjunto de lineas (aristas) y cuyo interior puede estar rellenado por un color o patrón dado.      Casos de relleno segun su complejidad   El caso mas sencillo de relleno es el triangulo.   Luego sigue el relleno de polígonos convexos de N-lados.   Relleno de polígonos cóncavos. Métodos  de relleno de polígonos con color  SCAN-LINE LINEA DE BARRIDO INUNDACIÓN FUERZA BRUTA PATRÓN SCAN-LINE   Fila a fila van trazando lineas de color entre aristas. para scan-line que cruce el polígono se busca en...