Алгоритм
Пусть отрезок задан вещественными координатами концов
;
.
Растровыми (целочисленными) координатами концевых точек становятся округлённые значения исходных координат:
,
;
,
[2].
Большее по абсолютной величине число,
или
, увеличенное на 1 принимается за количество шагов
цикла растеризации.
В начале цикла вспомогательным вещественным переменным
и
присваиваются исходные координаты начала отрезка:
;
.
На каждом шаге цикла эти вещественные переменные получают приращения
;
.
Растровые же координаты, продуцируемые на каждом шаге, являются результатом округления соответствующих вещественных значений
и
.
Применение вычислений с вещественными числами и лишь однократное использование округления для окончательного получения значения растровой координаты обусловливают высокую точность и низкое быстродействие алгоритма.
Модифицированный алгоритм DDA-линии применяется для растеризации окружностей.
Примечания
- ↑ Аббревиатура DDA в названии этого алгоритма машинной графики происходит от англ. digital differential analyzer — цифровой дифференциальный анализатор.
- ↑ Вообще говоря, если вещественные координаты концов отрезка заданы в некоторой логической системе координат, то соответствующие им растровые координаты определяются на основании правил пересчёта, установленных для конкретной пары систем координат: логической и экранной.
Литература
- Роджерс Д. Алгоритмические основы машинной графики. — М.: Мир, 1989. — С. 50-54. — ISBN 5-03-000476-9.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .