if Обмен = 1 then
y = y + s2
Else
x = x + s1
End if
= + 2*y
Next i
Finish
|
Рис.4.1. Разбор случаев для обобщенного алгоритма Брезенхема.
Пример 4.1. обобщенный алгоритм Брезенхема.
Для иллюсрации рассмотрим отрезок из точки (0,0) в точку (-8, -4).
начальные установки
x = 0
y = 0
x = 8
y = 4
s1 = -1
s2 = -1
Обмен = 0
е = 0
результаты работы пошагового цикла
| i | Plot | е | x | y |
| (0,0) | ||||
| -16 | -1 | |||
| -8 | -1 | -1 | ||
| (-1,-1) | ||||
| -2 | -1 | |||
| (-2,-1) | ||||
| -16 | -2 | -2 | ||
| -8 | -3 | -2 | ||
| (-3,2) | ||||
| -4 | -2 | |||
| (-4,2) | ||||
| -16 | -4 | -3 | ||
| -8 | -5 | -3 | ||
| (-5,-3) | ||||
| -6 | -3 | |||
| (-6,-3) | ||||
| -16 | -6 | -4 | ||
| -8 | -7 | -4 | ||
| (-7,-4) | ||||
| -8 | -4 |
|
Рис.4.2. Результат работы обобщенного алгоритма Брезенхема в третьем квадранте.
На рис.4.2 продемонстрирован результат. Сравнение с рис. 2.2 показывает, что результаты работы двух алгоритмов отличаются.
В следующем разделе рассматривается алгоритм Брезенхема для генерации окружности.






