Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Глобальная модель освещения с трассировкой лучейСодержание книги
Поиск на нашем сайте 8.2. Свето-теневой анализ Тени возникают как результат экранирования источника света предметами, составляющими сцену. При этом существуют полные тени и полутени, что связано с физической природой света: полная тень образуется в центральной части затенения, а полутень — вблизи ее границ. В нашем курсе мы будем касаться только полной тени, хотя и существуют технологии изображения полутеней, сопровождающиеся большим объемом вычислений. Если считать, что наблюдатель находится в одной точке с источником света, то тени в наблюдаемой сцене не возникают: затеняемая область является невидимой. Во всех прочих случаях тени видны. Источник света может находиться на бесконечности или на конечном расстоянии, причем во втором случае он может оказаться в поле зрения наблюдателя.
Рис. 8.1. Образование теней при конечном расстоянии до источника света Для бесконечно удаленного источника света тени на картинной плоскости получаются в результате параллельной проекции объектов, а для близкого источника — центральной проекции. Объекты и их части становятся невидимыми, если они попадают в область тени, поэтому при построении изображения задача об удалении невидимых областей решается дважды: относительно наблюдателя в процессе проецирования и относительно источника света. При определении расположения теней строятся проекции невидимых с позиции источника света граней (неосвещенных) на картинную плоскость, в результате чего получаются теневые многоугольники. Эти многоугольники строятся для всех объектов сцены и заносятся в список. Отметим, что теневые многоугольники не зависят от положения наблюдателя, поэтому при осмотре сцен с различных точек зрения они строятся только один раз. Неосвещенные области определяются теми же методами, которые были описаны ранее в гл. 5, а для построения проекций используются методы, некоторые из которых описаны в гл. 6. В частности, можно использовать матрицы проекций в однородной системе координат. Впервые идея совмещенного анализа видимости и затененности была предложена в 1968 г. Аппелем. В качестве примера рассмотрим один алгоритм на основе построчного сканирования, состоящий из двух основных этапов. I. Анализ сцены по отношению к источнику света. Для всех многоугольников, полученных в результате проецирования сцены, определяются неосвещенные (затененные) участки и теневые многоугольники (проекционные тени), причем многоугольники образуют пронумерованный список. Для этих многоугольников формируется матрица Таким образом, на этом этапе основным является вопрос об эффективном алгоритме построения такой матрицы. Если проекция включает II. Анализ сцены по отношению к наблюдателю. Выполняются два процесса сканирования. Первый — для определения отрезков, видимых с позиции наблюдателя (о нем рассказывалось раньше в гл. 6.) Второй — для определения пересечений отрезков с теневыми многоугольниками из списка. Рекурсивный алгоритм второго сканирования состоит из четырех основных шагов. Для каждого видимого отрезка 1. Если нет ни одного теневого многоугольника, то отрезок изображается с основной интенсивностью. 2. Если многоугольник, содержащий видимый отрезок, не пересекается с теневыми многоугольниками, то отрезок изображается с основной интенсивностью. 3. Если отрезок полностью закрывается некоторыми теневыми многоугольниками, то интенсивность его изображения определяется с учетом затенения всеми этими многоугольниками. 4. Если несколько теневых многоугольников частично закрывают отрезок, то он разбивается на ряд отрезков точками пересечения с теневыми многоугольниками. Этот алгоритм предполагает, что затенение не является абсолютным, т. е. затененные участки все-таки являются видимыми, только их освещенность падает в зависимости от количества и освещенности затеняющих многоугольников. При полном затенении в третьем пункте алгоритма отрезок становится полностью невидимым, а в четвертом дальнейшему анализу подвергаются только незатененные отрезки. Способы расчета интенсивности при неполном затенении могут быть различны. В этом случае все затененные многоугольники имеют свою интенсивность в зависимости от выбранной модели освещенности. При этом можно учитывать расстояние затененного участка от поверхности, отбрасывающей тень. Еще один алгоритм, часто применяемый при построении теней, носит название метода теневого буфера. Он строится на основе метода Z‑буфера, описанного в гл. 5. Теневой буфер — это тот же Z‑буфер, только с точки зрения источника света. Таким образом, используются два буфера: один — для расстояния от картинной плоскости до точек изображаемой сцены, а другой — для расстояний от этих же точек до источника света. Алгоритм позволяет изображать сцены с полным затенением и сводится к двум основным этапам: I. Cцена рассматривается из точки расположения источника света в соответствующей системе координат. Итогом построения является полностью заполненный теневой буфер. II. Сцена рассматривается с точки зрения наблюдателя, применяется обычный метод Z‑буфера с небольшим дополнением. Если точка Оба приведенных алгоритма работают в пространстве изображения, т. е. имеют дело с проекциями на плоскость и некоторой дополнительной информацией о точках сцены, соответствующих этим проекциям. Существуют алгоритмы, работающие в трехмерном объектном пространстве. В общих чертах шаги алгоритма можно описать так. I. Определяются грани, видимые из точки расположения источника света. С целью повышения эффективности запоминается информация только о видимых гранях. Поскольку анализ выполняется в системе координат, связанной с источником света, то полученные видимые многоугольники затем заново приводятся к исходной системе координат. Многоугольники связываются с гранями, которым они принадлежат (в результате затенения одна грань может содержать несколько многоугольников). II. Сцена обрабатывается из положения наблюдателя. При изображении видимой грани учитываются только те многоугольники, которые входят в список, полученный на первом этапе, т. е. грань рассматривается как совокупность таких многоугольников. При наличии нескольких источников света количество освещенных участков естественным образом увеличивается. Мы уже касались ранее понятия трассировки лучей при описании алгоритмов удаления невидимых граней. Теперь рассмотрим аналогичную процедуру в применении к моделям освещения. В предыдущей главе были описаны модели освещенности от некоторого источника света без учета того, что сами объекты сцены освещают друг друга посредством отраженных лучей. Метод излучательности, разработанный для диффузной модели освещенности, уже учитывает этот фактор. Глобальная модель освещенности способна воспроизводить эффекты зеркального отражения и преломления лучей (прозрачность и полупрозрачность), а также затенение. Она является составной частью алгоритма удаления невидимых поверхностей методом трассировки. Если рассмотреть сцену, содержащую в числе прочих зеркальные и полупрозрачные поверхности (рис. 8.2), то изображение будет включать, во-первых, проекции самих объектов, освещенных одним или несколькими источниками света. В некоторых своих частях эти объекты будут искажены за счет преломления лучей в прозрачных и полупрозрачных телах. Во-вторых, часть объектов будет отражаться зеркальными поверхностями, и эти отражения появятся на проекциях зеркальных объектов. В изображенной на рис. 8.2 сцене точки на поверхности призмы
Рис. 8.2. Сцена, содержащая зеркальные и полупрозрачные поверхности Глобальная модель освещения для каждого пикселя изображения определяет его интенсивность. Будем для простоты считать, что все источники света точечные. Сначала определяется непосредственная освещенность источниками без учета отражений от других поверхностей (вторичная освещенность): отслеживаются лучи, направленные ко всем источникам. Тогда наблюдаемая интенсивность (или отраженная точкой энергия) выражается следующим соотношением:
где
В алгоритме удаления невидимых линий трассировка луча продолжалась до первого пересечения с поверхностью. В глобальной модели освещения этим дело не ограничивается: осуществляется дальнейшая трассировка отраженного и преломленного лучей. Таким образом, происходит разветвление алгоритма в виде двоичного дерева. Процесс продолжается до тех пор, пока очередные лучи не останутся без пересечений. Отражение и преломление рассчитываются по законам геометрической оптики, которые уже рассматривались в предыдущей главе.
Рис. 8.3. Зеркальное отражение и преломление Пусть
Соответствующие единичные векторы получить нетрудно. Двоичное дерево лучей можно строить по принципу: левое поддерево соответствует отраженному лучу, а правое — преломленному. После того, как оно построено, можно вычислить интенсивность в точке. Для этого осуществляется обратный проход от вершин к корню, и при прохождении узлов интенсивность убывает. Теоретически дерево может оказаться бесконечным, поэтому при его построении желательно задать максимальную глубину, чтобы избежать переполнения памяти компьютера. Поскольку значительная часть лучей, исходящая от источников света и других поверхностей, не попадает в поле зрения наблюдателя, то отслеживать их все не имеет смысла. Поэтому для формирования изображения используется обратная трассировка, т. е. лучи отслеживаются в обратном порядке: от положения наблюдателя через все точки картинной плоскости к объектам и далее — по отраженным и преломленным лучам.
|
||
|
Последнее изменение этой страницы: 2024-06-27; просмотров: 53; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.012 с.) |