
- •Предмет, цели и задачи компьютерной графики.
- •Исторические этапы развития компьютерной графики
- •Современные направления и виды компьютерной графики, типы изображений.
- •Устройства ввода
- •Мышь, трекбол, джойстик
- •Сенсорные панели
- •Устройства вывода (дисплеи), цветовые модели.
- •Системы координат в машинной графике.
- •Аффинные преобразования (перенос и масштабирование).
- •Аффинные преобразования (вращение).
- •Однородные координаты и матричное представление 2d-преобразований.
- •Матричное представление 3d-преобразований.
- •Проекции. Основные виды и их отличия.
- •Математический аппарат центральной перспективной проекции.
- •Проблема удаления невидимых линий и поверхностей. Обзор основных подходов и алгоритмов.
- •Удаление невидимых линий методом плавающего горизонта.
- •Алгоритм удаления невидимых поверхностей с использованием z-буфера.
- •Удаление невидимых линий на основе алгоритма Робертса.
- •Удаление невидимых поверхностей методом трассировки лучей.
- •Алгоритм удаления невидимых поверхностей Варнока.
- •Построчный алгоритм удаления невидимых поверхностей Уоткинса.
- •Алгоритмы списка приоритетов. Метод сортировки по глубине (Ньюэла – Ньюэла – Санча).
- •Алгоритм Вейлера – Азертона.
- •Алгоритм Галимберти – Монтанари.
- •Алгоритм генерации отрезков (симметричный цда).
- •Алгоритм генерации отрезков (простой цда).
- •Алгоритм Брезенхема для генерации отрезков.
- •Проблема растровой развертки окружностей.
- •Алгоритм Брезенхема для развертки окружностей.
- •Алгоритмы заливки областей на основе построчного сканирования.
- •Алгоритмы заливки областей на основе затравочного заполнения.
- •Основы фрактальной геометрии.
- •Алгоритмы отсечения. Постановка задачи.
- •Алгоритм отсечения Коэна-Сазерленда.
- •33.Синтез реалистических изображений. Расчет интенсивности при различных видах освещения.
- •Классификация источников освещения. Проблема расчета затухания интенсивности (радиальное, угловое).
- •Методы закраски Гуро и Фонга.
- •Моделирование глобального освещения методом трассировки лучей (прямая и обратная трассировки).
- •Распределенная трассировка лучей. Дефект алиайзинга и методы его устранения.
- •Методы оптимизации методов трассировки лучей. Основные характеристики и недостатки методов трассировки лучей.
- •Метод излучательности.
Алгоритмы заливки областей на основе построчного сканирования.
Основной принцип: происходит последовательное сканирование строк и определяется принадлежность каждого пикселя внутри области, которую нужно закрасить.
З
десь
используется алгоритм, основанный на
том, что соседние пиксели в строке скорее
всего имеют один цвет и меняются только
там, где строка пересекает границу
внутри области. Это свойство называется
когерентностью
растровых строк.
При этом достаточно определить X-координату пересечения строк сканирования с границами внутренней области. Пары отсортированных точек пересечения задают интервалы заливки. Если какие-либо ребра или границы пересеклись i-той строкой, то они, скорее всего, так же будут пересекаться и (i+1)-ой строкой. Это предположение называется когерентностью ребер. При переходе к новой строке легко вычисляются новые X-координаты точки пересечения с ребрами.
xi+1 = xi + 1/k, где k = dy/dx, dy = 1(т.к соседняя строка)=> xi+1 = xi + dx.
Учет когерентности строк и ребер позволяет построить для заполнения многоугольника достаточно точный алгоритм для каждой строки, сканируя только те ребра, которые пересекают строку. Они задаются списком активных ребер (САР). При переходе к следующей строке для пересекающихся ребер пересчитывается координата X, при появлении в строке сканирования вершины производится перестройка САР, т.е. те ребра, которые перестали пересекаться, удаляются, а новые заносятся.
Алгоритмы заливки областей на основе затравочного заполнения.
Основной принцип: известна начальная точка и определены границы области. Путем перераспределения волны от исходной точки окрашиваются соседние пиксели до тех пор, пока волна не упрется в границу области.
Тем или иным образом задается заливаемая область, а так же код пикселя, по которому будет выполняться заливка; и начальная точка, лежащая внутри области, начиная с которой будет происходить заливка. Эта точка называется затравочной точкой.
По способам задания области алгоритмы делятся на два типа:
Гранично-определяемые, задаваемые своей замкнутой границей, такой, что коды границы пикселей отличны от кодов внутренней перекрашиваемой области (на коды пикселей внутри области накладываются условия: должны быть отличны от кода границы, должны быть отличны от кодов перекраски). Если внутри такой области имеется еще одна граница, нарисованная пикселями с такими же кодами, то составная часть обрасти не должна закрашиваться.
Внутренне-определяемые: области, нарисованные одним определенным кодом области. При заливке этот код заменяется на новый код закраски. Заливаемая область или ее граница – это некоторое связное множество пикселей. по способам доступа к соседним пикселям обрасти делятся на:
четырехсвязные – доступ осуществляется по 4 направлениям;
восьмисвязные – доступ осуществляется по 8-ми направлениям.
8-мисвязную область можно заполнить как 4-х, так и 8-мисвязными алгоритмами. Обратное неверно.
Заливка выполняется следующим образом:
Определяется, является ли пиксель граничным или уже закрашенным
Если нет, то пиксель перекрашивается, а затем проверяется, надо ли перекрашивать 4 соседних пикселя.