Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Метод обратной трассировки

Согласно этому методу отслеживание лучей производится не от источников света, а в обратном направлении — от точки наблюдения. Поэтому учитываются только те лучи, которые вносят вклад в формирование изображения. Это очень изящный способ решить массу проблем, возникающих при прямой трассировке, а сам метод отличается простотой и понятностью.

Представим, что плоскость проецирования разбита на множество пикселов. Рассмотрим центральную проекцию с точкой схода на некотором расстоянии от плоскости проецирования. Проведя прямую линию из точки схода через середину пиксела плоскости проецирования, получается первичный луч обратной трассировки. Если этот луч попадает в один или несколько объектов сцены, то выбирается ближайшая точка пересечения (рис. 14.2). Для определения цвета пиксела изображения учитываются свойства объекта и источника света.

Рис. 14.2 Схема обратной трассировки лучей

Если пересечений с объектами нет, а есть пересечение только с плоскостью отсечения, значит, луч выходит за пределы видимой части сцены, и соответствующему пикселю видового окна присваивается цвет фона.

В точке пересечения луча с объектом строится три вторичных луча – один в направлении отражения, второй – в направлении источника света, третий в направлении преломления прозрачной поверхности.

Если объект зеркальный (хотя бы частично), то вторичный лучом является луч падения, считая лучом отражения предыдущий, первичный трассируемый луч. (Выше было рассмотрено зеркальное отражение и получены формулы для вектора отражённого луча по заданным векторам нормали и луча падения). Но сейчас надо решить обратную задачу – по вектору отражённого луча найти вектор падающего луча. Для этого используется та же формулу зеркального отражения, но необходимый вектор луча падения определяется как отражённый луч. То есть отражение наоборот.

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

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

Если объект обладает свойствами диффузного отражения и преломления, то, в общем случае, как и для неидеального зеркала, необходимо трассировать лучи, приходящие от всех имеющихся объектов. Для диффузного отражения интенсивность отраженного света, как известно, пропорциональна косинусу угла между вектором луча от источника света и нормалью. Здесь источником света может выступать любой видимый из данной точки объект, способный передавать световую энергию.

Если текущий луч обратной трассировки не пересекает какой-либо объект, а уходит в свободное пространство, то его рассмотрение на этом заканчивается (рис 14.3).

 

Рис. 14.3 Пример обратной трассировки лучей

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

Основные шаги метода трассировки лучей:

1. Испускается воображаемый луч из глаза наблюдателя через некоторый пиксел экрана, и отслеживается его путь, пока он не пересечет объект.

2. Из первой точки пересечения луча с объектом или его сферической оболочкой испускается отраженный луч. Если поверхность непрозрачна, преломленные лучи не рисуются. Обозначается луч тени от точки пересечения к источнику света. Так как этот луч не пересекает другую непрозрачную поверхность, то источник света непосредственно влияет на интенсивность освещения в данной точке.

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

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

5. Влияние всех лучей суммируется и результат определяет RGB-значение данной точки.

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

6. Выделяются объекты, называемые источниками света. Источники света могут только излучать свет, но не могут его отражать или преломлять. Рассматриваются только точечные источники света.

7. Свойства отражающих поверхностей описываются суммой двух компонент — диффузной и зеркальной.

8. Зеркальность тоже описывается двумя составляющими. Первая учитывает отражения от других объектов, не являющихся источниками света. Строится только один зеркальный луч для дальнейшей трассировки. Вторая компонентаозначает световые блики от источников света. Для этого направляются лучи на все источники света и определяются углы, образуемые этими лучами с зеркально отражённым лучом обратной трассировки. При зеркальном отражении цвет точки поверхности определяется цветом того, что отражается. В простейшем случае зеркало не имеет собственного цвета поверхности.

9. При диффузном отражении учитываются только лучи от источников света. Лучи от зеркально отражающих поверхностей игнорируются. Если луч, направленный на данный источник света, закрывается другим объектом, значит, данная точка объекта находится в тени. При диффузном отражении цвет освещённой точки поверхности определяется собственным цветом поверхности и цветом источников света.

10. Для прозрачных объектов обычно не учитывается зависимость коэффициента преломления от длины волны. Иногда прозрачность вообще моделируют без преломления, то есть преломленный луч и падающий совпадают.

11. Для учёта освещённости рассеиваемым светом вводится фоновая составляющая.

12. Для завершения трассировки вводят некоторое пороговое значение освещённости, которое уже не должно вносить вклад в результирующий цвет, либо ограничивают количество итераций.

Согласно модели закраски цвет некоторой точки объекта определяется суммарной интенсивностью:

где l - длина волны,

C(l) - заданный исходный цвет точки объекта,

Ki -коэффициенты, учитывающие свойства конкретного объекта параметрами рассеянного света, диффузного и зеркального отражения, прозрачности,

Ia - интенсивность рассеянного света,

Id - интенсивность диффузного отражения,

Is – интенсивность зеркального отражения,

It - интенсивность излучения, проходящего по преломленному лучу.

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

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

q Позволяет получить достаточно реалистичные изображения даже если ограничиться только начальными лучами. Так учет первичных лучей даёт удаление невидимых линий. Трассировка уже одного-двух вторичных лучей даёт тени, зеркальность, прозрачность.

q Все преобразования координат линейны, поэтому достаточно просто работать с текстурами.

q Для одного пиксела растрового изображения можно трассировать несколько близко расположенных лучей, а потом усреднять их цвет для устранения эффекта ступенчатости.

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

Недостатки указанного метода:

q Проблемы с моделированием диффузного отражения и преломления.

q Для каждой точки изображения необходимо выполнять много вычислительных операций. Трассировка лучей относится к числу самых медленных алгоритмов синтеза изображений.

Результат работы алгоритма трассировки лучей при высоком значении количества уровней трассировки почти не уступает по качеству фотографиям реальных объектов. Однако, как и в случае с деталировкой поверхностей модели увеличение уровней трассировки ведет к резкому замедлению алгоритма. Причем чем больше используется уровней, тем меньшее улучшение изображения дает дальнейшее увеличение их количества, а время, затрачиваемое на “прохождение лучами” каждого нового уровня в среднем остается постоянным.

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

После получения изображения методом трассировки лучей для улучшения его качества можно использовать методы фильтрации (рис. 14.4). На перовм рисунке (а) хорошо заметна ступенчатость, которая становится почти невидимой после применения методов фильтрации на втором рисунке (б).

а) б)

Рис. 14.4 Пример устранения ступенчатости (блочности) на изображении, полученном методом трассировки лучей

Метод фильтрации используется для удаления или уменьшения " зазубренных" линий. Для этого используются различные методы сглаживания.

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

Поэтому, усреднение цвета пикселя по нескольким промежуточным значениям очень важно. Его использование дает не только сглаживание, но и повышает общее качество изображения, поскольку делает его естественным для восприятия. Но повышая качество результирующего изображения нельзя избежать потерь времени при его построении. Чем больше размер ступенчатости, тем больше времени требуется для выравнивания цветов. Между качеством и временем обработки нет прямой линейной зависимости. Более того, при увеличении размера области сглаживания до некоторого значения наблюдается улучшение картинки, после чего появляется размытость, и качество резко снижается.

Еще один пример получения реалистичного изображения сцены методом трассировки лучей рассмотрен ниже (рис.14.5). Особый интерес представляет моделирование зеркальности. На первом рисунке (а) показан лишь зеркальный блик на торе, на втором (б) – полная зркальная поверхность тора, на третьем (в) – добавлена еще и зеркальность стен. Четвертый рисунок демонстрирует моделирование прозрачности и зеркальности.

 

а) б)

в) г)

Рис. 14.5. Пример получения реалистичного изображения сцены методом трассировки лучей. а) – зеркальный блик на торе и отбрасываемая тень; б) – полная зеркальность тора и отбрасываемая тень; в) – зеркальность тора и зеркальность стен; г) – зеркальность и прозрачность тора.

 

 

<== предыдущая лекция | следующая лекция ==>
Седативные средства | История и перспективы интеграции в Южной и Восточной Азии.




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.