Смекни!
smekni.com

Информатика Базовый курс (стр. 123 из 188)

• спроектировать и создать виртуальные материалы, по физическим свойствамвизуализации похожие на реальные;

• присвоить материалы различным частям поверхности объекта (на профессио-нальном жаргоне — «спроектировать текстуры на объект»);

• настроить физические параметры пространства, в котором будет действоватьобъект, — задать освещение, гравитацию, свойства атмосферы, свойства взаимодействующих объектов и поверхностей;

• задать траектории движения объектов;

• рассчитать результирующую последовательность кадров;

• наложить поверхностные эффекты на итоговый анимационный ролик.

Для создания реалистичной модели объекта используют геометрические примитивы (прямоугольник, куб, шар, конус и прочие) и гладкие, так называемые сплайновые поверхности. В последнем случае применяют чаще всего метод бикубических рациональных В-сплайнов на неравномерной сетке (NURBS). Вид поверхности при этом определяется расположенной в пространстве сеткой опорных точек. Каждой точке присваивается коэффициент, величина которого определяет степень ее влияния на часть поверхности, проходящей вблизи точки. От взаимного расположения точек и величины коэффициентов зависит форма и «гладкость» поверхности в целом. Специальный инструментарий позволяет обрабатывать примитивы, составляющие объект, как единое целое, с учетом их взаимодействия на основе заданной физической модели.

Деформация объекта обеспечивается перемещением контрольных точек, расположенных вблизи. Каждая контрольная точка связана с близлежащими опорными точками, степень ее влияния на них определяется удаленностью. Другой метод называют сеткой деформации. Вокруг объекта или его части размещается трехмерная сетка, перемещение любой точки которой вызывает упругую деформацию как самой сетки, так и окруженного объекта.

15.1. Основы представления графических данных

Еще одним способом построения объектов из примитивов служит твердотельное моделирование, Объекты представлены твердыми телами, которые при взаимодействии с другими телами различными способами (объединение, вычитание, слияние и другие) претерпевают необходимую трансформацию. Например, вычитание из прямоугольного параллелепипеда шара приведет к образованию в параллелепипеде полукруглой лунки.

После формирования «скелета» объекта необходимо покрыть его поверхность материалами. Все многообразие свойств материалов в компьютерном моделировании сводится к визуализации поверхности, то есть к расчету коэффициента прозрачности поверхности и угла преломления лучей света на границе материала и окружающего пространства. Для построения поверхностей материалов используют пять основных физических моделей:

Bouknight — поверхности с диффузным отражением без бликов (например, матовый пластик);

Phong — поверхности со структурированными микронеровностями (например, металлические);

ВНпп — поверхности со специальным распределением микронеровностей с учетом взаимных перекрытий (например, глянец);

Whitted — модель, позволяющая дополнительно учитывать поляризацию света;

Hall — модель, позволяющая корректировать направления отражения и параметры преломления света.

Закраска поверхностей осуществляется методами

Гуро (Gouraud) или Фонга (Phong). В первом случае цвет примитива рассчитывается лишь в его вершинах, а затем линейно интерполируется по поверхности. Во втором случае строится нормаль к объекту в целом, ее вектор интерполируется по поверхности составляющих примитивов и освещение рассчитывается для каждой точки.

Свет, уходящий с поверхности в конкретной точке в сторону наблюдателя, представляет собой сумму компонентов, умноженных на коэффициент, связанный с материалом и цветом поверхности в данной точке. К таковым компонентам относятся:

• свет, пришедший с обратной стороны поверхности, то есть преломленный свет(Refracted);

• свет, равномерно рассеиваемый поверхностью (Diffuse);

• зеркально отраженный свет (Reflected);

• блики, то есть отраженный свет источников (Specular);

• собственное свечение поверхности (Self Illumination).

Свойства поверхности описываются в создаваемых массивах текстур (двух- или трехмерных). Таким образом, в массиве Содержатся данные о степени прозрачности

408 Глава 15. Введение в компьютерную графику

материала; коэффициенте преломления; коэффициентах смещения компонентов (их список указан выше); цвете в каждой точке, цвете блика, его ширине и резкости; цвете рассеянного (фонового) освещения; локальных отклонениях векторов от нормали (то есть учитывается шероховатость поверхности). Следующим этапом является наложение

(«проектирование») текстур на определенные участки каркаса объекта. При этом необходимо учитывать их взаимное влияние на границах примитивов. Проектирование материалов на объект — задача трудно формализуемая, она сродни художественному процессу и требует от исполнителя хотя бы минимальных творческих способностей.

Из всех параметров пространства, в котором действует создаваемый объект, с точки зрения визуализации самым важным является определение источников света. В трехмерной графике принято использовать виртуальные эквиваленты физических источников.

Аналогом равномерного светового фона служит так называемый растворенный свет {Ambient Light). Он не имеет геометрических параметров и характеризуется только цветом и интенсивностью. Пример в природе — естественная освещенность вне видимости Солнца и Луны.

• Удаленный не точечный источник называют удаленным светом {Distant Light).

Ему присваиваются конкретные геометрические параметры (координаты). Аналог в природе — Солнце.

• Точечный источник света {Point Light Source) равномерно испускает свет во всех направлениях и также имеет координаты. Аналог в технике — электрическая лампочка.

• Направленный источник света {Direct Light Source) кроме местоположения характеризуется направлением светового потока, углами раствора полного конуса света и его наиболее яркого пятна. Аналог в технике — прожектор.

После завершения конструирования и визуализации объекта приступают к его «оживлению», то есть заданию параметров движения. Компьютерная анимация базируется на ключевых кадрах. В первом кадре объект выставляется в исходное положение. Через определенный промежуток (например, в восьмом кадре) задается новое положение объекта и так далее до конечного положения. Промежуточные значения вычисляет программа по специальному алгоритму. При этом происходит не просто линейная аппроксимация, а плавное изменение положения опорных точек объекта в соответствии с заданными условиями (рис. 15.7).

Эти условия определяются иерархией объектов (то есть законами их взаимодействия между собой), разрешенными плоскостями движения, предельными углами поворотов, величинами ускорений и скоростей. Такой подход называют методом

15.1. Основы представления графических данных 409

Рис. 15.7. Построение видеоряда по ключевым кадрам

инверсной кинематики движения. Он хорошо работает при моделировании механических устройств. В случае с имитацией живых объектов используют так называемые скелетные модели. То есть создается некий каркас, подвижный в точках, характерных для моделируемого объекта. Движения точек просчитываются предыдущим методом. Затем на каркас накладывается оболочка, состоящая из смоделированных поверхностей, для которых каркас является набором контрольных точек, то есть создается каркасная модель. Каркасная модель визуализируется наложением поверхностных текстур с учетом условий освещения. В ходе перемещения объекта получается весьма правдоподобная имитация движений живых существ.

Наиболее совершенный метод анимации заключается в фиксации реальных движений физического объекта. Например, на человеке закрепляют в контрольных точках яркие источники света и снимают заданное движение на видео- или кинопленку. Затем координаты точек по кадрам переводят с пленки в компьютер и присваивают соответствующим опорным точкам каркасной модели. В результате движения имитируемого объекта практически неотличимы от живого прототипа.