DDA ir Bresenham algoritmo skirtumas

DDA ir Bresenham algoritmas

DDA ir Bresenham algoritmas yra terminai, su kuriais jūs galėjote susidurti studijuodami kompiuterinę grafiką. Prieš paaiškindami skirtumą tarp šių dviejų terminų, pažiūrėkime, kas yra DDA ir kas yra Bresenhamo algoritmas. Išradus kompiuterį, viskas buvo paprasta ir vienas iš jų buvo diferencialinių lygčių sprendimas. Anksčiau tai buvo daroma mechaniniu diferenciniu analizatoriumi, kuris buvo lėtas ir pilnas klaidų, tačiau DDA arba skaitmeninis diferencialinis analizatorius yra tikslaus ir greito analizatoriaus pritaikymas skaitmenine forma. Diferencialinis analizatorius naudojamas linijoms tarp dviejų taškų sudaryti taip, kad ekrane būtų galima pamatyti tiesią liniją arba daugiakampį su n kraštų skaičiumi. Atstumas tarp dviejų taškų arba pikselio aprašomas diferencialine lygtimi, kurioje programinė įranga nurodo pradžios ir pabaigos taško koordinates. Tai gali pasiekti DDA ir Bresenham algoritmas.

Kas yra DDA?

DDA naudojamas braižant tiesią liniją, kad kompiuterinėje grafikoje būtų suformuota linija, trikampis ar daugiakampis. DDA analizuoja pavyzdžius išilgai linijos, kai vienos koordinatės yra sveikasis skaičius, o kitos koordinatės suapvalina artimiausią linijai skaičių. Todėl linijai einant ji nuskaito pirmojo sveikojo skaičiaus koordinates, o antrąją suapvalinkite iki artimiausio sveikojo skaičiaus. Todėl linija, nubrėžta naudojant DDA, x koordinačiai bus x0 į x1 bet y koordinuoti ji bus y = ax + b, o brėžti funkcijai ji bus Fn (x, y suapvalinta).

Kas yra Bresenhamo algoritmas?

Bresenhamo 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 suapvalinęs, atsižvelgia į prieauginę vertę pridėdamas arba atimdamas, todėl gali būti naudojamas brėžant apskritimą ir kreives. Taigi, jei linija turi būti nubrėžta tarp dviejų taškų x ir y, tada kitos koordinatės bus (xa + 1, ya) ir (xa + 1, ya + 1), kur a yra kitų koordinačių prieaugio vertė, o skirtumas tarp šių dviejų bus apskaičiuojamas atimant arba sudėjus jų sudarytas lygtis.

DDA ir Bresenham algoritmo skirtumas

• DDA naudoja slankius taškus, kur kaip Bresenham algoritmas naudoja fiksuotus taškus.

• DDA apvalina koordinates iki artimiausio sveikojo skaičiaus, bet Bresenham algoritmas to nedaro.

• Bresenhamo algoritmas yra daug tikslesnis ir efektyvesnis nei DDA.

• Bresenhamo algoritmas gali brėžti apskritimus ir kreives daug tiksliau nei DDA.

• DDA naudoja lygčių daugybą ir padalijimą, tačiau Bresenhamo algoritmas naudoja tik atimtį ir sudėjimą.