Алгоритм DDA-линии

Алгоритм

Пусть отрезок задан вещественными координатами концов ; . Растровыми (целочисленными) координатами концевых точек становятся округлённые значения исходных координат: , ; , [2].

Большее по абсолютной величине число, или , увеличенное на 1 принимается за количество шагов цикла растеризации.

В начале цикла вспомогательным вещественным переменным и присваиваются исходные координаты начала отрезка: ; . На каждом шаге цикла эти вещественные переменные получают приращения ; . Растровые же координаты, продуцируемые на каждом шаге, являются результатом округления соответствующих вещественных значений и .

Применение вычислений с вещественными числами и лишь однократное использование округления для окончательного получения значения растровой координаты обусловливают высокую точность и низкое быстродействие алгоритма.

Модифицированный алгоритм DDA-линии применяется для растеризации окружностей.

Примечания

  1. Аббревиатура DDA в названии этого алгоритма машинной графики происходит от англ. digital differential analyzer — цифровой дифференциальный анализатор.
  2. Вообще говоря, если вещественные координаты концов отрезка заданы в некоторой логической системе координат, то соответствующие им растровые координаты определяются на основании правил пересчёта, установленных для конкретной пары систем координат: логической и экранной.

См. также

Литература

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.