
- •Предмет, цели и задачи компьютерной графики.
- •Исторические этапы развития компьютерной графики
- •Современные направления и виды компьютерной графики, типы изображений.
- •Устройства ввода
- •Мышь, трекбол, джойстик
- •Сенсорные панели
- •Устройства вывода (дисплеи), цветовые модели.
- •Системы координат в машинной графике.
- •Аффинные преобразования (перенос и масштабирование).
- •Аффинные преобразования (вращение).
- •Однородные координаты и матричное представление 2d-преобразований.
- •Матричное представление 3d-преобразований.
- •Проекции. Основные виды и их отличия.
- •Математический аппарат центральной перспективной проекции.
- •Проблема удаления невидимых линий и поверхностей. Обзор основных подходов и алгоритмов.
- •Удаление невидимых линий методом плавающего горизонта.
- •Алгоритм удаления невидимых поверхностей с использованием z-буфера.
- •Удаление невидимых линий на основе алгоритма Робертса.
- •Удаление невидимых поверхностей методом трассировки лучей.
- •Алгоритм удаления невидимых поверхностей Варнока.
- •Построчный алгоритм удаления невидимых поверхностей Уоткинса.
- •Алгоритмы списка приоритетов. Метод сортировки по глубине (Ньюэла – Ньюэла – Санча).
- •Алгоритм Вейлера – Азертона.
- •Алгоритм Галимберти – Монтанари.
- •Алгоритм генерации отрезков (симметричный цда).
- •Алгоритм генерации отрезков (простой цда).
- •Алгоритм Брезенхема для генерации отрезков.
- •Проблема растровой развертки окружностей.
- •Алгоритм Брезенхема для развертки окружностей.
- •Алгоритмы заливки областей на основе построчного сканирования.
- •Алгоритмы заливки областей на основе затравочного заполнения.
- •Основы фрактальной геометрии.
- •Алгоритмы отсечения. Постановка задачи.
- •Алгоритм отсечения Коэна-Сазерленда.
- •33.Синтез реалистических изображений. Расчет интенсивности при различных видах освещения.
- •Классификация источников освещения. Проблема расчета затухания интенсивности (радиальное, угловое).
- •Методы закраски Гуро и Фонга.
- •Моделирование глобального освещения методом трассировки лучей (прямая и обратная трассировки).
- •Распределенная трассировка лучей. Дефект алиайзинга и методы его устранения.
- •Методы оптимизации методов трассировки лучей. Основные характеристики и недостатки методов трассировки лучей.
- •Метод излучательности.
Построчный алгоритм удаления невидимых поверхностей Уоткинса.
Т
рехмерная
задача так же сводится к двухмерной.
Для этого производится рассечение сцены
плоскостями, перпендикулярными к
поверхности экрана, и выполняется анализ
полученных в сечении проекций. Алгоритм
выполняется по строкам развертки экрана,
а плоскости сечения называются плоскостями
развертки.
Изображения в плоскостях развертки
имеют вид набора отрезков; необходимо
определить положение пересекающихся
отрезков относительно точки наблюдения.
Алгоритм работает в пространстве изображения.
Алгоритмы списка приоритетов. Метод сортировки по глубине (Ньюэла – Ньюэла – Санча).
Алгоритмы, использующие список приоритетов, основаны на предварительной сортировке по глубине/приоритету. Цель – получить окончательный список элементов сцены, упорядоченный по приоритету глубины. Если такой список окончательный, то можно последовательно визуализировать элементы, начиная с самых дальних. Более близкие к наблюдателю элементы будут затирать информацию о более дальних в буфере кадров.
Под пространственной оболочкой 3D-объема понимают минимальный прямоугольный параллелепипед, целиком охватывающий объект.
В алгоритме следует выделить три шага:
Упорядочение всех объектов/элементов в соответствии с наибольшей z-координатой пространственной оболочки.
Разрешение всех неопределенностей, которые возникают при перекрытии z-оболочек объектов.
Преобразование каждого из объектов в растровую форму, производится в порядке уменьшения их наибольшей z-координаты.
Рассмотрим подробно пункт 2:
Пусть многоугольник p после упорядочения находится в конце списка, т. е. наиболее удален. Все многоугольники Q, чьи оболочки перекрывают z-оболочку P, должны проходить проверку по пяти тестам. Если на некотором шаге получен утвердительный ответ, то P сразу преобразовывается в растровую форму. Тесты:
X-оболочки многоугольников не перекрываются, следовательно сам многоугольники не перекрываются.
Y-оболочки многоугольников не перекрываются, следовательно сами многоугольники тоже не перекрываются.
P-многоугольник полностью расположен с той стороны он плоскости Q, которая дальше от точки наблюдателя.
Объект Q полностью расположен с той стороны от плоскости P, которая ближе расположена к точке наблюдения.
Проекции многоугольников P и Q на плоскости X, Y, т. е. на экране, не перекрываются.
Если во всех пяти тестах получен отрицательный ответ, то P действительно закрывает Q, тогда P и Q меняем в списке приоритетов.
В некоторых случаях алгоритм не дает результата:
-
произойдет зацикливание, P
и Q
будут бесконечно меняться местами.
Чтобы этого не случилось, вводится
ограничение: многоугольники, перемещенные
в конец списка, не могут быть повторно
перенесен. Вместо этого такой многоугольник
Q
разделяется плоскостью P
на два разных многоугольника Q1
и Q2,
после чего новые многоугольники
включаются в общий список приоритетов
и алгоритм продолжает работу.
Недостаток: приходится прорисовывать все объекты целиком, что значительно тормозит работу. Поэтому алгоритм применим только к простым сценам.