Изображение характеристик поверхностей. Текстуры. Рассмотрим проблемы освещенности поверхностей изображаемых предметов. Если поверхность обладает свойством зеркального отражения световых лучей, то применяется метод трассировки лучей, который основан на геометрических построениях и определении освещенности и цвета от соответствующих источников. Основная задача метода обратной трассировки лучей - это определение освещенности произвольной точки объекта и той части световой энергии, которая уходит в заданном направлении. Эта энергия складывается из двух частей: - непосредственной (первичной) освещенности от источников света; - вторичной освещенности энергией, отраженной от других объектов. Существуют различные случаи отражения луча света от поверхности: 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 варианта перемещения в сцене: - перемещение объекта внутри неподвижного макета «относительное движение частей изображения»; - перемещение камеры, т.е. самого объекта с эффектом перемещения точки зрения в изображаемом пространстве сцены «движение зрителя»; - комбинированное перемещение «движение зри теля в подвижной среде».