DDA vs Bresenhamov algoritam
DDA i Bresenhamov algoritam pojmovi su s kojima biste se susreli proučavajući računalnu grafiku. Prije nego objasnimo razliku između ova dva pojma, pogledajmo što je DDA, a što Bresenhamov algoritam. Izum računala učinio je stvari jednostavnima, a jedna od njih je rješavanje diferencijalnih jednadžbi. Ranije je to radio mehanički diferencijalni analizator koji je bio spor i pun grešaka, ali DDA ili Digitalni diferencijalni analizator je primjena analizatora u digitalnom obliku koji je točan i brz. Diferencijalni analizator služi za pravljenje linija između dviju točaka tako da se na ekranu vidi ravna linija ili poligon s n brojem stranica. Udaljenost između dviju točaka ili piksela opisuje se diferencijalnom jednadžbom gdje su koordinate početne i krajnje točke navedene u softveru. To se može postići DDA i Bresenhamovim algoritmom.
Što je DDA?
DDA se koristi u crtanju ravne linije za formiranje linije, trokuta ili poligona u računalnoj grafici. DDA analizira uzorke duž linije u pravilnim intervalima jedne koordinate kao cijeli broj, a za drugu koordinatu zaokružuje cijeli broj koji je najbliži liniji. Stoga, kako linija napreduje, skenira prvu koordinatu cijelog broja i zaokružuje drugu na najbliži cijeli broj. Stoga će crta nacrtana pomoću DDA za x koordinatu biti x0 do x1, ali za y koordinatu to će biti y=ax+ b i funkcija crtanja to će biti Fn(x, y zaokruženo).
Što je Bresenhamov algoritam?
Bresenhamov algoritam razvio je J. E. Bresenham 1962. i puno je točniji i učinkovitiji od DDA. Skenira koordinate, ali umjesto da ih zaokružuje, uzima u obzir inkrementalnu vrijednost dodavanjem ili oduzimanjem i stoga se može koristiti za crtanje krugova i krivulja. Stoga, ako treba povući liniju između dvije točke x i y, tada će sljedeće koordinate biti (xa+1, ya) i (x a+1, ya+1) gdje je a inkrementalna vrijednost sljedećih koordinata, a razlika između ove dvije će se izračunati oduzimanjem ili dodavanjem jednadžbe sastavljene od njih.
Razlika između DDA i Bresenham algoritma
• DDA koristi pomične točke dok Bresenhamov algoritam koristi fiksne točke.
• DDA zaokružuje koordinate na najbliži cijeli broj, ali Bresenhamov algoritam ne.
• Bresenhamov algoritam mnogo je točniji i učinkovitiji od DDA.
• Bresenhamov algoritam može crtati krugove i krivulje s puno većom preciznošću nego DDA.
• DDA koristi množenje i dijeljenje jednadžbe, ali Bresenhamov algoritam koristi samo oduzimanje i zbrajanje.