Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Алгоритм DDA-линии23 января 2011Алгоритм DDA-линии растеризует отрезок прямой между двумя заданными точками, используя вычисления с вещественными числами. Аббревиатура DDA в названии этого алгоритма машинной графики происходит от англ. Digital Differential Analyzer — вычислительное устройство, применявшееся ранее для генерации векторов... АлгоритмПусть отрезок задан вещественными координатами концов ; . Растровыми координатами концевых точек становятся округлённые значения исходных координат: xstart = round, ystart = round; xend = round, yend = round. Большее из двух чисел — или — по абсолютной величине принимается за количество шагов L цикла растеризации, увеличенное на 1. В начале цикла вспомогательным вещественным переменным x и y присваиваются исходные координаты начала отрезка: x = x1; y = y1. На каждом шаге цикла эти вещественные переменные получают приращения / L; / L. Растровые же координаты, продуцируемые на каждом шаге, являются результатом округления соответствующих вещественных значений x и y. Применение вычислений с вещественными числами и лишь однократное использование округления для окончательного получения значения растровой координаты обусловливают высокую точность и низкое быстродействие алгоритма. Далее представлен программный код реализации алгоритма DDA-линии. Значения вспомогательных переменных x и y здесь сохраняются в виде массивов.
оптимизированный алгоритм, вместо деления использует побитовое смещение. sx,sy - начало линии tx,ty - конец линии. Применяется в случае если использование переменных с плавающей запятой невозможно в виду каких либо ограничений.
Модифицированный алгоритм DDA-линии применяется для растеризации окружностей. Просмотров: 1374
|