DDA protiv Bresenhamovog algoritma
DDA i Bresenham algoritam pojmovi su na koje biste naišli tijekom proučavanja računalne grafike. Prije objašnjavanja razlike između ova dva pojma, pogledajmo što je DDA, a što Bresenhamov algoritam. Izum računala pojednostavnio je stvari, a jedna od njih je i 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 koristi se za izradu linija između dviju točaka tako da se na zaslonu može vidjeti ravna crta ili mnogougao s n broja stranica. Udaljenost između dvije točke ili piksela opisuje se diferencijalnom jednadžbom gdje su koordinate početne i završne točke određene softverom. To se može postići DDA-om i Bresenhamovim algoritmom.
Što je DDA?
DDA se koristi za crtanje ravne crte kako bi se oblikovala crta, trokut ili poligon u računalnoj grafici. DDA analizira uzorke duž crte u pravilnom intervalu jedne koordinate kao cijelu vrijednost, a za drugu koordinatu zaokružuje cijelu vrijednost koja je najbliža crti. Stoga kako linija prolazi, skenira prvu cijelu koordinatu i zaokružuje drugu na najbliži cijeli broj. Stoga će linija povučena pomoću DDA za x koordinatu biti x 0 do x 1, ali za y koordinatu bit će y = ax + b, a za crtanje funkcije Fn (x, y zaokruženo).
Što je Bresenhamov algoritam?
Bresenhamov algoritam razvio je JEBresenham 1962. godine i mnogo je precizniji i mnogo učinkovitiji od DDA-e. Skenira koordinate, ali umjesto da ih zaokruži, uzima se u obzir inkrementalna vrijednost dodavanjem ili oduzimanjem i stoga se može koristiti za crtanje kruga i krivulja. Stoga, ako se treba povući linija između dvije točke x i y, tada će sljedeće koordinate biti (x a + 1, y a) i (x a + 1, y a + 1) gdje je a priraštaj vrijednosti sljedećih koordinata a razlika između ove dvije izračunat će se oduzimanjem ili zbrajanjem jednadžbi koje su oni stvorili.
Razlika između DDA i Bresenhamovog algoritma • DDA koristi plutajuće točke gdje kao Bresenhamov algoritam koriste fiksne točke. • DDA zaokružuje koordinate na najbliži cijeli broj, ali Bresenhamov algoritam ne. • Bresenhamov algoritam mnogo je precizniji i učinkovitiji od DDA. • Bresenhamov algoritam može crtati krugove i krivulje s puno većom preciznošću od DDA. • DDA koristi množenje i dijeljenje jednadžbe, ali Bresenhamov algoritam koristi samo oduzimanje i zbrajanje. |