Vous êtes sur la page 1sur 12

ALGORITMOS

BRESENHAM
Algoritmo de Bresenham
ElAlgoritmode Bresenhames
unmtodoprecisoparala
generacindelneasderastreo
queutilizasoloclculos
incrementalesconenteros.Se
puedeadaptarpararasterizar
tambincircunferenciasy
curvas.Losejesverticales
muestranlasposicionesde
rastreoylosejeshorizontales
identificancolumnasdepixel.
ElalgoritmodeBresenhamesun
algoritmocreadoparadibujarrectas
enlosdispositivosdegrficos
rasterizados,comoporejemploun
monitordeordenador,que
determinaqupixelesserellenarn,
enfuncindelainclinacindel
ngulodelarectaadibujar.
Algoritmo de Bresenham
para lneas

El algoritmo de Bresenham es un
algoritmo que determina los puntos
en un mapa de bits de n-dimensiones
que deben ser trazados con el fin de
formar una aproximacin a una lnea
recta entre dos puntos dados. Es
comnmenteusadoparadibujar
lneasenunapantalladeordenador,
yaqueutilizasloadicindeenteros,
larestaydesplazamientodebits,que
sonoperacionesmuybaratoenlas
arquitecturasdeordenadorestndar.
Esunodelosprimerosalgoritmos
desarrolladosenelcampodegrficosporordenador.
Unaextensinmenoraladelalgoritmooriginal
tambinseocupadedibujarcrculos.
Partimos de que las coordenadas de los pixels en una
imagen son coordenadas enteras y que conocemos
los extremos del segmento que forma la lnea siendo
sus coordenadas:

(x0,y0) y (x1,y1)
El algoritmo de Bresenham selecciona el entero 'y'
correspondiente al pixel central que est ms cercano
del que sera calculado con fracciones y lo mismo
para la coordenada 'x'. En las sucesivas columnas la
coordenada 'y' puede permanecer con el mismo valor
o incrementarse en cada paso a una unidad.
La ecuacin general de la lnea que pasa por los
extremos conocidos es:
Puesto que conocemos la columna, 'x', la fila 'y' del pixel se
calcula redondeando esta cantidad al entero ms cercano
segn la siguiente frmula.

La pendiente (y1 - y0) / (x1 - x0) depende slo de las


coordenadas de los extremos y puede ser previamente
calculada, y el valor ideal de 'y' para los sucesivos valores
enteros de 'x' se puede calcular a partir de y0 e ir aadiendo en
varias ocasiones la pendiente.
Ejemplos Cdigo
BRESENHAM para lneas
en VISUAL BASIC
ALGORITMO DE BRESENHAM PARA CRCULOS

En graficacin, el algoritmo de
midpoint circle es un
algoritmo utilizado para
determinar los puntos
necesarios para dibujar un
crculo. El algoritmo es una
variante del algoritmo de la lnea
Bresenham, por lo que es a veces
conocido como algoritmo de
crculo Bresenham, aunque en
realidad no inventada por
Bresenham.

Elalgoritmocomienzaenconsecuenciaconel
crculodelaecuacinx2+y2=r2.As,el
centrodelcrculoseencuentraen(0,0).
Consideramosqueslolaprimeraeloctante
primeraytrazarunacurvaquecomienzaenel
punto(r,0)yhaciaarribalosingresosyala
izquierda,llegandoalngulode45.
Ladireccinrpidaaquesladireccin
vertical.Elalgoritmohacesiempreunpasoen
ladireccinpositiva(haciaarriba),ydevezen
cuandotambintienequehacerunpasoenla
"lenta"ladireccin,ladireccinxnegativa.
Delaecuacindeuncrculoseobtienelaecuacintransformadax2+y2
-r2=0,donder2secalculaslounasolavezdurantelainicializacin:

Yporlotantoparalacoordenadax.Ademstenemosqueaadirlas
coordenadasdelpuntomedioalestablecerunpxel.Estasadiciones
frecuentesenteronolimitanelrendimientodemucho,yaquepuede
prescindirdeloscuadrados(root)losclculosenellazointerno,asuvez.
Unavezmselceroenlaecuacindelcrculotransformadosesustituye
poreltrminodeerror.
Lainicializacindeltrminodeerrorsederivadeundesplazamientode
pixelymedioenlasalida.Hastalainterseccinconlalneaperpendicular,
estoconduceaunvaloracumuladodereneltrminodeerror,demodo
queestevalorseutilizaparalainicializacin.
Ejemplos Cdigo
BRESENHAM para
CIRCULO en VISUAL
BASIC

Vous aimerez peut-être aussi