Реферат: Алгоритм Брезенхема

Використання визначення 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

К-во Просмотров: 421
Бесплатно скачать Реферат: Алгоритм Брезенхема