Алгоритмы удаления невидимых линий и поверхностей

Содержание

Слайд 2

Основная идея – сортировка по глубине Алгоритмы объектного пространства: за основу

Основная идея – сортировка по глубине

Алгоритмы объектного пространства: за основу берется

система мировых координат.
Алгоритмы пространства изображений: за основу берется система двумерных экранных координат.

Z

X

Алгоритмы удаления невидимых линий и поверхностей служат для определения ребер, поверхностей или тел, которые видимы или невидимы для наблюдателя, находящегося в заданной точке пространства.

Слайд 3

Алгоритм Робертса Все рассчитываемые объекты сцены должны быть выпуклыми. В частности

Алгоритм Робертса

Все рассчитываемые объекты сцены должны быть выпуклыми. В частности –

каждая грань есть выпуклый многогранник.
Из каждого тела удаляются рёбра и грани, являющиеся нелицевыми.
Каждое из оставшихся видимых рёбер каждого тела сравнивается с каждым из оставшихся видимых тел для определения того, какая его часть экранируется этими телами.

Временные затраты ~ N2, где N – число всех граней сцены.

Если вектор нормали грани составляет с вектором направления проецирования тупой угол, эта грань невидима и называется нелицевой. Пересечение двух нелицевых граней даёт невидимое (нелицевое) ребро.

Слайд 4

Алгоритм Z-буфера Сопоставим каждому пикселю (х,у) картинной плоскости, кроме цвета, хранящегося

Алгоритм Z-буфера

Сопоставим каждому пикселю (х,у) картинной плоскости, кроме цвета, хранящегося в

видеопамяти, его расстояние до картинной плоскости вдоль направления проектирования z (глубину). Изначально массив глубин инициализируется +∞. Для вывода на картинную плоскость произвольной грани она переводится в свое растровое представление на картинной плоскости и для каждого пиксела этой грани находится его глубина. В случае, если эта глубина меньше значения глубины, хранящегося в z-буфере, пиксель рисуется и его глубина заносится в z-буфер.

Скорость работы алгоритма зависит от предварительной сортировки объектов сцены по глубине.
Обычно информацию о глубине следует обрабатывать с высокой точностью, аппаратные реализации z-буфера обычно 32-разрядные.

Слайд 5

Алгоритм Z-буфера - пример расчёта Если известно уравнение плоскости, несущей каждую

Алгоритм Z-буфера -
пример расчёта

Если известно уравнение плоскости, несущей каждую грань, то

вычисление глубины каждого пикселя на сканирующей строке можно осуществить итерационным методом.

аX+ bY + cZ + d = 0

(X,Y,Z) – экранные координаты!

Z = –(аX + bY + d)/с

Для сканирующей строки Y = const, X1 = X + Δх

Тогда Z1 – Z = а (X – X1)/с, подставив выражение для X1 : Z1 = Z – (a/c) Δx

Учитывая, что Δx = 1, получаем: Z1 = Z – (а/с).

Слайд 6

Алгоритмы упорядочения Алгоритм Варнока (Warnock) В пространстве изображения рассматривается окно и

Алгоритмы упорядочения

Алгоритм Варнока (Warnock)
В пространстве изображения рассматривается окно и решается вопрос

о том, пусто ли оно, или его содержимое достаточно просто для визуализации. Если это не так, то окно разбивается на фрагменты до тех пор, пока содержимое подокна не станет достаточно простым для визуализации, или его размер не достигнет требуемого предела разрешения
Алгоритм художника
Каждая выводимая грань сразу же закрашивается, причём грани выводятся в порядке приближения к картинной плоскости. Таким образом, грани, расположенные ближе к плоскости экрана, выводятся позже и закрывают собой ранее построенное изображение.
Слайд 7

Компьютерная графика Лекция 5 (2) Принципы создания реалистичных изображений

Компьютерная графика Лекция 5 (2)

Принципы создания
реалистичных
изображений

Слайд 8

Модели трассировки лучей: прямая трассировка Рассчитываются пути лучей света, идущие от

Модели трассировки лучей: прямая трассировка

Рассчитываются пути лучей света, идущие от источников до

объектов сцены. Если такой первичный луч попадает в прозрачный объект, то преломляясь и теряя интенсивность, он идёт дальше и, возможно, попадает на другой объект, в свою очередь отражаясь от него. Так, многократно отражаясь и преломляясь, какая-то часть лучей приходят в точку наблюдения – т.е. эти лучи определяют цвет некоторых пикселей экранной плоскости.

forward ray tracing

Слайд 9

Модели трассировки лучей: обратная трассировка backward ray tracing Каждый луч вдоль

Модели трассировки лучей: обратная трассировка

backward ray tracing

Каждый луч вдоль заданного направления

продляется от наблюдателя вглубь трехмерной сцены, и для каждой траектории выполняется проверка на пересечение со всеми объектами сцены и с отсекающими плоскостями. Расчёт цвета пикселя P* в общем случае определяется освещённостью всех поверхностей сцены, видимых по лучу зрения с учётом многократного отражения, преломления и поглощения.
Слайд 10

Модели трассировки лучей: обратная трассировка Вариант расчётного соотношения:

Модели трассировки лучей: обратная трассировка

Вариант расчётного соотношения:

Слайд 11

Модели трассировки лучей: эволюция алгоритмов supersampling adaptive supersampling stochastic sampling distribute

Модели трассировки лучей: эволюция алгоритмов

supersampling
adaptive supersampling
stochastic sampling
distribute ray

tracing (DRT)

способ расчета пикселя изображения

предварительное сравнение интенсивности в точках

случайный выбор позиции по субпикселю и разброса для угла в каждом луче зрения

Слайд 12

Модели трассировки лучей: DRT DRT позволяет просчитывать такие эффекты, как: gloss

Модели трассировки лучей: DRT

 DRT позволяет просчитывать такие эффекты, как:
gloss (или scattered reflectance

– размытые отражения)
translucency (размытая прозрачность)
penumbra (мягкая тень с размытыми краями)
depth of field (размывание объектов в зависимости от их положения относительно фокуса камеры)
motion blur (истинное размытие в движении)

Мягкие тени в DRT получаются в результате вычисления видимости лучей, направленных на источник освещения. Освещенность точки вычисляется как интенсивность освещения, умноженная на отношение количества достигших источника лучей к общему количеству испущенных из точки лучей. 

Слайд 13

Модель расчета освещенности: метод излучательности Radiosity

Модель расчета освещенности: метод излучательности

Radiosity

Слайд 14

Модели расчета изображений: примеры Сверху – метод обратной трассировки, снизу –

Модели расчета изображений: примеры

Сверху – метод обратной трассировки, снизу – метод излучательности

Соединение

расчетов методами трассировки лучей и излучательности
Слайд 15

Модель расчета освещенности: эволюция алгоритмов мatrix radiosity (решение СЛАУ методом Зейделя)

Модель расчета освещенности: эволюция алгоритмов

мatrix radiosity (решение СЛАУ методом Зейделя)

progressive refinement (сортировка фрагментов по освещенности)
wavelet radiosity (вариация размеров фрагментов)
Stochastic Relaxation Radiosity (SRR, решение СЛАУ методом Монте-Карло)
Global Illumination using Photon Maps (метод «фотонных карт»)

Метод фотонных карт состоит в расчете изображения трехмерных объектов в два прохода. На первом проходе выполняется прямая трассировка испущенных источником света полных траекторий лучей от момента их испускания источником через все возможные многократные взаимодействия с поверхностями и до момента поглощения света какой-либо из них. Результат отслеживания траекторий сохраняется в записях "фотонных карт" поверхностей. На втором проходе выполняется расчет освещенности пикселей изображения методом обратного рейтресинга со стохастическим сэмплингом с использованием данных фотонных карт.