TRAZADO DE LINEAS 
Graficación 13:00-14:00 hrs 
Prof. Rita Hernández Flores 
Integrantes : 
Castillos Huerta Lilia 
Heredia Palma Andrea Luisa 
López Hernández Luis Gerardo 
Rodríguez Ortega Samuel
Trazado de líneas rectas 
• Una 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.
• Para mostrar la línea en un monitor digital, el 
sistema gráfico debe primero proyectar las 
coordenadas de los extremos para obtener 
coordenadas de pantalla de valor entero y 
determinar las posiciones de píxel más próximas 
a lo largo de la línea que conecta los dos 
extremos. Entonces, se cargará en el búfer de 
imagen el color correspondiente a la línea en las 
coordenadas de píxel apropiadas, Al leer los 
datos del búfer de imagen, la controladora de 
vídeo dibujará los píxeles en pantalla.
Algoritmos para la generación de líneas 
• DDA El analizador diferenciador digital (DDA - 
Digital Differential Analyzer) 
Es un algoritmo preciso para la generación de 
líneas de rastreo 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. 
Se basa en el calculo ya sea de Dy o Dx por medio 
de las ecuaciones:
(4) Dy = m Dx 
(5) Dx = Dy / m 
Se efectúa un muestreo de la línea en intervalos unitarios en una coordenada 
y se determina los valores enteros correspondientes mas próximos a la 
trayectoria de la línea para la otra coordenada. 
Si la pendiente | m | £ 1, se hace el muestreo en x en intervalos unitarios (Dx 
= 1 y Dy = m dado que m = Dy / Dx) y se calcula cada valor sucesivo de y 
como: 
(6) yk+1 = yk+ m 
El subíndice toma valores enteros a partir de 1 y aumenta a razón de 1 hasta 
alcanzar el valor final. 
Ya que m puede ser cualquier numero real entre 0 y 1, los valores calculados 
de y deben redondearse al entero mas cercano. Para líneas con una 
pendiente | m | > 1, se revierten las funciones de x y y, o sea, se realiza un 
muestreo de y en intervalos unitarios (Dy = 1 y Dx = 1/m dado que m = Dy / 
Dx) y se calcula cada valor sucesivo de x como: 
(7) xk+1 = xk+ 1/m 
Las ecuaciones (6) y (7) se basan en la suposición de que las líneas deben 
procesarse del extremo izquierdo al derecho. 
Si este procesamiento se revierte, entonces Dx o Dy serian -1, y yk+1 = yk - 
m o xk+1 = xk - 1/m
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 
rastreo 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 buffer 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 parámetro de decisión p0=2Δy-Δx. 
Para j=0 mientras j<Δx 
*En cada x,k a lo largo de la línea, que inicia en k=0 se efectúa la prueba sig.: 
Si pk<0 
*Trazamos (xk+1,yk). 
*Asignamos pk+1= pk+2Δy. 
Si no 
*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.
Conclusión 
Debido a que en una pantalla o un medio de salida óptico 
trabaja con pixeles, debemos convertir las medidas reales 
(cm, mm, etc.) a medida en pixeles esto es muy difícil porque 
no todas las pantallas tiene la misma resolución, es decir, que 
no todas tienen las misma cantidad de pixeles por pulgada. 
Muchas veces dependiendo de la resolución se puede 
observar que las líneas no están bien definidas (no son rectas 
completamente), sino que los pixeles que la forman son las 
más cercanas a donde debería de pasar la línea bien definida. 
Para resolver ese tipo de convenientes tenemos algoritmos 
que nos permiten generar líneas lo más definidas posibles.

Trazado de lineas rectas

  • 1.
    TRAZADO DE LINEAS Graficación 13:00-14:00 hrs Prof. Rita Hernández Flores Integrantes : Castillos Huerta Lilia Heredia Palma Andrea Luisa López Hernández Luis Gerardo Rodríguez Ortega Samuel
  • 2.
    Trazado de líneasrectas • Una 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.
  • 3.
    • Para mostrarla línea en un monitor digital, el sistema gráfico debe primero proyectar las coordenadas de los extremos para obtener coordenadas de pantalla de valor entero y determinar las posiciones de píxel más próximas a lo largo de la línea que conecta los dos extremos. Entonces, se cargará en el búfer de imagen el color correspondiente a la línea en las coordenadas de píxel apropiadas, Al leer los datos del búfer de imagen, la controladora de vídeo dibujará los píxeles en pantalla.
  • 4.
    Algoritmos para lageneración de líneas • DDA El analizador diferenciador digital (DDA - Digital Differential Analyzer) Es un algoritmo preciso para la generación de líneas de rastreo 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. Se basa en el calculo ya sea de Dy o Dx por medio de las ecuaciones:
  • 5.
    (4) Dy =m Dx (5) Dx = Dy / m Se efectúa un muestreo de la línea en intervalos unitarios en una coordenada y se determina los valores enteros correspondientes mas próximos a la trayectoria de la línea para la otra coordenada. Si la pendiente | m | £ 1, se hace el muestreo en x en intervalos unitarios (Dx = 1 y Dy = m dado que m = Dy / Dx) y se calcula cada valor sucesivo de y como: (6) yk+1 = yk+ m El subíndice toma valores enteros a partir de 1 y aumenta a razón de 1 hasta alcanzar el valor final. Ya que m puede ser cualquier numero real entre 0 y 1, los valores calculados de y deben redondearse al entero mas cercano. Para líneas con una pendiente | m | > 1, se revierten las funciones de x y y, o sea, se realiza un muestreo de y en intervalos unitarios (Dy = 1 y Dx = 1/m dado que m = Dy / Dx) y se calcula cada valor sucesivo de x como: (7) xk+1 = xk+ 1/m Las ecuaciones (6) y (7) se basan en la suposición de que las líneas deben procesarse del extremo izquierdo al derecho. Si este procesamiento se revierte, entonces Dx o Dy serian -1, y yk+1 = yk - m o xk+1 = xk - 1/m
  • 6.
    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 rastreo 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.
  • 7.
    Si 0<|m|<1 *Secapturan los extremos de la línea y se almacena el extremo izquierdo en (x0,y0). *Se carga (x0,y0) en el buffer 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 parámetro de decisión p0=2Δy-Δx. Para j=0 mientras j<Δx *En cada x,k a lo largo de la línea, que inicia en k=0 se efectúa la prueba sig.: Si pk<0 *Trazamos (xk+1,yk). *Asignamos pk+1= pk+2Δy. Si no *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.
  • 8.
    Conclusión Debido aque en una pantalla o un medio de salida óptico trabaja con pixeles, debemos convertir las medidas reales (cm, mm, etc.) a medida en pixeles esto es muy difícil porque no todas las pantallas tiene la misma resolución, es decir, que no todas tienen las misma cantidad de pixeles por pulgada. Muchas veces dependiendo de la resolución se puede observar que las líneas no están bien definidas (no son rectas completamente), sino que los pixeles que la forman son las más cercanas a donde debería de pasar la línea bien definida. Para resolver ese tipo de convenientes tenemos algoritmos que nos permiten generar líneas lo más definidas posibles.