Изображение характеристик поверхностей. Текстуры.

advertisement
Изображение характеристик поверхностей. Текстуры.
Рассмотрим проблемы освещенности поверхностей изображаемых предметов.
Если поверхность обладает свойством зеркального отражения световых лучей, то
применяется метод трассировки лучей, который основан на геометрических построениях
и определении освещенности и цвета от соответствующих источников.
Основная задача метода обратной трассировки лучей - это определение
освещенности произвольной точки объекта и той части световой энергии, которая уходит
в заданном направлении. Эта энергия складывается из двух частей:
- непосредственной (первичной) освещенности от источников света;
- вторичной освещенности энергией, отраженной от других объектов.
Существуют различные случаи отражения луча света от поверхности:
1) зеркальное отражение – луч света отражается полностью. Учитываются 2
свойства: вектора падающего и отраженного лучей лежат в одной плоскости, угол падения
равен углу отражения;
2) диффузное отражение – описывается законом Ламберта, согласно которому
падающий свет рассеивается во все стороны с одинаковой интенсивностью. Освещенность
точки пропорциональна доле площади, видимой от источника света.
3) идеальное преломление – луч, падающий на поверхность, преломляется
полностью внутрь второй среды. Преломление подчиняется закону Снеллиуса, по
которому: вектора падающего и преломленного лучей лежат в одной плоскости, угол
падения определяется оптическими свойствами сред;
4) диффузное преломление – аналогично диффузному отражению, но при этом
преломленный свет рассеивается во все стороны с одинаковой интенсивностью.
На практике обычно считается, что поверхность состоит из множества случайно
ориентированных плоских микрограней с заданным законом распределения; для этого
случая математически описывается энергия лучей в определенных направлениях. Число
направлений при этом оптимизируется.
Основные положения модели трассировки лучей:
 Рассматриваем только точечные источники света;
 При трассировке преломленного луча не учитываем зависимость его
направления от длины волны;
 Считаем освещенность объекта состоящей из диффузной и зеркальной
частей с заранее заданными весами.
Алгоритм определения освещенности произвольной точки:
1) определяем освещенность непосредственно от источников света, т.е. строим
лучи от источников света од точки;
2) определяем вторичную освещенность, т.е. строим один луч для отраженного
направления и один луч – для преломленного. При этом не идеально зеркальное
отражение лучей, идущих от других объектов, игнорируется;
3) для компенсации не учитываемых величин вводится так называемое фоновое
освещение – равномерное освещение со всех сторон, которое не затеняется и не зависит от
положения точки в сцене.
Общий алгоритм обратной трассировки лучей:
1) через каждый пиксель экрана луч трассируется до ближайшего пересечения с
объектами сцены;
2) из точки пересечения выпускаются лучи ко всем источникам света для проверки
их видимости и определения непосредственной освещенности точки пересечения;
3) выпускаются также отраженный и преломленный лучи, которые трассируются
до ближайшего пересечения с объектами сцены
и т.д.
Получается рекурсивный алгоритм, в качестве критерия остановки используется
отсечение по глубине ( не более заданного количества уровней рекурсии) и по весу ( чем
дальше, тем меньше вклад каждого луча в итоговый цвет пикселя – вводится
определенный порог чувствительности к свету).
Для упрощения описания вводятся параметры
- Материал описывается двумя коэффициентами
nRefr - коэффициент преломления,
Betta - коэффициент преломления.
- Свойства поверхности описываются коэффициентами
ka, kd, ks, kr, kt - веса фоновой, диффузной, зеркальной, отраженной и преломленной
освещенности
и цветом Color.
Все это вместе с уточненными характеристиками микрограней составляет понятие
текстуры.
Текстура
- это растровое изображение, которое определенным образом
накладывается на поверхность и заполняет ее.
Существуют разные способы моделирования текстуры, но практически все они
делятся на 2 класса.
1. Проективные текстуры образуются путем построения изображения реальной
поверхности и проецирования его на поверхность объекта, т.е. требуется перевести
трехмерные координаты точек поверхности в двумерные и ввести их в изображение.
Используются3 варианта проецирования текстур:
- плоское проецирование, например, поворачивающиеся вокруг какой-то оси
фотографии;
- цилиндрическое проецирование – изображение «сворачивается в трубку»;
- сферическое проецирование – изображение поверхности планеты с материками.
Проективные текстуры рационально использовать, если мы преобразуем
«картинку» (фото, пейзаж и т.п.)
2. Процедурные (Solid) текстуры – используются для описания таких материалов,
как металл, мрамор, пластик, в этом случае применяют математическое описание
поверхности в виде некоторой функции, C(x,y,z), определяющей цвет каждой точки
объекта.
Это удобно для однородных материалов. Для материалов типа мрамора и других
природных минералов можно использовать растровый фрагмент поверхности и его
тиражировать, введя определенную закономерность изменения структуры поверхности.
Построение реалистических изображений.
Основы анимации.
Рассмотрим общие принципы построения и основные этапы создания
реалистичных динамических изображений на основе использования графических
библиотек или графических редакторов.
Создание анимации состоит из двух этапов, соответствующих двум классам
изображений:
- статические (неподвижные) изображения,
- динамические изображения, состоящие из сменяющих друг друга статических.
1. Статические изображения состоят из графических объектов, которым
соответствуют подразделы библиотек:
1) геометрические примитивы (точки, линии, многоугольники);
2) растровые примитивы (битовые массивы и прямоугольники пикселей);
3) создание цвета;
4) удаление невидимых линий и поверхностей;
5) прозрачность;
6) использование сплайнов для рисования линий и поверхностей;
7) наложение текстур;
8) применение освещения;
9) использование плавного сопряжения цветов, устранение ступенчатости,
«тумана» и других эффектов;
10) составление списка изображений.
Из изображений отдельных предметов формируется сцена. Основные задачи
построения сцены:
1) построение окна, в котором будет отображаться трехмерный макет;
2) построение сцены начинается с задания источников света (точечные источники
света характеризуются координатами, цветом и направленностью, если она есть) и
фоновой освещенности, если она есть;
3) задание положения камеры или точки зрения;
4) построение трехмерных объектов, размещаемых в пространстве сцены.
Для каждого объекта в создаваемом макете существует связанный с ним фрейм.
Фрейм представляет собой описание математического преобразования (положения,
размера или характера объекта), которое должно быть применено ко всем объектам и
фреймам, присоединенным к данному фрейму.
Например, за макетом в окне закрепляется отдельный фрейм, каждая фигура и
источник света также имеют собственный фрейм. Можно взять произвольный набор
объектов и присоединить их друг к другу или к общему фрейму.
Фрейм можно вращать, перемещать, масштабировать.
При размещении объектов в пространстве сцены или в макете также решаются
задачи видимости предметов, затенения и построения ракурса.
Ракурс определяет, каким образом объект представляется в конкретной сцене.
2. Динамические изображения
Есть 3 варианта перемещения в сцене:
- перемещение объекта внутри неподвижного макета «относительное движение
частей изображения»;
- перемещение камеры, т.е. самого объекта с эффектом перемещения точки зрения
в изображаемом пространстве сцены «движение зрителя»;
- комбинированное перемещение «движение зри теля в подвижной среде».
Download