- •Векторная графика – область кг, в которой изображение генерируется с помощью команд визуализации и координат данных.
- •Аппаратное и программное обеспечение компьютерной графики.
- •Векторная графика – область кг, в которой изображение генерируется с помощью команд визуализации и координат данных.
- •Системы координат в компьютерной графике (мировые, нормированные, координаты устройства).
- •Мировые координаты à Нормированные координаты à Координаты устройства
- •4.Аффинные преобразования на плоскости (2d). Основные виды (2d) аффинных преобразований. Композиция преобразований .
- •5.Проекции . Центральное и перспективное проецирование. Основные виды проекций.
- •1. Матрицы вращения в пространстве.
- •2. Матрица растяжения (сжатия):
- •3. Матрица отражения.
- •6.Алгоритмы удаление невидимых линий и поверхностей. Основные классы алгоритмов.
- •7. Цветовые модели в компьютерной графике. Модели rgb и cmy (cmyk).
- •Цветовые модели и их виды
- •Цветовые модели cmy и cmyk
- •Локальные модели освещения
6.Алгоритмы удаление невидимых линий и поверхностей. Основные классы алгоритмов.
Назначение алгоритмов – определение граней и ребер, которые не будут видимы полностью или частично, и принятие решений как их отображать.
Виды алгоритмов по типу пространства, в котором они работают:
работающие в объектном пространстве (мировые координаты) – алгоритм Робертса;
работающие в экранных координатах.
Виды алгоритмов по способу перебора объектов в алгоритме:
осуществляющие перебор всех объектов сцены;
использующие методы оптимизации – это габаритные (минимаксные) тесты, использующие приоритетную сортировку по расстоянию от наблюдателя.
Существует два способа изображения трехмерных объектов:
каркасное (только ребра);
сплошное.
Следовательно существует и 2 типа задач:
удаление невидимых линий:
удаление невидимых поверхностей.
Метод оптимизации «Отсечение не лицевых граней».
Если
грань видима, то она является лицевой,
если не видима – не лицевой. Для
многогранников: если вектор нормали
грани n
составляет с вектором l,
задающим направление проецирования,
тупой угол, то эта грань не лицевая.
При параллельном проецировании направление проецирования постоянное (задается вектором l), при этом параллельный сдвиг не изменяет соотношение между лицевыми и не лицевыми гранями.
При
центральном проецировании с центом в
точке С, вектор проецирования для точки
Р будет равен разности векторов
.
Знак скалярного произведения не зависит
от способа выбора точки на грани, а
определяется положением центра проекции
относительно плоскости, на которой
находится грань. Соотношение между
лицевыми и не лицевыми гранями при
параллельном сдвиге может измениться.
Нарисовать картинку с системой координат
Если многогранник является выпуклым и он один в сцене, то задача удаления невидимых граней т.о. решается полностью.
Данный подход не решает проблему удаления невидимых линий.
Метод оптимизации «Применение ограничивающих тел».
Вокруг каждого объекта создается ограничивающее тело простого вида. Если тела не пересекаются, то и объекты, находящиеся внутри них не пересекаются. В качестве ограничивающих тел чаще всего используют прямоугольные параллелепипед с ребрами параллельными координатным. (Xmin, Ymin, Zmin) (Xmax, Ymax, Zmax)
Проверка на пересечение тел сводится к проверке на пересечение промежутков
[Xmin, Xmax], [Ymin, Ymax], [Zmin, Zmax] для одного и другого тела. Если сравнение хотя бы одной из пар промежутков пусто, то объекты не пересекаются. Ограничивающие тела можно построить и для проекций объектов. Ограничивающие тела можно строить вокруг группы объектов или даже отдельных граней.
Метод оптимизации «Разбиение пространства или плоскости».
Типы когерентности:
когерентность картинной плоскости – если данный пиксель соответствует точке некоторой грани, то скорее всего соседний пиксель также соответствует точкам той же грани;
когерентность в пространстве объектов – если данный объект (грань) видим (не видим), то расположенные рядом объекты (грани) скорее всего также являются видимыми (не видимыми).
временная когерентность ( в случае анимации ) – грани видимые в данном кадре скорее всего будут видим и в следующем (аналогично – не видимые).
Строится разбиение пространства и для каждой клетки разбиения составляется список всех объектов, которые ее пересекают. Простейший способ – равномерное разбиения. Для сцен с неравномерным распределением объектов, используется не равномерное (адаптивное) разбиение пространства.
При использовании разбиения картинной плоскости каждой клетке разбиения ставится в соответствие список тех объектов , проекции которых данную плоскость пересекают.
Метод оптимизации «Иерархические структуры».
Иерархия ограничивающих тел. Ограничивающееся тело описывается вокруг всех объектов. На следующем шаге объекты разбиваются на несколько групп вокруг каждой из них описывается свое ограничивающее тело и т.д. В результате получается дерево, корнем которого является тело, ограничивающее всю сцену. Тела описанные вокруг первичных групп образуют первичных потомков, вокруг вторичных групп – вторичных и т.д.
Иерархическая структура на основе разбиения пространства (картинной плоскости). Каждая клетка исходного разбиения на части, которые тоже могут быть разбиты на части.
Иерархические структуры позволяют упорядочить грани, производить их отсечение.
Удаление невидимых линий.
Работает в объектном пространстве.
Алгоритм Робертса. Требует, чтобы каждая грань была выпуклым многоугольником.
Из каждого тела удаляются те грани и ребра, которые экранируются (закрываются) самим телом.
Каждое из видимых ребер каждого тела сравнивается с каждым из оставшихся тел, для определения того, какая его часть или части экранируются этими телами.
Удаление невидимых граней.
Метод трассировки лучей.
Для каждого пикселя картинной плоскости определяется ближайшая к нему грань., для чего через этот пиксель выпускается луч, находятся все точки его пересечения с гранями и среди них выбирается ближайшая.
Для всех пикселей.
Для всех объектов
Сравниваем z
Алгоритм прост, универсален. Большое количество методов оптимизации.
Метод Z-буфера.
Z-буфер – буфер глубины. Для каждого пикселя (как в трассировке лучей) находится грань, ближайшая к нему вдоль направления проектирования. Однако циклы по пикселям и по объектам меняются местами.
Для всех объектов
Для всех закрытых пикселей.
Сравниваем z
