DDA vs Bresenham Algorithm
DDA og Bresenham Algorithm er udtryk, du ville være stødt på, når du studerede computergrafik. Før vi forklarer forskellen mellem disse to udtryk, lad os se, hvad der er DDA, og hvad der er Bresenham Algorithm. Opfindelsen af computer gjorde tingene enkle, og en af dem var løsning af differentialligninger. Tidligere blev det gjort af en mekanisk differentialanalysator, der var langsom og fuld af fejl, men DDA eller Digital differential Analyzer er anvendelsen af analysator i digital form, som er nøjagtig og hurtig. Differentialanalysator bruges til at lave linjer mellem to punkter, så en ret linje eller polygon med n antal sider kan ses på skærmen. Afstand mellem to punkter eller en pixel er beskrevet af en differentialligning, hvor koordinaterne for startpunktet og slutpunktet er angivet i softwaren. Dette kan opnås af DDA og Bresenham Algorithm.
Hvad er DDA?
DDA bruges til at tegne lige linje for at danne en linje, trekant eller polygon i computergrafik. DDA analyserer prøver langs linjen med jævne mellemrum af den ene koordinat som heltal, og for den anden koordinat afrundes det heltal, der er nærmest linjen. Derfor scanner den, efterhånden som linjen skrider frem, den første heltalskoordinat og runder den anden til nærmeste heltal. Derfor vil en linje tegnet ved hjælp af DDA for x-koordinat være x0 til x1, men for y-koordinater vil det være y=ax+ b og tegnefunktion det vil være Fn(x, y afrundet).
Hvad er Bresenham-algoritmen?
Bresenham Algorithm blev udviklet af J. E. Bresenham i 1962, og den er meget nøjagtig og meget mere effektiv end DDA. Den scanner koordinaterne, men i stedet for at runde dem af, tager den højde for den trinvise værdi ved at lægge til eller trække fra og kan derfor bruges til at tegne cirkler og kurver. Hvis der derfor skal tegnes en linje mellem to punkter x og y, vil de næste koordinater være(xa+1, ya) og (x a+1, ya+1) hvor a er den trinvise værdi af de næste koordinater, og forskellen mellem disse to vil blive beregnet ved at trække fra eller addere ligninger dannet af dem.
Forskellen mellem DDA og Bresenham Algorithm
• DDA bruger flydende punkter, hvor Bresenham-algoritmen bruger faste punkter.
• DDA runder koordinaterne af til nærmeste heltal, men det gør Bresenham-algoritmen ikke.
• Bresenham-algoritmen er meget nøjagtig og effektiv end DDA.
• Bresenham-algoritmen kan tegne cirkler og kurver med meget mere nøjagtighed end DDA.
• DDA bruger multiplikation og division af ligning, men Bresenham-algoritmen bruger kun subtraktion og addition.