2.1 Trazo de lineas rectas
Trazo de lineas rectas.
Primero debemos definir algunos conceptos como punto, linea y trazo
Punto: (Del lat. punctum). Señal de dimensiones pequeñas, ordinariamente circular,
que, por contraste de color o de relieve, es perceptible en una superficie.
Linea: Trazo largo y continuo en una sola dirección, la que permanecerá invariable durante toda su extensión.
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.
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.
![File:XiaolinWuLine.png](https://upload.wikimedia.org/wikipedia/commons/2/27/XiaolinWuLine.png)
![](https://redgrafica.com/local/cache-vignettes/L500xH343/corel-a550b.jpg)