DDA vs Brezenhemas algoritms
DDA un Bresenham Algorithm ir termini, ar kuriem jūs varētu saskarties, studējot datorgrafiku. Pirms izskaidrot atšķirību starp šiem diviem terminiem, redzēsim, kas ir DDA un kas ir Bresenham algoritms. Datora izgudrojums padarīja lietas vienkāršas, un viens no tiem ir diferenciālvienādojumu risināšana. Agrāk to darīja mehāniskais diferenciālais analizators, kas bija lēns un pilns ar kļūdām, bet DDA jeb Digital Differential Analyzer ir analizatora pielietojums digitālā formā, kas ir precīzs un ātrs. Diferenciālais analizators tiek izmantots, lai izveidotu līnijas starp diviem punktiem, lai ekrānā būtu redzama taisna līnija vai daudzstūris ar n malu skaitu. Attālumu starp diviem punktiem vai pikseli apraksta ar diferenciālvienādojumu, kur programmatūrā ir norādītas sākuma punkta un beigu punkta koordinātas. To var panākt, izmantojot DDA un Bresenham algoritmu.
Kas ir DDA?
DDA izmanto taisnu līniju zīmēšanai, lai datorgrafikā izveidotu līniju, trīsstūri vai daudzstūri. DDA analizē paraugus gar līniju ar regulāru intervālu, kurā viena koordināte ir vesels skaitlis, bet otrai koordinātei tā noapaļo taisnei tuvāko veselo skaitli. Tāpēc līnijai virzoties uz priekšu, tā skenē pirmo veselā skaitļa koordinātu un noapaļo otro līdz tuvākajam veselam skaitlim. Tāpēc līnija, kas novilkta, izmantojot DDA x koordinātai, tā būs x0 līdz x1, bet y koordinātei tā būs y=ax+ b un zīmēšanas funkcija tas būs Fn(x, y noapaļots).
Kas ir Brezenhemas algoritms?
Bresenham algoritmu izstrādāja J. E. Bresenham 1962. gadā, un tas ir daudz precīzāks un daudz efektīvāks nekā DDA. Tas skenē koordinātas, bet tā vietā, lai tās noapaļotu, ņem vērā pieaugošo vērtību, saskaitot vai atņemot, un tāpēc to var izmantot apļa un līkņu zīmēšanai. Tāpēc, ja ir jānovelk līnija starp diviem punktiem x un y, nākamās koordinātas būs (xa+1, ya) un (x a+1, ya+1), kur a ir nākamo koordinātu pieauguma vērtība un starpība starp šīm divām tiks aprēķināta, atņemot vai pievienojot to veidotie vienādojumi.
Atšķirība starp DDA un Brezenhemas algoritmu
• DDA izmanto peldošos punktus, bet Brezenhemas algoritmā izmanto fiksētos punktus.
• DDA noapaļo koordinātas līdz tuvākajam veselam skaitlim, bet Brezenhemas algoritms to nedara.
• Bresenham algoritms ir daudz precīzs un efektīvāks nekā DDA.
• Bresenham algoritms var zīmēt apļus un līknes ar daudz lielāku precizitāti nekā DDA.
• DDA izmanto vienādojuma reizināšanu un dalīšanu, bet Brezenhemas algoritms izmanto tikai atņemšanu un saskaitīšanu.