DDA против алгоритма Брезенхэма
DDA и алгоритм Брезенхема - термины, с которыми вы могли столкнуться при изучении компьютерной графики. Прежде чем объяснять разницу между этими двумя терминами, давайте посмотрим, что такое DDA и что такое алгоритм Брезенхэма. Изобретение компьютера упростило многие вещи, и одним из них стало решение дифференциальных уравнений. Раньше это делал механический дифференциальный анализатор, который был медленным и полным ошибок, но DDA или цифровой дифференциальный анализатор - это приложение анализатора в цифровой форме, которое является точным и быстрым. Дифференциальный анализатор используется для построения линий между двумя точками таким образом, чтобы на экране можно было увидеть прямую линию или многоугольник с n числом сторон. Расстояние между двумя точками или пикселем описывается дифференциальным уравнением, в котором координаты начальной и конечной точек задаются в программе. Это может быть достигнуто с помощью DDA и алгоритма Брезенхэма.
Что такое DDA?
DDA используется при рисовании прямой линии для формирования линии, треугольника или многоугольника в компьютерной графике. DDA анализирует выборки вдоль линии через равные промежутки одной координаты как целое число, а по другой координате округляет целое число, ближайшее к линии. Поэтому по мере продвижения строки она сканирует первую целочисленную координату и округляет вторую до ближайшего целого числа. Поэтому линия, нарисованная с использованием DDA для координаты x, будет от x0 до x1, но для координаты y будет y=ax+ b и функция рисования это будет Fn(x, y с округлением).
Что такое алгоритм Брезенхема?
Алгоритм Брезенхэма был разработан Дж. Э. Брезенхэмом в 1962 году, и он намного точнее и намного эффективнее, чем DDA. Он сканирует координаты, но вместо их округления учитывает возрастающее значение путем добавления или вычитания и, следовательно, может использоваться для рисования кругов и кривых. Следовательно, если провести линию между двумя точками x и y, то следующие координаты будут (xa+1, ya) и (x a+1, ya+1), где a - инкрементное значение следующих координат, а разница между этими двумя будет вычисляться путем вычитания или сложения образуемые ими уравнения.
Разница между DDA и алгоритмом Брезенхэма
• DDA использует плавающие точки, тогда как алгоритм Брезенхэма использует фиксированные точки.
• DDA округляет координаты до ближайшего целого числа, но алгоритм Брезенхэма этого не делает.
• Алгоритм Брезенхэма намного точнее и эффективнее, чем DDA.
• Алгоритм Брезенхема может рисовать окружности и кривые с гораздо большей точностью, чем DDA.
• DDA использует умножение и деление уравнения, но алгоритм Брезенхэма использует только вычитание и сложение.