
- •Предмет, цели и задачи компьютерной графики.
- •Исторические этапы развития компьютерной графики
- •Современные направления и виды компьютерной графики, типы изображений.
- •Устройства ввода
- •Мышь, трекбол, джойстик
- •Сенсорные панели
- •Устройства вывода (дисплеи), цветовые модели.
- •Системы координат в машинной графике.
- •Аффинные преобразования (перенос и масштабирование).
- •Аффинные преобразования (вращение).
- •Однородные координаты и матричное представление 2d-преобразований.
- •Матричное представление 3d-преобразований.
- •Проекции. Основные виды и их отличия.
- •Математический аппарат центральной перспективной проекции.
- •Проблема удаления невидимых линий и поверхностей. Обзор основных подходов и алгоритмов.
- •Удаление невидимых линий методом плавающего горизонта.
- •Алгоритм удаления невидимых поверхностей с использованием z-буфера.
- •Удаление невидимых линий на основе алгоритма Робертса.
- •Удаление невидимых поверхностей методом трассировки лучей.
- •Алгоритм удаления невидимых поверхностей Варнока.
- •Построчный алгоритм удаления невидимых поверхностей Уоткинса.
- •Алгоритмы списка приоритетов. Метод сортировки по глубине (Ньюэла – Ньюэла – Санча).
- •Алгоритм Вейлера – Азертона.
- •Алгоритм Галимберти – Монтанари.
- •Алгоритм генерации отрезков (симметричный цда).
- •Алгоритм генерации отрезков (простой цда).
- •Алгоритм Брезенхема для генерации отрезков.
- •Проблема растровой развертки окружностей.
- •Алгоритм Брезенхема для развертки окружностей.
- •Алгоритмы заливки областей на основе построчного сканирования.
- •Алгоритмы заливки областей на основе затравочного заполнения.
- •Основы фрактальной геометрии.
- •Алгоритмы отсечения. Постановка задачи.
- •Алгоритм отсечения Коэна-Сазерленда.
- •33.Синтез реалистических изображений. Расчет интенсивности при различных видах освещения.
- •Классификация источников освещения. Проблема расчета затухания интенсивности (радиальное, угловое).
- •Методы закраски Гуро и Фонга.
- •Моделирование глобального освещения методом трассировки лучей (прямая и обратная трассировки).
- •Распределенная трассировка лучей. Дефект алиайзинга и методы его устранения.
- •Методы оптимизации методов трассировки лучей. Основные характеристики и недостатки методов трассировки лучей.
- •Метод излучательности.
Алгоритм Вейлера – Азертона.
Алгоритмы, использующие список приоритетов, основаны на предварительной сортировке по глубине/приоритету. Цель – получить окончательный список элементов сцены, упорядоченный по приоритету глубины. Если такой список окончательный, то можно последовательно визуализировать элементы, начиная с самых дальних. Более близкие к наблюдателю элементы будут затирать информацию о более дальних в буфере кадров.
И
дея
этого алгоритма схожа с алгоритмом
Варнока. Разбиение экранной плоскости
может проходить не только прямыми,
параллельными координатным осям, но и
по границам проекций граней.
Шаги алгоритма:
Сортировка граней по глубине z;
Из полученного списка берется ближайшая к наблюдателю грань A;
Все остальные грани обрезаются по краям грани, выбранной в пункте 2 (A). Таким образом, получается множество граней: F(in) – грани, внутренние по отношению к A – это B1; и грани F(out) – внешние, т.е. B
Удаляем все грани, входящие в подмножество F(in), и прорисовываем саму грань A
Выбирается следующая грань, по границам которой происходит разбиение
Алгоритм Галимберти – Монтанари.
Алгоритмы, использующие список приоритетов, основаны на предварительной сортировке по глубине/приоритету. Цель – получить окончательный список элементов сцены, упорядоченный по приоритету глубины. Если такой список окончательный, то можно последовательно визуализировать элементы, начиная с самых дальних. Более близкие к наблюдателю элементы будут затирать информацию о более дальних в буфере кадров.
Работает в пространстве объектов.
Исторически является одним из первых алгоритмов.
Для каждого ребра производится сравнение с каждой гранью сцены. По результатам сравнения можно получить одну из трех ситуаций:
Ребро полностью находится в полупространстве, включающем также и наблюдателя. В этом случае ребро вносится в список;
Ребро полностью лежит в полупространстве, не включающем в себя наблюдателя. В этом случае необходима дополнительная проверка взаимного расположения проекций ребра и остальных граней;
Ребро попадает в оба полупространства. С данном случае ребро разбивается на две части, одна из которых далее обрабатывается по пункту 1, другая – по пункту 2.
Алгоритм генерации отрезков (симметричный цда).
Общие требования к изображению отрезков:
Концы отрезков должны находиться в заданных точках
Отрезки должны выглядеть прямыми
Яркость вдоль отрезка должна быть постоянной и не зависеть от длины и наклона отрезка.
Концы отрезка расположены на пикселях лишь наиболее близких к требуемым позициям; только в частных случаях координаты концов отрезка будут совпадать с координатами пикселя.
Линия аппроксимируется набором пикселей и в итоге не имеет ничего общего с прямой линией. Только в частных случаях отрезок будет выглядеть прямым (строго вертикально ли строго горизонтально, в крайнем случае – под углом в 45 градусов).
Яркость страдает из-за того, что расстояние между пикселями неравномерное.
ЦДА – цифровой дифференциальный анализатор.
Алгоритм позволяет растризовать отрезок, заданный двумя точками, используя при этом вычисления с вещественными числами (с плавающей точкой).
С
имметричный
ЦДА.
- начало и конец отрезка соответственно.
Необходимо решить дифференциальное
уравнение
.
Суть алгоритма заключается в параллельном приращении X и Y – увеличении координат x и y на некоторую величину Δ. Сначала определяется количество узлов N→∞, использующихся для аппроксимации отрезка, затем за N циклов вычисляются координаты очередных узлов.
.
Обычно принимают
Недостаток: необходимы вычисления с плавающей точкой; много лишних действий.