Реферат: Алгоритм Брезенхема
Використання визначення Di приводить вираз до вигляду
d' = 2 (Di - xi ) – 1
Тепер, розглядаючи випадок 4, знову зауважимо, що варто вибрати вертикальний піксел (xi , уi -1), тому що y є монотонно спадною функцією від х.
Перевірка компонентів d' для випадку 4 показує, що
(xi +1)2 +(yi -1)2 -R2 >0
(xi )2 +(yi -1)2 -R2 >0
Оскільки обидва піксели знаходяться поза колом. Отже, d' >0 і при використанні критерію, розробленого для випадку 3, відбувається вірний вибір mV .
Залишилося перевірити тільки випадок 5 на рис. 5.4, який зустрічається, коли діагональний піксел (xi +1, уi -1) лежить на колі, тобто Di =0. Перевірка компонентів d показує, що
(xi +1)2 +(yi )2 -R2 >0
(xi +1)2 +(yi -1)2 -R2 =0
Отже, d>0 і вибирається діагональний піксел (xi +1, уi -1). Аналогічним чином оцінюємо компоненти d' :
(xi +1)2 +(yi -1)2 -R2 =0
(xi +1)2 +(yi -1)2 -R2 <0
і d' <0, що є умовою вибору правильного діагонального кроку до (xi +1, уi -1). Таким чином, випадок Di =0 підлягає тому ж критерію, що і випадок Di <0 чи Di >0. Підіб'ємо підсумок отриманих результатів:
Di <0
d<=0вибираємо піксел (xi +1, уi ) – mH
d> 0 вибираємо піксел (xi +1, уi -1) – mD
Di >0
d' <=0 вибираємо піксел (xi +1, уi -1) – mD
d'> 0 вибираємо піксел (xi , уi -1) – mV
Di =0 вибираємо піксел (xi +1, уi -1) – mD
Легко розробити прості рекурентні співвідношення для реалізації покрокового алгоритму. Спочатку розглянемо горизонтальний крок mH до піксела (xi +1, уi ). Позначимо це нове положення піксела як (i+1). Тоді координати нового піксела і значення Di рівні
xi+1 =xi +1
yi+1 =yi
Di+1 =(xi+1 +1)2 +(yi+1 -1)2 -R2 =Di +2xi+1 +1
Аналогічно координати нового піксела і значення Di для кроку mD до піксела (xi +1, уi -1) такі:
xi+1 =xi +1
yi+1 =yi -1
Di+1 =Di +2xi+1 -2yi+1 +2