
- •Предмет, цели и задачи компьютерной графики.
- •Исторические этапы развития компьютерной графики
- •Современные направления и виды компьютерной графики, типы изображений.
- •Устройства ввода
- •Мышь, трекбол, джойстик
- •Сенсорные панели
- •Устройства вывода (дисплеи), цветовые модели.
- •Системы координат в машинной графике.
- •Аффинные преобразования (перенос и масштабирование).
- •Аффинные преобразования (вращение).
- •Однородные координаты и матричное представление 2d-преобразований.
- •Матричное представление 3d-преобразований.
- •Проекции. Основные виды и их отличия.
- •Математический аппарат центральной перспективной проекции.
- •Проблема удаления невидимых линий и поверхностей. Обзор основных подходов и алгоритмов.
- •Удаление невидимых линий методом плавающего горизонта.
- •Алгоритм удаления невидимых поверхностей с использованием z-буфера.
- •Удаление невидимых линий на основе алгоритма Робертса.
- •Удаление невидимых поверхностей методом трассировки лучей.
- •Алгоритм удаления невидимых поверхностей Варнока.
- •Построчный алгоритм удаления невидимых поверхностей Уоткинса.
- •Алгоритмы списка приоритетов. Метод сортировки по глубине (Ньюэла – Ньюэла – Санча).
- •Алгоритм Вейлера – Азертона.
- •Алгоритм Галимберти – Монтанари.
- •Алгоритм генерации отрезков (симметричный цда).
- •Алгоритм генерации отрезков (простой цда).
- •Алгоритм Брезенхема для генерации отрезков.
- •Проблема растровой развертки окружностей.
- •Алгоритм Брезенхема для развертки окружностей.
- •Алгоритмы заливки областей на основе построчного сканирования.
- •Алгоритмы заливки областей на основе затравочного заполнения.
- •Основы фрактальной геометрии.
- •Алгоритмы отсечения. Постановка задачи.
- •Алгоритм отсечения Коэна-Сазерленда.
- •33.Синтез реалистических изображений. Расчет интенсивности при различных видах освещения.
- •Классификация источников освещения. Проблема расчета затухания интенсивности (радиальное, угловое).
- •Методы закраски Гуро и Фонга.
- •Моделирование глобального освещения методом трассировки лучей (прямая и обратная трассировки).
- •Распределенная трассировка лучей. Дефект алиайзинга и методы его устранения.
- •Методы оптимизации методов трассировки лучей. Основные характеристики и недостатки методов трассировки лучей.
- •Метод излучательности.
Удаление невидимых линий на основе алгоритма Робертса.
Алгоритм прежде всего удаляет из каждого тела те ребра или грани, которые экранируются самим телом. Затем каждое из видимых ребер каждого тела сравниваются с каждым из оставшихся тел для определения того, какие из ребер экранируются другими объектами. Вычислительная сложность N^2. Алгоритм состоит из двух этапов:
1э) Определение не лицевых граней для каждого тела в отдельности. Пусть F – грань какого-то тела. Плоскость, несущая эту грань, разделяет пространство на 2 подпространства. Называют положительным то из них, в которое смотрит внешняя нормаль к грани (n). Если точка наблюдения в положительном подпространстве, грань считается лицевой, иначе – не лицевой и подлежит удалению. Для определения, лежит ли точка наблюдения в положительном подпространстве, используют проверку знаков скалярного произведения (l, n). l – вектор, направленный к наблюдателю, n – вектор внешней нормали. Если произведение положительное – грань является лицевой, иначе – нет.
2э) Удаление оставшихся невидимых ребер. Определить, есть ли среди оставшихся ребер т, которые экранируются другими объектами. Варианты:
Ни один объект не закрывает ребро
Какой-либо объект полностью закрывает ребро
Ребро частично закрывается объектом. В этом случае ребро разбивается на несколько частей; видимыми являются не более двух. Исходное ребро удаляется из списка, а новые добавляются в список, после чего снова повторяется проверка.
Удаление невидимых поверхностей методом трассировки лучей.
Алгоритм отслеживает (трассирует) лучи в обратном направлении (в прямом направлении очень мало лучей дойдет до наблюдателя, что не рационально), т. е. от наблюдателя к объекту. Выбирается центр проецирования (глаза наблюдателя) и окно вида (экран) в виде правильной сетки, элементы которой соответствуют пикселям экрана. Тогда для каждого пикселя выполняется следующее действие: луч света выпускается из центра проецирования, проходит через центр пикселя, попадает на сцену, где может пройти сквозь несколько объектов. Шаги алгоритма:
Сцена преобразовывается в пространстве изображения;
Определяется, какие именно объекты пересекаются лучом;
Вычисляются и упорядочиваются z-координаты пересечения луча с объектами;
Выбираются точки с наименьшим z (ближайшие к экрану)
Недостаток: каждый пиксель сравнивается с каждым объектом. Возможна оптимизация с помощью использования геометрической оболочки тела.
Алгоритм удаления невидимых поверхностей Варнока.
Я
вляется
одним из примеров алгоритмов, основанных
на разбиении картинной плоскости на
части, для каждой из которых исходная
задача может быть решена достаточно
просто. Алгоритм работает в пространстве
изображения.
Алгоритм анализирует область на экране дисплея на наличие видимых элементов. Если таковых в ней нет, область закрашивается фоном; если есть – проверяется, достаточно ли прост этот объект для визуализации. В четырех случаях можно сразу принять решение о правилах закраски:
Все многоугольники сцены видны по отношению к окну; (?? должно вроде: когда в окно не попадает ни одна грань, то окно закрашивается цветом фона)
Имеется всего один внутренний или пересекающий многоугольник. Все окно закрашивается цветом фона, за исключением той части, где происходит пересечение
Имеется единственный охватывающий многоугольник. Закрашивается окно цветом многоугольника
Имеется несколько различных многоугольников и хотя бы один из них охватывающий. При этом: если охватывающий многоугольник расположен ближе к наблюдателю, чем все остальные, то окно закрашивается его цветом; все остальные случаи не считаются простыми, поэтому если достигнуто максимальное разбиение, но при этом не обнаружено простых случаев, то для окна, которое будет размером с квадратный пиксель, вычисляется глубина координаты z оставшегося в нем многоугольника и закрашивается цветом того многоугольника, который будет ближе к наблюдателю