
- •Основные сведения о графических системах (гс). Функции гс. Блок-схема гс. Основные сведения о графических системах (гс).
- •Функции гс
- •Блок-схема гс.
- •Векторный и растровый дисплеи. Получение изображения. Сравнительная характеристика.
- •Геометрические преобразования. Однородные координаты. Перенос, поворот, масштабирование в однородных координатах. Двумерные преобразования Перенос
- •Масштабирование
- •Поворот
- •Однородные координаты
- •Перенос
- •Композиции преобразований
- •(Трехмерных)
- •Преобразование отрезков в растровую форму. Простой, пошаговый алгоритмы, алгоритм Брезенхема.
- •Преобразования, как изменение систем координат.
- •Устранение искажений в растровых изображениях. Выравнивание. Мелкие и движущиеся объекты. Алгоритм By.
- •Заполнение области. Алгоритм построчного сканирования, алгоритм заполнения с затравкой. Заполнение линиями.
- •Растровая развёртка многоуг-в (метод использования когерентности сканируемых строк).
- •Растровая развёртка многоуг-в (метод использования когерентности рёбер).
- •Алгоритм отсечения отрезков Козна и Сазерленда. Алгоритм разбиения средней точкой.
- •Основные виды геометрических моделей.
- •Методы построения геометрических моделей (построение кривых и поверхностей, кусочно-аналитическое описание, кинематический принцип, булевы операции, полигональные сетки).
- •Поперечное сечение криволинейного объекта и его полигональная аппроксимация
- •Методы создания реалистических трехмерных изображений.
- •Получение проекций. Основные виды проекций.
- •Общие сведения об удалении скрытых линий. Сравнительная характеристика алгоритмов.
- •Алгоритм сортировки по глубине
- •Алгоритм разбиения области
- •Алгоритм, использующий z-буфер
- •Алгоритм построчного сканирования (пи)
- •Методы закраски полигональной сетки.
- •Фактура. Нанесение узора на поверхность
- •Фактура. Создание неровностей на поверхности.
- •Математическое описание перспективных проекций.
- •Алгоритм трассировки лучей.
- •Общие сведения о свете. Классификация поверхностей по виду отражения.
- •Модель освещения. Свойства объектов
- •4 Типа поверхностей:
- •Отражение диффузное
- •Зеркальное отражение
- •Пропускание света (прозрачность)
- •С рассеянным, диффузным и зеркальным с рассеянным и диффузным с рассеянным светом Без освещения
- •Специальные модели
- •Получение теней.
- •Источник на бесконечности
- •Локальный источник
- •Цвет и его характеристики.
- •Цветовые модели(rgb, cмy).
- •Системы смешивания основных цветов
- •Цветовые модели (hsv, hls). Цветовая гармония.
Заполнение области. Алгоритм построчного сканирования, алгоритм заполнения с затравкой. Заполнение линиями.
Алгоритм построчного сканирования
Е
сть
область, граница которой разложена в
растр. Требуется: заполнить область
внутри. Пусть внутри задана точка.
“boundary”
— значение граничных
.
“old”
– значение
внутри области до заполнения. “new”
– значение
внутри области новое. Объект заключается
в прямоугольную оболочку и проверяется
принадлежность
объекту. Проводится построчное
сканирование. Когда находится
со значением “boundary”,
то
,
следующий за ним и имеющий значение
“old”,
меняет значение “old”
на “new”.
И так до тех пор, пока не будет встречен
еще один
со значением “boundary”.
После этого осуществляется переход на
следующую строку.
Недостаток: Просматривается больше , чем необходимо.
Метод заполнения с затравкой
Область называется 4-хсвязной, если из любой внутренней т. можно достичь любой другой т., двигаясь в одном из 4-х направлений.
4-х связная обл. 8-связная обл.
Алгоритм:
1. Поместить затравочный в стек.
2. Пока стек не пуст:
а) извлечь из стека;
б) присвоить требуемое значение;
в) для каждого из соседних 4-хсвязных проверить:
- является ли он граничным;
- не присвоено ли требуемое значение.
г) проигнорировать в любом из этих двух случаев.
иначе поместить в стек.
П
ример:
Стек
0
11
12
13
1 10 2
2
3
3
2
14
4
5
13
15
14
16
6
3 1
17
7
8
3
5 18
17
16
9
10
Заполнение линиями
Для заданной т. (x,y) определяется и заполняется максимальный отрезок, содержащий эту т. и лежащий внутри области. Потом в поисках еще не заполненных проверяются отрезки, лежащие выше и ниже. Если такие находятся, то функция рекурсивно вызывается дальше. Алгоритм эффективен и для областей с отверстиями.
Растровая развёртка многоуг-в (метод использования когерентности сканируемых строк).
В отличие от заполнения области, где граница многоугольника (области) уже была разложена в растр, сейчас требуется получить растровый образ сплошной области, граница которой задана в векторном виде.
Когерентность сканирующих строк
В самом простом случае, чтобы определить , которые надо закрасить, нужна проверка каждого на принадлежность многоугольнику (все экрана).
Но такой подход очень трудоемок, приходится проделывать много лишних операций.
Упростить эту задачу можно, если
использовать тот принцип, что соседние
часто ведут себя одинаково, т.е. мы можем
работать сразу с группой
,
включая их в изображение многоугольника
или отбрасывая.
Н
а
этом и основан принцип пространственной
когерентности:
перемещаясь от к или от одной сканирующей строки к другой, многоугольник чаще всего остается постоянным.
Используя этот принцип, можно предположить следующий алгоритм:
Определить точки пересечения текущей сканирующей строки со сторонами многоугольника.
Сортировать т. пересечения по увеличению x – координаты.
Попарно закрасить.
Рассмотрим строку 2: строка 6:
т. пересечения: 3,6 1) 8,6,3,1
сортировка: 3,6 2) 1,3,6,8
закраска: 3-6 3) 1,-3,6,-8
строка 3: строка 5:
2,8,8 1) 8,4,4,1
2,8,8
не верно! 2) 1,4,4,8 верно!
2,-8,8 – правая граница буфера 3) 1,-4,4,-8
Чтобы алгоритм работал верно, во всех случаях поступают следующим образом:
Все вершины разбивают на 2 типа:
промежуточные (1,3)
локальные и глобальные экстремумы (2,5,6,4).
Если вершина является промежуточной, то одно из ребер, ее составляющих, уменьшается на 1 по y.
Тогда для строки 3: (ребро е3 укоротили на 1, появилась вершина 31)
2,8
2,8 3) 2,-8