Конспект лекций по компьютерной графике. Конспект лекций по дисциплине Компьютерная графика
Скачать 16.3 Mb.
|
8.4. Имитация микрорельефаПусть нам необходимо показать поверхность, изобилующую мелкими неровностями. Можно попытаться создать полигональную модель, аппроксимирующую все видимые детали рельефа, вплоть до мельчайших бугорков, ямок, трещин и т. п. Однако это может потребовать такого количества треугольников, которое не в состоянии поддержать компьютерная система. Для визуализации таких поверхностей часто используется следующий метод. Общие очертания поверхности моделируются полигонами, а имитация мелких деталей рельефа производится с помощью текстур. Рассмотрим один из популярных в настоящее время методов рельефного текстурирова-ния — DOT3. Согласно этому методу, каждый тексел текстуры хранит координаты вектора нормали для соответствующей точки поверхности (рис. 8.9). Почему лучше использовать карту нормалей, а не само изображение в виде текстуры? Потому что, это дает возможность создавать иллюзию игры света и тени при смене ракурса показа и возможном движении источников света, и даже при деформациях поверхности. Обычная текстура это обеспечить не в состоянии — она представляет изображение, сделанное только для одного ракурса показа и фиксированного положения источников света. Рис. 8.9. Пимер имитации микрорельефа методом DOT3 Bump Mapping Для хранения координат нормалей удобно использовать 24-битный растровый графический формат файлов — тут каждая тройка RGBбудет представлять тройку координат UVN. Координаты UVNописывают векторы нормалей в так называемой касательной или тангенциальной системе координат (рис. 8.10). Рис. 8.10. Используемые системы координат У системы координат UVNоси Uи Nлежат в плоскости текстуры, они параллельны осям текстурных координат ХTи YT, а ось N является нормалью к поверхности. Пусть задан вектор направления света L. Тогда, при расчете цвета пиксела поверхности, например, для диффузной модели отражения, можно использовать скалярное произведение векторов Lи Nbump: Цвет точки = (собственный цвет поверхности) xDOT3(L, Nbump) где DОТ — часто используемое в англоязычной литературе обозначение для скалярного произведения (botproduct) векторов (отсюда и название DОТЗ Витр Маррing). Очевидно, что для корректного вычисления результата необходимо использовать в скалярном произведении одну и ту же систему координат для векторов L и Nbump . Для этого нужно привести вектор Nbump систему координат, описывающую вектор L(обычно это мировые координаты). А можно наоборот, выразить вектор L в системе координат UVN. Преломление света Законы преломления света следует учитывать при построении изображений прозрачных объектов. Модель идеального преломления. Согласно этой модели луч отклоняется на границе двух сред, причем падающий луч, преломленный луч и нормаль лежат в одной плоскости (в этой же плоскости лежит и зеркально отраженный луч). Обозначим угол между падающим лучом и нормалью как 1, аугол между нормалью и преломленным лучом как 2. Для этих углов известен закон Снеллиуса, согласно которому n1sin α1 = n2 sin α2 где n1иn2 — абсолютные показатели преломлениясоответствующих сред. Рис. 8.11. Преломление луча и преломление в треугольной призме На рис. 8.11 изображен пример отклонения луча при преломлении. В данном случае границей раздела сред служат две параллельные плоскости (например, при прохождении луча через толстое стекло). Очевидно, что угол 1 равняется углу 4, а угол 2 равняется углу 3. Другими словами, после прохождения сквозь стекло луч будет параллельно смещен. Это смещение зависит от толщины стекла и соотношения показателей преломление сред. Возможно, это простейший пример преломления. Вы, наверное, уже наблюдали и более сложные объекты, например, треугольную призму. Для нее границами сред являются непараллельные плоскости. Прозрачные объекты могут иметь и криволинейные поверхности (например, линзы в разнообразных оптических приборах). Принято считать, что для вакуума абсолютный показатель преломления равняется единице. Для воздуха он составляет 1.00029, для воды — 1.33, для стекла разных сортов: 1.52 (легкий крон), 1.65 (тяжелый крон). Показатель преломления зависит от состояния вещества, например, от температуры. На практике обычно используют отношение показателей преломления двух сред (n1/п2), которое называют относительным показателем преломления. Кроме идеального преломления, в компъютерной графике используется диффузное преломление. Соответственно этой модели, падающий луч преломляется во все стороны. Примером может служить молочное стекло, обледеневшее стекло. |