DDA Bresenham Mari Cuba Latihan


Algoritma Bresenham




  • Menggunakan pengiraan berasaskan integer. Sebagai contoh suatu piksel pertama  --> (10,11) maka piksel kedua  sama ada berada pada piksel (11,11) atau (11,12)


                             
                                                            Rajah 1.4



  • Pertimbangkan garis lurus berkecerunan +ve, m < 1, mula daripada kiri dengan titik awal (x,y)

  • Persampelan adalah pada setiap unit x


  • Piksel pada kedudukan paling hampir dengan laluan (path) garis lurus akan diplot

  • Titik (xky telah diplot sehingga ke titik seterusnya)

  • daripada pers (1)

                         Y = m (xk + 1 ) + c   -------pers (10)

    manakala

                         d1 = y - y k

                              = m (xk + 1) + c - y

    dan

                         d2 = (yk + 1 ) - y

                              = yk + 1 - m (xk  + 1) + c


                              
                                                            Rajah 1.5

  • imej oleh itu.... dd2 = 2 m (xk + 1) - 2yk+ 2c - 1  ------pers (11)

  • parameter penentu diperkenalkan, Pk

              
                
    dimana
               
  • Gantikan k+1 pada pers (12)
              
  • Jadi
            

  • P0 diperolehi dengan masuk x0, y0 dan m = ke dalam pers(12)
                  P0 = 2

     

     

  • Algoritma Bresenham bagi garis lurus dengan |m| < 1 diberikan seperti berikut :
        1. Input 2 titik hujung garis lurus, simpan 2 titik hujung sebelah kiri sebagai (x0,y0)
          2. Plotkan titik awal iaitu (x0,y0)
        3. Kirakan pemalar , , 2 , 2 - 2 dan nilai awal bagi
                                          P0 = 2
        4. Pada setiap kedudukan persampelan xk (disepanjang laluan garis lurus) bermula daripada k = 0, uji pemalar    
           penentu :
                               Jika Pk < 0, plotkan titik ( xk+1, yk) dan
                               Jika Pk > 0, plotkan titik (xk+1, yk+1) dan
        5. Ulang langkah 4 sebanyak kali


    Carta alir bagi algoritma Bresenham