Algoritmus DDA vs Bresenham
DDA a Bresenhamov algoritmus sú výrazy, s ktorými by ste sa stretli pri štúdiu počítačovej grafiky. Pred vysvetlením rozdielu medzi týmito dvoma výrazmi sa pozrime, čo je DDA a čo je Bresenhamov algoritmus. Vynález počítača zjednodušil veci a jednou z nich bolo riešenie diferenciálnych rovníc. Predtým to robil mechanický diferenciálny analyzátor, ktorý bol pomalý a plný chýb, ale DDA alebo digitálny diferenciálny analyzátor je aplikácia analyzátora v digitálnej podobe, ktorá je presná a rýchla. Diferenciálny analyzátor sa používa na vytvorenie priamok medzi dvoma bodmi, aby bolo na obrazovke viditeľné priame alebo mnohouholník s počtom strán n. Vzdialenosť medzi dvoma bodmi alebo pixelom je opísaná diferenciálnou rovnicou, kde sú v softvéri zadané súradnice počiatočného a koncového bodu. To je možné dosiahnuť pomocou DDA a Bresenhamovho algoritmu.
Čo je DDA?
DDA sa používa pri kreslení priamky na vytvorenie priamky, trojuholníka alebo mnohouholníka v počítačovej grafike. DDA analyzuje vzorky pozdĺž čiary v pravidelnom intervale jednej súradnice ako celé číslo a pre druhú súradnicu zaokrúhľuje celé číslo, ktoré je najbližšie k čiare. Preto keď riadok postupuje, skenuje prvú celočíselnú súradnicu a druhú zaokrúhľuje na najbližšie celé číslo. Preto čiara nakreslená pomocou DDA pre súradnicu x bude x 0 až x 1, ale pre súradnicu y to bude y = ax + b a pre vykreslenie funkcie bude Fn (zaokrúhlené x, y).
Čo je Bresenhamov algoritmus?
Bresenhamov algoritmus vyvinul JEBresenham v roku 1962 a je oveľa presnejší a oveľa efektívnejší ako DDA. Naskenuje súradnice, ale namiesto ich zaokrúhlenia vezme inkrementálnu hodnotu do úvahy pridaním alebo odčítaním, a preto ho možno použiť na kreslenie kružnice a kriviek. Preto ak sa má nakresliť čiara medzi dvoma bodmi x a y, potom budú ďalšie súradnice (x a + 1, y a) a (x a + 1, y a + 1), kde a je prírastková hodnota ďalších súradníc a rozdiel medzi týmito dvoma bude vypočítaný odčítaním alebo pripočítaním rovníc nimi formovaných.
Rozdiel medzi DDA a Bresenhamovým algoritmom • DDA používa pohyblivé body, kde ako Bresenhamov algoritmus používajú pevné body. • DDA zaokrúhli súradnice na najbližšie celé číslo, ale Bresenhamov algoritmus nie. • Bresenhamov algoritmus je oveľa presnejší a efektívnejší ako DDA. • Bresenhamov algoritmus dokáže kresliť kruhy a krivky s oveľa väčšou presnosťou ako DDA. • DDA používa násobenie a delenie rovnice, ale Bresenhamov algoritmus používa iba odčítanie a sčítanie. |