DDA pret Bresenham algoritmu
DDA un Bresenham algoritms ir termini, ar kuriem jūs būtu saskāries, studējot datorgrafiku. Pirms izskaidrot atšķirību starp šiem diviem terminiem, redzēsim, kas ir DDA un kas ir Bresenham algoritms. Datoru izgudrošana padarīja lietas vienkāršas, un viena no tām bija diferenciālvienādojumu risināšana. Iepriekš tas tika darīts ar mehānisku diferenciālanalizators, kas bija lēns un pilns ar kļūdām, bet DDA vai Digital Differential Analyzer ir precīza un ātra analizatora lietošana digitālā formā. Diferenciālo analizatoru izmanto, lai līnijas izveidotu starp diviem punktiem, lai ekrānā būtu redzama taisna līnija vai daudzstūris ar n malu skaitu. Attālums starp diviem punktiem vai pikseļu tiek aprakstīts ar diferenciālvienādojumu, kurā programmatūrā ir noteiktas sākuma un beigu punkta koordinātas. To var panākt ar DDA un Bresenham algoritmu.
Kas ir DDA?
DDA izmanto taisnas līnijas zīmēšanā, lai datorgrafikā izveidotu līniju, trīsstūri vai daudzstūri. DDA analizē paraugus pa līniju ar regulāru intervālu, kad viena koordināta ir vesels skaitlis, bet otrai koordinātai tā noapaļo skaitli, kas ir vistuvāk līnijai. Tāpēc, virzoties uz līniju, tā skenē pirmā vesela skaitļa koordinātu un noapaļo otro līdz tuvākajam veselajam skaitlim. Tāpēc līnija, kas novilkta, izmantojot DDA, x koordinātei būs x0 līdz x1 bet y koordinātei tas būs y = ax + b, un, lai iezīmētu funkciju, tas būs Fn (x, y noapaļots).
Kas ir Bresenham algoritms?
Bresenham algoritmu izstrādāja J.E.Bresenham 1962. gadā, un tas ir daudz precīzs un daudz efektīvāks nekā DDA. Tas skenē koordinātas, bet tā vietā, lai tās noapaļotu, ņem vērā pieauguma 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 jānovelk līnija starp diviem punktiem x un y, tad nākamās koordinātas būs (xa + 1, ya) un (xa + 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 saskaitot to veidotos vienādojumus.
Atšķirība starp DDA un Bresenham algoritmu • DDA izmanto peldošos punktus, kur kā Bresenham algoritms izmanto fiksētus punktus. • DDA noapaļo koordinātas līdz tuvākajam veselajam skaitlim, bet Bresenham algoritms to nedara. • Bresenham algoritms ir daudz precīzāks 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 Bresenham algoritms izmanto tikai atņemšanu un saskaitīšanu.
|