DDA vs Bresenhami algoritm
DDA ja Bresenhami algoritm on terminid, millega oleksite arvutigraafika uurimisel kohanud. Enne nende kahe termini erinevuse selgitamist vaatame, mis on DDA ja mis on Bresenhami algoritm. Arvuti leiutamine tegi asjad lihtsaks ja üks neist oli diferentsiaalvõrrandite lahendamine. Varem tegi seda mehaaniline diferentsiaalanalüsaator, mis oli aeglane ja vigu täis, kuid DDA või Digital Differential Analyzer on täpse ja kiire analüsaatori rakendamine digitaalsel kujul. Diferentsiaalanalüsaatorit kasutatakse kahe punkti vahelise joone moodustamiseks, nii et ekraanil oleks näha sirge või hulknurk, mille külgede arv on n. Kahe punkti või piksli vahelist kaugust kirjeldatakse diferentsiaalvõrrandiga, kus tarkvaras on täpsustatud lähtepunkti ja lõpp-punkti koordinaadid. Seda on võimalik saavutada DDA ja Bresenhami algoritmi abil.
Mis on DDA?
DDA-d kasutatakse sirge joonistamisel, et moodustada arvutigraafikas joon, kolmnurk või hulknurk. DDA analüüsib proove mööda joont korrapäraste intervallidega, kui üks koordinaat on täisarv ja teise koordinaadi korral ümardab see joonele lähima täisarvu. Seetõttu skaneerib sirge edenedes esimese täisarvu koordinaati ja ümardage teine lähima täisarvuni. Seetõttu joonestatakse DDA abil x-koordinaadi jaoks joon x0 kuni x1 kuid y-koordinaadi jaoks on see y = ax + b ja funktsiooni joonistamiseks on see Fn (x, y ümardatud).
Mis on Bresenhami algoritm?
Bresenhami algoritmi töötas välja J.E.Bresenham 1962. aastal ning see on palju täpsem ja tõhusam kui DDA. See skaneerib koordinaate, kuid nende ümardamise asemel võtab arvesse liigendamise või lahutamise teel juurdekasvu ja seetõttu saab seda kasutada ringi ja kõverate joonistamiseks. Seega, kui kahe punkti x ja y vahele tuleb tõmmata joon, on järgmised koordinaadid (xa + 1, ya) ja (xa + 1, ya + 1), kus a on järgmiste koordinaatide inkrementaalne väärtus ja nende kahe vaheline erinevus arvutatakse nende lahutatud võrrandite lahutamise või liitmise teel.
DDA ja Bresenhami algoritmi erinevus • DDA kasutab ujukoma, kus Bresenhami algoritmina kasutatakse fikseeritud punkte. • DDA ümardab koordinaadid lähima täisarvuni, kuid Bresenhami algoritm seda ei tee. • Bresenhami algoritm on palju täpsem ja tõhusam kui DDA. • Bresenhami algoritm suudab ringid ja kõverad joonistada palju täpsemini kui DDA. • DDA kasutab võrrandi korrutamist ja jagamist, kuid Bresenhami algoritm kasutab ainult lahutamist ja liitmist.
|