КГ_4глава (Компьютерная графика), страница 7
Описание файла
Файл "КГ_4глава" внутри архива находится в папке "Компьютерная графика". Документ из архива "Компьютерная графика", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 4 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "компьютерная графика" в общих файлах.
Онлайн просмотр документа "КГ_4глава"
Текст 7 страницы из документа "КГ_4глава"
Рис. 4.41. Интерполяция нормалей дает более точный результат
Преломление света
Законы преломления света следует учитывать при построении изображений прозрачных объектов.
Модель идеального преломления. Согласно этой модели луч отклоняется на границе двух сред, причем падающий луч, преломленный луч и нормаль лежат в одной плоскости (в этой же плоскости лежит и зеркально отраженный луч). Обозначим угол между падающим лучом и нормалью как щ, а угол между нормалью и преломленным лучом как а^. Для этих углов известен закон Снеллиуса, согласно которому
где n1 и n2 — абсолютные показатели преломления соответствующих сред. На рис. 4.42 изображен пример отклонения луча при преломлении. В данном случае границами раздела сред являются две параллельные плоскости, например, при прохождении луча через толстое стекло. Очевидно, что угол а1 равен углу а4, а угол а2 равен углу а3. Иными словами, после прохождения сквозь стекло луч параллельно смещается. Это смещение зависит от толщины стекла и соотношения показателей преломления сред. Возможно, это самый простой пример преломления. Вы наверняка уже наблюдали и более сложные объекты, например треугольную призму. Для нее границами сред
Рис. 4.42. Преломление луча
являются непараллельные плоскости (рис. 4.43). Прозрачные объекты могут иметь и криволинейные поверхности, например линзы в разнообразных оптических приборах.
Рис. 4.43. Преломление в треугольной призме
Принято считать, что для вакуума абсолютный показатель преломления равен единице. Для воздуха он составляет 1.00029, для воды — 1.33, для стекла разных сортов: 1.52 (легкий крон), 1.65 (тяжелый крон) [13]. Показатель преломления зависит от состояния вещества, например, от температуры. На практике обычно используют отношение показателей преломления двух сред (n1/n2), называемое относительным показателем преломления.
Еще одним важным аспектом преломления является зависимость отклонения луча от длины волны. Это наблюдалось еще И. Ньютоном в опытах по разложению белого света треугольной призмой (рис. 4.44).
Чем меньше длина волны, тем больше отклоняется луч при преломлении. Благодаря этому свойству преломления мы и наблюдаем радугу. Фиолетовый (А,=0.4 мкм) луч отклоняется больше всего, а красный (Х=0.7 мкм) — меньше всего. Например, для стекла показатель преломления в видимом спектре изменяется от 1.53 до 1.51 [13].
Таким образом, каждый прозрачный материал описывается показателем преломления, зависящим от длины волны. Кроме того, необходимо учитывать, какая часть световой энергии отражается, а какая часть проходит через объект и описывается преломлением света.
Рис. 4.44. Преломление зависит от длины волны
Кроме идеального преломления в компьютерной графике (хотя и значительно реже, вследствие сложности реализации) используется диффузное преломление [32]. Согласно этой модели падающий луч преломляется во все стороны. Примером может служить молочное стекло, обледеневшее стекло.
Вычисление вектора преломленного луча
Сформулируем задачу следующим образом. Заданы два единичных вектора: S1 — это радиус-вектор, направленный на источник, и N1— радиус-вектор нормали к границе раздела двух сред. Также должны быть известны два коэффициента преломления для данных сред — n1 и n2 (или же их отношение).
Требуется найти единичный радиус-вектор преломленного луча T1. Для решения этой задачи выполним некоторые геометрические построения (рис. 4.45). Нанесем еще несколько радиус-векторов (далее мы их все для краткости будем называть векторами).
Искомый вектор Т1 равен сумме двух векторов:
Найдем вначале вектор Nt. Он противоположен по направлению вектору нормали, а его длина Рис. 4.45. Преломление
равна |T1| cos а2 = cos а2 (поскольку по условию задачи Т1 — единичный). Таким образом, NT = -N1 cos а2. Необходимо определить cos а2
2. Запишем закон преломления n1 sin a1 = n1 sin а2 в виде:
где и = n1 /п2.
Воспользуемся тождеством cos2+ sin2 = 1. Тогда
или
Значение cos a2 можно выразить через скалярное произведение единичных векторов S1 и N1, то есть cos а1 = S1 • N1. Тогда мы можем записать такое выражение для вектора NT.
Осталось найти выражение для вектора В. Он располагается на одной прямой с вектором А, причем A= S1 — Ns Учитывая, что вектор Ns равен N1 cos a1
то A =S1 — N1 cos a1. Так как cos α1 =S1 N1 то А = S1 - N1 (S1 N1).
Поскольку длина вектора А равна sin α1, а длина вектора В равна sin a2, то
откуда \В\ = п \А\. Учитывая взаимное расположение векторов А и В, получим В=-пА =n(N1(S1-N1)-S1).
Теперь мы можем записать искомое выражение для единичного радиус-вектора луча преломления Т\:
Если подкоренное выражение отрицательно, то преломленный луч не существует. Это соответствует так называемому полному внутреннему отражению [13, 30,32].
Это решение задачи в векторном виде. Используя полученное выражение, можно записать координаты вектора Т1. Сделайте это самостоятельно в качестве упражнения.
Трассировка лучей
Методы трассировки лучей на сегодняшний день считаются наиболее мощными и универсальными методами создания реалистичных изображений. Известно много примеров реализации алгоритмов трассировки для качественного отображения самых сложных трехмерных сцен. Можно отметить, что универсальность методов трассировки в значительной степени обусловлена тем, что в их основе лежат простые и ясные понятия, отражающие наш опыт восприятия окружающего мира.
Как мы видим окружающую нас реальность? Во-первых, нужно определиться с тем, что мы вообще способны видеть. Это изучается в специальных дисциплинах, а в некоторой степени, это вопрос философский. Но здесь мы будем полагать, что окружающие нас объекты обладают по отношению к свету такими свойствами:
□ излучают;
П отражают и поглощают;
D пропускают сквозь себя.
Каждое из этих свойств можно описать некоторым набором характеристик. Например, излучение можно охарактеризовать интенсивностью, направленностью, спектром. Излучение может исходить от условно точечного источника (далекая звезда) или протяженного (скажем, от извергающейся из кратера вулкана расплавленной лавы). Распространение излучения может осуществляться вдоль достаточно узкого луча (сфокусированный луч лазера), конусом (прожектор), равномерно во все стороны (Солнце), либо еще как-нибудь. Свойство отражения (поглощения) можно описать характеристиками диффузного рассеивания и зеркального отражения. Прозрачность можно описать ослаблением интенсивности и преломлением.
Распределение световой энергии по возможным направлениям световых лучей можно отобразить с помощью векторных диаграмм, в которых длина векторов соответствует интенсивности (рис. 4.46—4.48).
Рис. 4.46. Излучение: а — равномерно во все стороны, б — направленно
Рис. 4.47. Отражение: а — идеальное зеркало, б — неидеальное зеркало,
в — диффузное, г — сумма диффузного и зеркального, д — обратное, е — сумма диффузного, зеркального и обратного
В предыдущих разделах мы с вами уже ознакомились с наиболее часто упоминаемыми видами отражения — зеркальным и диффузным. Реже в литературе упоминается обратное, антизеркальное отражение, у которого максимум интенсивности отражения соответствует направлению на источник. Обратным зеркальным отражением обладают некоторые виды растительности на поверхности Земли, наблюдаемые с высоты, например, рисовые поля [9].
Два крайних, идеализированных случая преломления изображены на рис. 4.48.
Рис. 4.48. Преломление: а — идеальное, 6 — диффузное
Некоторые реальные объекты преломляют лучи гораздо более сложным образом, например, обледеневшее стекло.
Один и тот же объект реальной действительности может восприниматься в виде источника света, а при ином рассмотрении может считаться предметом, только отражающим и пропускающим свет. Например, купол облачного неба в некоторой трехмерной сцене может моделироваться в виде протяженного (распределенного) источника света, а в других моделях это же небо выступает как полупрозрачная среда, освещенная со стороны Солнца.
В общем случае каждый объект описывается некоторым сочетанием перечисленных выше трех свойств. В качестве упражнения попробуйте привести пример объекта, который обладает одновременно тремя указанными свойствами— сам излучает свет и, в то же время, отражает, а также пропускает свет от других источников. Вероятно, ваше воображение подскажет иные примеры, нежели, скажем, докрасна раскаленное стекло.
Теперь рассмотрим то, как формируется изображение некоторой сцены, включающей в себя несколько пространственных объектов. Будем полагать, что из точек поверхности (объема) излучающих объектов исходят лучи света, Можно назвать такие лучи первичными— они освещают все остальное. Важным моментом является предположение, что световой луч в свободном пространстве распространяется вдоль прямой линии (хотя в специальных разделах физики изучаются также и причины возможного искривления). Но