DDA vs Bresenham Algorithm
DDA och Bresenham Algorithm är termer du skulle ha stött på när du studerar datorgrafik. Innan vi förklarar skillnaden mellan dessa två termer, låt oss se vad som är DDA och vad som är Bresenham Algorithm. Uppfinningen av dator gjorde saker enkelt och en av dem var att lösa differentialekvationer. Tidigare gjordes det av en mekanisk differentialanalysator som var långsam och full av fel, men DDA eller Digital differential Analyzer är tillämpningen av analysator i digital form som är exakt och snabb. Differentialanalysator används för att göra linjer mellan två punkter så att en rak linje eller polygon med n antal sidor kan ses på skärmen. Avståndet mellan två punkter eller en pixel beskrivs av en differentialekvation där koordinater för startpunkten och slutpunkten anges i programvaran. Detta kan uppnås med DDA och Bresenham Algorithm.
Vad är DDA?
DDA används för att rita en rak linje för att bilda en linje, triangel eller polygon i datorgrafik. DDA analyserar prover längs linjen med jämna mellanrum av en koordinat som heltal och för den andra koordinaten avrundar den det heltal som är närmast linjen. Allteftersom linjen fortskrider skannar den därför den första heltalskoordinaten och rundar av det andra till närmaste heltal. Därför kommer en linje som ritas med hjälp av DDA för x-koordinat att vara x0 till x1 men för y-koordinat blir det y=ax+ b och ritfunktion det blir Fn(x, y avrundat).
Vad är Bresenham Algorithm?
Bresenham Algorithm utvecklades av J. E. Bresenham 1962 och den är mycket exakt och mycket effektivare än DDA. Den skannar koordinaterna men istället för att avrunda dem tar den hänsyn till det inkrementella värdet genom att addera eller subtrahera och kan därför användas för att rita cirklar och kurvor. Om därför en linje ska dras mellan två punkter x och y kommer nästa koordinater att vara(xa+1, ya) och (x a+1, ya+1) där a är det inkrementella värdet för nästa koordinater och skillnaden mellan dessa två kommer att beräknas genom att subtrahera eller addera ekvationer som bildas av dem.
Skillnaden mellan DDA och Bresenham Algorithm
• DDA använder flyttal där som Bresenham-algoritmen använder fasta punkter.
• DDA rundar av koordinaterna till närmaste heltal men det gör inte Bresenham-algoritmen.
• Bresenham-algoritmen är mycket exakt och effektiv än DDA.
• Bresenham-algoritmen kan rita cirklar och kurvor med mycket mer noggrannhet än DDA.
• DDA använder multiplikation och division av ekvation men Bresenham-algoritmen använder endast subtraktion och addition.