Реферат: Трёхмерная компьютерная графика
2.2 Разбор случаев для обобщённого алгоритма Брезенхема.
Чтобы реализация алгоритма была полной необходимо обрабатывать отрезки во всех октантах. Когда абсолютная величина углового коэффициента больше 1, y постоянно изменяется на единицу, а критерий ошибки Брезенхема используется для принятия решения об изменении величены x .Выбор постоянно изменяющейся (на +1 или –1) координаты зависит от квадранта (рис. 2.2).
Алгоритм Брезенхема может быть оформлен в следующем виде.
Обобщённый целочисленный алгоритм Брезенхема квадрантов
предполагается, что концы отрезка ( x1 ,y1 ) и ( x2 ,y2 ) не совпадают и все переменные - целые .
Функция Sign возвращает - 1, 0, 1 для отрицательного нулевого и положительного аргумента соответственно.
инициализация переменных
x = x1
y = y1
Dx = abs ( x2 - x1 )
Dy = abs ( y2 - y1 )
s1 = Sign ( x2 - x1 )
s2 = Sign ( y2 - y1 )
обмен значение D x и D y в зависимости от углового коэффициента наклона отрезка
if Dy > Dx then
Врем =Dx
Dx = Dy
Dy = Врем
Обмен = 1
else
Обмен = 0
end if
инициализация с поправкой на половину пиксела
= 2 * Dy -Dx
основной цикл
for i = 1 to Dx
Plot ( x ,y )
While ( ³ 0 )
If Обмен = 1 then