Трехмерная компьютерная графика
Категория реферата: Рефераты по информатике, программированию
Теги реферата: шпаргалки по гражданскому, свобода реферат
Добавил(а) на сайт: Патрикия.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
[pic]
При ( < 0 расстояние от окружности до вертикального пиксела ( xi, уi –
1 ) больше и следует выбрать диагональный шаг mD, к пикселу ( xi + 1, уi –
1 ). Напротив, в случае ( > 0 расстояние от окружности до диагонального
пиксела больше и следует выбрать вертикальное движение к пикселу ( xi, уi –
1 ). Таким образом,
при ( ( 0 выбираем mD в ( xi + 1, уi – 1 ) при ( < 0 выбираем mV в ( xi, уi – 1 )
Здесь в случае ( = 0, т. е. когда расстояния равны, выбран диагональный шаг.
Проверка компонент ( показывает, что
[pic]
поскольку для случая З диагональный пиксел ( xi + 1, уi – 1 ) находится вне
окружности, тогда как вертикальный пиксел ( xi, уi – 1 ) лежит внутри ее.
Это позволяет записать ( в виде
[pic]
Дополнение до полного квадрата члена ( xi )2 с помощью добавления и
вычитания 2xi + 1 дает
[pic]
Использование определения (i приводит выражение к виду
[pic]
Теперь, рассматривая случай 4, снова заметим, что следует выбрать вертикальный пиксел ( xi, уi – 1 ), так как y является монотонно убывающей функцией при возрастании x. проверка компонент ( для случая 4 показывает, что
[pic] поскольку оба пиксела находятся вне окружности. Следовательно, ( > 0 и при использовании критерия, разработанного для случая 3, происходит верный выбор mV.
Осталось проверить только случай 5 на рис.2.7, который встречается, когда диагональный пиксел ( xi + 1, уi – 1 ) лежит на окружности, т. е. (i
= 0. Проверка компонент ( показывает, что
[pic]
Следовательно, ( > 0 и выбирается диагональный пиксел ( xi + 1, уi – 1 ).
Аналогичным образом оцениваем компоненты (:
[pic]
и ( < 0, что является условием выбора правильного диагонального шага к ( хi
+ 1, уi – 1 ). Таким образом, случай (i = 0 подчиняется тому же критерию, что и случай (i < 0 или (i > 0.
Подведем итог полученных результатов:
(i < 0
( ( 0 выбираем пиксел ( хi + 1, уi ) ( mH
( > 0 выбираем пиксел ( хi + 1, уi – 1 ) ( mD
(i > 0
( ( 0 выбираем пиксел ( хi + 1, уi – 1 ) ( mD
( > 0 выбираем пиксел ( хi , уi – 1 ) ( mV
(i = 0 выбираем пиксел ( хi + 1, уi – 1 ) ( mD
Легко разработать простые рекуррентные соотношения дня реализации пошагового алгоритма. Сначала рассмотрим горизонтальный шаг mH к пикселу ( хi + 1, уi ). Обозначим это новое положение пиксела как ( i + 1 ). Тогда координаты нового пиксела и значение (i равны
[pic]
Аналогично координаты нового пиксела и значения (i для шага mD к пикселу (
хi + 1, уi – 1 ) таковы:
[pic]
То же самое для шага mV к ( хi, уi – 1 )
[pic]
Реализация алгоритма Брезенхема для окружности приводиться ниже.
Пошаговый алгоритм Брезенхема для генерации окружности в первом квадранте
все переменные целые
xi = 0
yi = R
(i = 2(1 – R)
Предел = 0
1. Plot ( xi, yi )
if yi ( Предел then 4
выделение случая 1 или 2, 4 или 5, или 3
if (i < 0 then 2
if (i > 0 then 3
if (i = 0 then 20
определение случая 1 или 2
2. ( = 2(i + 2yi – 1
if ( ( 0 then 10
if ( > 0 then 20
определение случая 4 или 5
3. ( = 2(i + 2xi – 1
if ( ( 0 then 20
if ( > 0 then 30 выполнение шагов
шаг mH
10. xi = xi +1
(i = (i +2xi + 1 goto 1
шаг mD
20. xi = xi +1
yi = yi – 1
(i = (i +2xi – 2yi + 2 goto 1 шаг mV
30 yi = yi – 1
(i = (i – 2xi + 1 goto 1
4 finish
Рекомендуем скачать другие рефераты по теме: предмет культурологии, реферат на тему организация.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата