-
Notifications
You must be signed in to change notification settings - Fork 9
5. Алгоритмы Брезенхема разложения отрезков в растр. Простой алгоритм Брезенхема. Целочисленный алгоритм Брезенхема. Общий алгоритм Брезенхема
Pandas edited this page Jun 1, 2017
·
5 revisions
Работа алгоритма Брезенхема основывается на использовании понятия ошибка.
Ошибкой здесь называется расстояние между действительным положением отрезка и ближайшим пикселом сетки растра, который аппроксимирует отрезок на очередном шаге.
Согласно алгоритму на каждом шаге одна из координат - либо x, либо y (в зависимости от угла наклона отрезка) изменяется на единицу, изменение другой координаты (на ноль или единицу) определяется в процессе работы и зависит от значения ошибки. Таким образом, выбирается пиксел, ближе расположенный к идеальному отрезку. Поскольку при реализации алгоритма на ЭВМ удобнее анализировать не само значение ошибки, а ее знак, то истинное значение ошибки смещается на -0.5.
Простой алгоритм Брезенхема
- Ввод исходных данных Xн,Yн,Xк,Yк
- Проверка вырожденности отрезка. Если отрезок вырожденный, то высвечивается точка и осуществляется переход к п.8
- Вычисление приращений dX=Xк-Xн и dY=Yк-Yн.
- Вычисление модуля тангенса угла наклона отрезка: m=dY/dX
- Инициализация начального значения ошибки: f=m-0,5
- Инициализация начальных значений координат текущего пиксела: X=Xн, Y=Yн
- Цикл от i=1 до i=dX+1 с шагом 1:
- Высвечивание точки с координатами (X,Y)
- Если f<0, то
a) Y++
b) f-- - Вычисление ошибки f=f+m
- X++