Algoritmo de Bresenham Ejemplo de aplicación del algoritmo de Bresenham. El Algoritmo de Bresenham es un método preciso para la generación de líneas de rastreo que utiliza solo cálculos incrementales con enteros. Se puede adaptar para rasterizar también circunferencias circunferencias cur!as. "os ejes !erticales muestran las posiciones de rastreo los ejes horizontales identi#can columnas de pi$el. Algoritmo[editar] El algoritmo sería el siguiente% Si &'(m(') *Se capturan los e$tremos e$tremos de la línea se almacena almacena el e$tremo izquierdo en +$&,&-. *Se carga +$&,&- en el bufer de estructura estructura +se traza el primer punto*Se calculan las las constantes $,, / /0$ se obtiene el !alor inicial para el parámetro de decisión p&1/0$. 2ara j1& j1& mientras j'$ *En cada $3 a lo largo de la línea, línea, que inicia en 31& se efect4a la prueba siguiente% Si p3'& *5razamos *5razamos +$36),3-. +$36), 3-. *Asignamos p36)1 p36/. Si no *5razamos *5razamos +$36),36)-. +$36), 36)-. *Asignamos p36)1 p36/0/$. 7in 2ara Si (m(8) *9ecorremos la dirección en pasos unitarios calculamos los !alores sucesi!os de $ que se apro$imen más a la traectoria de la línea. Implementación en Java[editar] Esta es la implementación del algoritmo% public !oid Bresenham+:raphics Bresenham+:raphics g,int $&, int &, int $), int )- ; int $, , d$, d, p, incE, inc* determinar que punto usar para empezar, cual para terminar *> if +d ' &- ; d 1 0d= step 1 0)= ? else ; step 1 )= ? if +d$ ' &- ; d$ 1 0d$= step$ 1 0)= ? else ; step$ 1 )= ? $ 1 $&= 1 &= g.dra@"ine+ $&, &, $&, &-= >* se cicla hasta llegar al e$tremo de la línea *> if+d$8d-; p 1 /*d 0 d$= incE 1 /*d= inc
p 1 /*d$ 0 d= incE 1 /*d$= inc>rosettacode.org>@i3i>Bitma https%>>rosettac ode.org>@i3i>Bitmap>Bresenham p>Bresenham F/GsHlineHalgorithmIBASJ