Algoritmo de Bresenham

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Ilustração do resultado do algoritmo de Bresenham para atender a declinação de 22 graus.

O algoritmo do Ponto Médio, também conhecido por algoritmo de Bresenham — em homenagem a Jack Elton Bresenham — é um algoritmo criado para o desenho de linhas, em dispositivos matriciais (como por exemplo, um monitor), que permite determinar quais os pontos numa matriz de base quadriculada que devem ser destacados para atender o grau de inclinação de um ângulo.

O Código[editar | editar código-fonte]

 void bresenham1(int x1, int y1, int x2, int y2){        
       int slope;
       int dx, dy, incE, incNE, d, x, y;
       // Onde inverte a linha x1 > x2       
       if (x1 > x2){
           bresenham1(x2, y2, x1, y1);
            return;
       }        
       dx = x2 - x1;
       dy = y2 - y1;
   
       if (dy < 0){            
           slope = -1;
           dy = -dy;
       }
       else{            
          slope = 1;
       }
       // Constante de Bresenham
       incE = 2 * dy;
       incNE = 2 * dy - 2 * dx;
       d = 2 * dy - dx;
       y = y1;       
       for (x = x1; x <= x2; x++){
           putpixel(x, y);
           if (d <= 0){
             d += incE;
           }
           else{
             d += incNE;
             y += slope;
           }
       }
 }

Referências Externas[editar | editar código-fonte]

Desenhar Reta em Java - Algoritmo de Bresenham/DDA Inteiro Explanado