Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Алгоритм закраски областей, заданных списком вершин
(метод построчного сканирования)
Интерполяция яркости при закраске областей О линейной интерполяции яркости при закраски области можно говорить, если закрашиваемая фигура плоская т.е. лежит в одной плоскости, например (ХУ).
Рис. 2.9.5.
Плоскость определяется по трём точкам:
Рис. 2.9.6.
|| || - определитель матрицы;
A·x + B·y + D A В D V = - ¾¾¾¾¾¾¾ = a·x + b·y + g, где a = - ¾, b = - ¾, g = - ¾; C С C C
V = V1 + α (х - х1)+β (у - у1), где V – яркость в произвольной точке, V1 – яркость известная.
Предварительно производится отсечение многоугольника по полю вывода. Существуют различные задачи закраски: выпуклых многоугольников и многоугольников произвольной формы. Начнем с закраски произвольного многоугольника. Рис.2.9.7.
Сначала находят ymax и ymin. Далее для текущей у-координаты находят крайнее левое и крайнее правое ребро. Начинают с крайнего левого ребра: идут вправо (и закрашивают соответствующие точки) до пересечения со следующим ребром. Также необходим анализ на наличие локальных экстремумов. В этих точках режим закраски не меняется.
Алгоритм работает с помощью 2-х таблиц: 1. 1. таблица ребер (ТР); 2. 2. таблица активных ребер (ТАР); В ТР заносятся все ребра, а в ТАР лишь те ребра, которые мы пересекаем. Составление ТР: Все ребра делятся на группы по нарастанию у-координаты, а внутри группы рёбра упорядочиваются в соответствии с нарастанием хнач. Ребро в таблицу заносится только 1 раз, горизонтальные ребра игнорируются.
Таблица рёбер:
хКОН ¾ хНАЧ VКОНЕЧ ¾ VНАЧ Dх = ¾¾¾¾¾¾; DV = ¾¾¾¾¾¾¾; ymax ¾ ymin ymax ¾ ymin
Алгоритм 1. 1. Сформировать ТР и подготовить ТАР 2. 2. Выбор первой координаты сканируемой строки: у = min {ymin}; 3. 3. Если у = уmin, то перенос группы из ТР в ТАР.
Таблица активных ребер (ТАР)
4. Упорядочивание ребер в ТАР по возрастанию хНАЧ. 5. Сканирование (проводят сканирующую строку). б) учёт прохождения через вершины – локальные экстремумы. Если точка – локальный экстремум, то режим следует сохранить. Для отслеживания данной ситуации можно включить в ТР уmax, при совпадении необходим дополнительный анализ. в) проводить линейную интерполяцию яркости при закраске от (хНАЧ , VНАЧ)i до (хНАЧ , VНАЧ)i+1 6. Удалить из ТАР те ребра, для которых справедливо у = уmax 7. Для всех элементов в ТАР произвести: хНАЧ = хНАЧ + ∆х; VНАЧ = VНАЧ + ∆V; 8. Переход к следующей сканирующей строке: y=y+1; 9. Проверка на окончание: если y>max{уmax}, то конец, иначе осуществить переход к п.3). Date: 2015-07-17; view: 478; Нарушение авторских прав |