DDA versus Bresenham-algoritme
DDA en Bresenham-algoritme zijn termen die u tegenkomt bij het bestuderen van computergraphics. Voordat we het verschil tussen deze twee termen toelichten, laten we eens kijken wat DDA is en wat het Bresenham-algoritme is. De uitvinding van de computer maakte dingen eenvoudig en een ervan was het oplossen van differentiaalvergelijkingen. Eerder werd het gedaan door een mechanische differentiaalanalysator die traag en vol fouten was maar DDA of Digital differential Analyzer is de toepassing van een analyser in digitale vorm die accuraat en snel is. Differentiaalanalysator wordt gebruikt om lijnen tussen twee punten te maken, zodat een rechte lijn of polygoon met n aantal zijden op het scherm te zien is. Afstand tussen twee punten of een pixel wordt beschreven door een differentiaalvergelijking waarbij de coördinaten van het startpunt en die van het eindpunt in de software zijn opgegeven. Dit kan worden bereikt met DDA en het Bresenham-algoritme.
Wat is DDA?
DDA wordt gebruikt bij het tekenen van een rechte lijn om een lijn, driehoek of veelhoek in computergraphics te vormen. DDA analyseert monsters langs de lijn met een regelmatig interval van een coördinaat als het gehele getal en voor de andere coördinaat wordt het gehele getal dat het dichtst bij de lijn ligt afgerond. Daarom, terwijl de lijn vordert, scant het de eerste gehele coördinaat en rond het tweede tot het dichtstbijzijnde gehele getal. Daarom is een lijn getekend met DDA voor x-coördinaat x0 tot x1 maar voor y coördinaat zal het y = ax + b zijn en om functie te tekenen zal het Fn zijn (x, y afgerond).
Wat is Bresenham-algoritme?
Het algoritme van Bresenham is ontwikkeld door J.E.Bresenham in 1962 en het is veel accuraat en veel efficiënter dan DDA. Het scant de coördinaten, maar in plaats van af te ronden, neemt het de incrementele waarde in rekening door optellen of aftrekken en kan daarom worden gebruikt voor het tekenen van cirkel en curven. Daarom, als een lijn getrokken moet worden tussen twee punten x en y, dan zullen de volgende coördinaten zijn (xa + 1, Yeen) en (xa + 1, Ya + 1) waarbij a de incrementele waarde is van de volgende coördinaten en het verschil tussen deze twee wordt berekend door de door hen gevormde vergelijkingen af te trekken of toe te voegen.
Verschil tussen DDA en Bresenham-algoritme • DDA gebruikt zwevende punten waarbij het Bresenham-algoritme vaste punten gebruikt. • DDA ronden de coördinaten af tot het dichtstbijzijnde gehele getal, maar Bresenham-algoritme niet. • Bresenham-algoritme is veel accuraat en efficiënt dan DDA. • Bresenham-algoritme kan cirkels en curven tekenen met veel meer nauwkeurigheid dan DDA. • DDA gebruikt vermenigvuldiging en verdeling van de vergelijking, maar Bresenham-algoritme gebruikt alleen aftrekken en optellen.
|