You are on page 1of 12

ALGORITMOS

BRESENHAM

 Se  puede adaptar para rasterizar  también circunferencias y  curvas. Los ejes verticales  muestran las posiciones de  rastreo y los ejes horizontales  identifican columnas de pixel. 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. .

• El algoritmo de Bresenham es un  algoritmo creado para dibujar rectas  en los dispositivos de gráficos  rasterizados.  en función de la inclinación del  ángulo de la recta a dibujar. . que  determina qué pixeles se rellenarán. como por ejemplo un  monitor de ordenador.

 que  son operaciones muy barato en las  arquitecturas de ordenador estándar. Algoritmo de Bresenham para líneas • 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 aproximación a una línea recta entre dos puntos dados.  ya que utiliza sólo adición de enteros.  .  la resta y desplazamiento de bits. Es comúnmente usado para dibujar  líneas en una pantalla de ordenador.

y1) .  • Partimos de que las coordenadas de los pixels en una imagen son coordenadas enteras y que conocemos los extremos del segmento que forma la línea siendo sus coordenadas: (x0.  Una extensión menor a la del algoritmo original  también se ocupa de dibujar círculos.y0) y (x1.Es uno de los primeros algoritmos desarrollados en el campo de gráficos por ordenador.

• El algoritmo de Bresenham selecciona el entero 'y' correspondiente al pixel central que está más cercano del que sería calculado con fracciones y lo mismo para la coordenada 'x'. • La ecuación general de la línea que pasa por los extremos conocidos es: . En las sucesivas columnas la coordenada 'y' puede permanecer con el mismo valor o incrementarse en cada paso a una unidad.

'x'.• Puesto que conocemos la columna.x0) depende sólo de las coordenadas de los extremos y puede ser previamente calculada. • La pendiente (y1 . . y el valor ideal de 'y' para los sucesivos valores enteros de 'x' se puede calcular a partir de y0 e ir añadiendo en varias ocasiones la pendiente.y0) / (x1 . la fila 'y' del pixel se calcula redondeando esta cantidad al entero más cercano según la siguiente fórmula.

Ejemplos Código BRESENHAM para líneas en VISUAL BASIC .

aunque en realidad no inventada por Bresenham. el algoritmo de “midpoint circle” es un algoritmo utilizado para determinar los puntos necesarios para dibujar un círculo. •   . por lo que es a veces conocido como algoritmo de círculo Bresenham. El algoritmo es una variante del algoritmo de la línea Bresenham. ALGORITMO DE BRESENHAM PARA CÍRCULOS • En graficación.

La dirección “rápida” aquí es la dirección  vertical. 0) y hacia arriba los ingresos ya la  izquierda. El algoritmo comienza en consecuencia con el  círculo de la ecuación x 2 + y 2 = r 2. El algoritmo hace siempre un paso en  la dirección positiva(hacia arriba). la dirección x negativa. y de vez en  cuando también tiene que hacer un paso en la  "lenta" la dirección.0).  Consideramos que sólo la primera el octante  primera y trazar una curva que comienza en el  punto (r. llegando al ángulo de 45 °. Así. . el  centro del círculo se encuentra en (0.

 de modo  que este valor se utiliza para la inicialización.De la ecuación de un círculo se obtiene la ecuación transformada x 2 + y 2  - r 2 = 0. a su vez.  esto conduce a un valor acumulado de r en el término de error. . ya que puede  prescindir de los cuadrados (root) los cálculos en el lazo interno. La inicialización del término de error se deriva de un desplazamiento de  pixel y medio en la salida. Hasta la intersección con la línea perpendicular.  Una vez más el cero en la ecuación del círculo transformado se sustituye  por el término de error. Estas adiciones  frecuentes entero no limitan el rendimiento de mucho. donde r 2 se calcula sólo una sola vez durante la inicialización: Y por lo tanto para la coordenada x. Además tenemos que añadir las  coordenadas del punto medio al establecer un píxel.

Ejemplos Código BRESENHAM para CIRCULO en VISUAL BASIC .