DDA prieš Bresenhamo algoritmą
DDA ir Bresenham Algorithm yra terminai, su kuriais susidūrėte studijuodami kompiuterinę grafiką. Prieš paaiškindami skirtumą tarp šių dviejų terminų, pažiūrėkime, kas yra DDA ir kas yra Bresenham algoritmas. Kompiuterio išradimas viską supaprastino ir vienas iš jų buvo diferencialinių lygčių sprendimas. Anksčiau tai buvo atlikta mechaniniu diferencialiniu analizatoriumi, kuris buvo lėtas ir pilnas klaidų, tačiau DDA arba skaitmeninis diferencialinis analizatorius yra skaitmeninio analizatoriaus taikymas, kuris yra tikslus ir greitas. Diferencialinis analizatorius naudojamas linijoms tarp dviejų taškų sudaryti taip, kad ekrane būtų matoma tiesė arba daugiakampis su n kraštinių skaičiumi. Atstumas tarp dviejų taškų arba pikselio apibūdinamas diferencialine lygtimi, kur programinėje įrangoje nurodytos pradžios ir pabaigos taško koordinatės. Tai galima pasiekti naudojant DDA ir Bresenham algoritmą.
Kas yra DDA?
DDA naudojama brėžiant tiesią liniją, kad būtų suformuota linija, trikampis arba daugiakampis kompiuterinėje grafikoje. DDA analizuoja pavyzdžius išilgai linijos vienodais intervalais, kai viena koordinatė yra sveikasis skaičius, o kitos koordinatės atveju suapvalina sveikąjį skaičių, kuris yra arčiausiai linijos. Todėl eilutei progresuojant ji nuskaito pirmąją sveikojo skaičiaus koordinatę ir apvalina antrąją iki artimiausio sveikojo skaičiaus. Todėl linija, nubrėžta naudojant DDA x koordinatei, ji bus x0 iki x1, bet y koordinatei ji bus y=ax+ b ir nubrėžimo funkcija tai bus Fn(x, y suapvalinta).
Kas yra Bresenhamo algoritmas?
Bresenham algoritmą sukūrė J. E. Bresenham 1962 m. ir jis yra daug tikslus ir daug efektyvesnis nei DDA. Jis nuskaito koordinates, bet užuot jas apvalinęs, atsižvelgia į prieauginę vertę pridėdamas arba atimdamas, todėl gali būti naudojamas apskritimui ir kreivėms braižyti. Todėl, jei tarp dviejų taškų x ir y turi būti nubrėžta linija, kitos koordinatės bus (xa+1, ya) ir (x a+1, ya+1), kur a yra prieauginė kitų koordinačių reikšmė, o skirtumas tarp šių dviejų bus apskaičiuojamas atimant arba pridedant jų sudarytos lygtys.
DDA ir Bresenham algoritmo skirtumas
• DDA naudoja slankiuosius taškus, o Bresenhamo algoritmas naudoja fiksuotus taškus.
• DDA apvalina koordinates iki artimiausio sveikojo skaičiaus, bet Bresenhamo algoritmas to nedaro.
• Bresenham algoritmas yra daug tikslus ir efektyvus nei DDA.
• Bresenham algoritmas gali nubrėžti apskritimus ir kreives daug tiksliau nei DDA.
• DDA naudoja lygties dauginimą ir padalijimą, tačiau Bresenhamo algoritmas naudoja tik atimtį ir sudėjimą.