DDA vs Bresenham-algoritme
DDA en Bresenham Algorithm zijn termen die je zou zijn tegengekomen bij het bestuderen van computergraphics. Voordat we het verschil tussen deze twee termen uitleggen, laten we eens kijken wat DDA is en wat het Bresenham-algoritme is. De uitvinding van de computer maakte dingen eenvoudig en een daarvan was het oplossen van differentiaalvergelijkingen. Eerder werd het gedaan door een mechanische differentiƫle analysator die traag en vol fouten was, maar DDA of Digital differential Analyzer is de toepassing van een analysator in digitale vorm die nauwkeurig en snel is. Differentiƫle analysator wordt gebruikt om lijnen tussen twee punten te maken, zodat een rechte lijn of veelhoek met n aantal zijden op het scherm te zien is. De afstand tussen twee punten of een pixel wordt beschreven door een differentiaalvergelijking waarbij de coƶrdinaten van het beginpunt en dat van het eindpunt in de software worden gespecificeerd. Dit kan worden bereikt door DDA en Bresenham Algorithm.
Wat is DDA?
DDA wordt gebruikt bij het tekenen van rechte lijnen om een lijn, driehoek of veelhoek in computergraphics te vormen. DDA analyseert monsters langs de lijn met regelmatige tussenpozen van ƩƩn coƶrdinaat als het gehele getal en voor de andere coƶrdineert het het gehele getal dat het dichtst bij de lijn ligt. Daarom scant de lijn naarmate de lijn vordert de eerste integercoƶrdinaat en rond de tweede af op het dichtstbijzijnde gehele getal. Daarom zal een lijn getekend met DDA voor x-coƶrdinaat x0 tot x1 zijn, maar voor y-coƶrdinaat is het y=ax+ b en om de functie te tekenen het wordt Fn(x, y afgerond).
Wat is het Bresenham-algoritme?
Bresenham Algorithm is ontwikkeld door J. E. Bresenham in 1962 en is veel nauwkeuriger en veel efficiƫnter dan DDA. Het scant de coƶrdinaten, maar in plaats van ze af te ronden, houdt het rekening met de incrementele waarde door optellen of aftrekken en kan daarom worden gebruikt voor het tekenen van cirkels en krommen. Als er dus een lijn moet worden getrokken tussen twee punten x en y, dan zijn de volgende coƶrdinaten (xa+1, ya) en (x a+1, ya+1) waarbij a de incrementele waarde is van de volgende coƶrdinaten en het verschil tussen deze twee wordt berekend door de vergelijkingen gevormd door hen.
Verschil tussen DDA en Bresenham-algoritme
ā¢ DDA gebruikt zwevende punten, terwijl het Bresenham-algoritme vaste punten gebruikt.
ā¢ DDA rondt de coƶrdinaten af op het dichtstbijzijnde gehele getal, maar het Bresenham-algoritme niet.
ā¢ Bresenham-algoritme is veel nauwkeuriger en efficiĆ«nter dan DDA.
ā¢ Het Bresenham-algoritme kan cirkels en krommen veel nauwkeuriger tekenen dan DDA.
ā¢ DDA gebruikt vermenigvuldiging en deling van vergelijkingen, maar het Bresenham-algoritme gebruikt alleen aftrekken en optellen.