DDA срещу алгоритъм Bresenham
DDA и Bresenham Algorithm са термини, на които бихте се натъкнали, когато изучавате компютърна графика. Преди да обясним разликата между тези два термина, нека видим какво е DDA и какво е алгоритъм на Bresenham. Изобретението на компютъра направи нещата прости и един от тях е решаването на диференциални уравнения. По-рано това беше направено от механичен диференциален анализатор, който беше бавен и пълен с грешки, но DDA или цифровият диференциален анализатор е приложението на анализатор в цифрова форма, което е точно и бързо. Диференциалният анализатор се използва за правене на линии между две точки, така че на екрана да се вижда права линия или многоъгълник с n броя страни. Разстоянието между две точки или пиксел се описва чрез диференциално уравнение, където координатите на началната точка и тази на крайната точка са посочени в софтуера. Това може да бъде постигнато чрез DDA и алгоритъма на Bresenham.
Какво е DDA?
DDA се използва при изчертаване на права линия, за да образува линия, триъгълник или многоъгълник в компютърната графика. DDA анализира проби по линията с редовен интервал от едната координата като цяло число, а за другата координата закръглява цялото число, което е най-близо до линията. Следователно с напредването на линията тя сканира първата целочислена координата и закръглява втората до най-близкото цяло число. Следователно линия, начертана с помощта на DDA за x координата, ще бъде x 0 до x 1, но за y координата тя ще бъде y = ax + b и за изчертаване на функцията ще бъде Fn (x, y закръглена).
Какво представлява алгоритъмът на Bresenham?
Bresenham Algorithm е разработен от JEBresenham през 1962 г. и е много по-точен и много по-ефективен от DDA. Той сканира координатите, но вместо да ги закръгли, отчита нарастващата стойност, като добавя или изважда и следователно може да се използва за изчертаване на кръг и криви. Следователно, ако трябва да се направи линия между две точки x и y, тогава следващите координати ще бъдат (x a + 1, y a) и (x a + 1, y a + 1), където a е нарастващата стойност на следващите координати и разликата между тези две ще бъде изчислена чрез изваждане или добавяне на уравненията, образувани от тях.
Разлика между алгоритъма на DDA и Bresenham • DDA използва плаващи точки, където алгоритъмът на Bresenham използва фиксирани точки. • DDA закръгля координатите до най-близкото цяло число, но алгоритъмът на Bresenham не. • Алгоритъмът на Bresenham е много точен и ефективен от DDA. • Алгоритъмът на Bresenham може да рисува кръгове и криви с много по-голяма точност от DDA. • DDA използва умножение и разделяне на уравнение, но алгоритъмът на Bresenham използва само изваждане и събиране. |