После формирования “скелета” объекта необходимо покрыть его поверхность материалами. Все многообразие свойств в компьютерном моделировании сводится к визуализации поверхности, то есть к расчету коэффициента прозрачности поверхности и угла преломления лучей света на границе материала и окружающего пространства.
Закраска поверхностей осуществляется методами Гуро (Gouraud) или Фонга (Phong). В первом случае цвет примитива рассчитывается лишь в его вершинах, а затем линейно интерполируется по поверхности. Во втором случае строится нормаль к объекту в целом, ее вектор интерполируется по поверхности составляющих примитивов и освещение рассчитывается для каждой точки.
Свет, уходящий с поверхности в конкретной точке в сторону наблюдателя, представляет собой сумму компонентов, умноженных на коэффициент, связанный с материалом и цветом поверхности в данной точке. К таковым компонентам относятся:
· свет, пришедший с обратной стороны поверхности, то есть преломленный свет (Refracted);
· свет, равномерно рассеиваемый поверхностью (Diffuse);
· зеркально отраженный свет (Reflected);
· блики, то есть отраженный свет источников (Specular);
· собственное свечение поверхности (Self Illumination).
Следующим этапом является наложение (“проектирование”) текстур на определенные участки каркаса объекта. При этом необходимо учитывать их взаимное влияние на границах примитивов. Проектирование материалов на объект – задача трудно формализуемая, она сродни художественному процессу и требует от исполнителя хотя бы минимальных творческих способностей.
После завершения конструирования и визуализации объекта приступают к его “оживлению”, то есть заданию параметров движения. Компьютерная анимация базируется на ключевых кадрах. В первом кадре объект выставляется в исходное положение. Через определенный промежуток (например, в восьмом кадре) задается новое положение объекта и так далее до конечного положения. Промежуточные значения вычисляет программа по специальному алгоритму. При этом происходит не просто линейная аппроксимация, а плавное изменение положения опорных точек объекта в соответствии с заданными условиями.
Эти условия определяются иерархией объектов (то есть законами их взаимодействия между собой), разрешенными плоскостями движения, предельными углами поворотов, величинами ускорений и скоростей. Такой подход называют методом инверсной кинематики движения. Он хорошо работает при моделировании механических устройств. В случае с имитацией живых объектов используют так называемые скелетные модели. То есть, создается некий каркас, подвижный в точках, характерных для моделируемого объекта. Движения точек просчитываются предыдущим методом. Затем на каркас накладывается оболочка, состоящая из смоделированных поверхностей, для которых каркас является набором контрольных точек, то есть создается каркасная модель. Каркасная модель визуализуется наложением поверхностных текстур с учетом условий освещения. В ходе перемещения объекта получается весьма правдоподобная имитация движений живых существ.
Наиболее совершенный метод анимации заключается в фиксации реальных движений физического объекта. Например, на человеке закрепляют в контрольных точках яркие источники света и снимают заданное движение на видео- или кинопленку. Затем координаты точек по кадрам переводят с пленки в компьютер и присваивают соответствующим опорным точкам каркасной модели. В результате движения имитируемого объекта практически неотличимы от живого прототипа.
Процесс расчета реалистичных изображений называют рендерингом (визуализацией). Большинство современных программ рендеринга основаны на методе обратной трассировки лучей (Backway Ray Tracing). Применение сложных математических моделей позволяет имитировать такие физические эффекты, как взрывы, дождь, огонь, дым, туман[1]. По завершении рендеринга компьютерную трехмерную анимацию используют либо как самостоятельный продукт, либо в качестве отдельных частей или кадров готового продукта.
Особую область трёхмерного моделирования в режиме реального времени составляют тренажеры технических средств – автомобилей, судов, летательных и космических аппаратов. В них необходимо очень точно реализовывать технические параметры объектов и свойства окружающей физической среды. В более простых вариантах, например при обучении вождению наземных транспортных средств, тренажеры реализуют на персональных компьютерах.
Самые совершенные на сегодняшний день устройства созданы для обучения пилотированию космических кораблей и военных летательных аппаратов. Моделированием и визуализацией объектов в таких тренажерах заняты несколько специализированных графических станций, построенных на мощных RISC-процессорах и скоростных видеоадаптерах с аппаратными ускорителями трехмерной графики. Общее управление системой и просчет сценариев взаимодействия возложены на суперкомпьютер, состоящий из десятков и сотен процессоров. Стоимость таких комплексов выражается девятизначными цифрами, но их применение окупается достаточно быстро, так как обучение на реальных аппаратах в десятки раз дороже.
3. Программное обеспечение для работы с компьютерной графикой.
3.1 Программные средства создания растровых изображений
Компьютерная двумерная живопись создается среди очень популярных программ, таких как Painterкомпании FractalDesign, FreeHandMacromedia и FauveMatisse. Самым широким спектром средств рисования и работы с цветом обладает пакет Painterкомпании FractalDesign. Этот пакет моделирует различные инструменты, такие как кисти, карандаш, перо, уголь и тд., также превосходно копирует материалы такие как акварель, масло, тушь, до такой степени, что может добиться эффекта натуральности среды. Ни чем не уступает и даже превосходит последние версии программы FreeHand. Эти программы имеют большой спектр средств редактирования изображений и текста, содержит огромный набор инструментов для работы с цветом, к нему также относится многоцветная градиентная заливка.
Среди программ для создания изображений на платформе Macintosh стоит отметить пакет для редактирования растровой живописи и изображений PixelPaint Pro компании Pixel Resources.
Среди программ компьютерной живописи для графических станций Silicon Graphics(SGI) особое место занимает пакет StudioPaint 3D компании Alias Wavefront, который позволяет рисовать различными инструментами (“кистями”) в режиме реального времени прямо на трехмерных моделях. Пакет работает с неограниченным количеством слоев изображения и предоставляет 30 уровней отмены предыдущего действия (undo), включает операции цветокоррекции и “сплайновые кисти”, “мазок” которых можно редактировать по точкам как сплайновую кривую. StudioPaint 3D поддерживает планшет с чувствительным пером, что дает возможность художнику сделать традиционный эскиз от руки, а затем позволяет перенести рисунок в трехмерные пакеты для моделирования или анимации и построить по эскизу трехмерную модель.
Самой распространенной из программ для обработки растрового представления изображений является Photoshop компании Adobe. Эта программа является стандартом не только для растровых изображений, но и всей компьютерной графики, также ее берут как основной источник сравнения.
Главные элементы управления программы Adobe Photoshop сосредоточены в строке меню и панели инструментов. Особую группу составляют диалоговые окна – инструментальные палитры:
· Палитра «Кисти» является основой управления настройками параметром инструментов редактирования.. В режим редактирования кисти входят после двойного щелчка на ее изображении в палитре. При нажатии двойного щелчка мыши, кисть переходит в режим редактирования изображения палитре. Кисть уничтожается при щелчке мыши и нажатой клавише CTRL. Новую же кисть можно создать при двойном щелчке на свободном поле палитры, при этом открывая диалоговое окно создания новой кисти, которая автоматически добавляется в палитру.
· Палитра «Параметры» предназначается для изменения свойств текущего инструмента. Что бы открыть эту палитру, нужно навести курсор на строку меню, также это ее можно открыть двойным щелчком на значке инструмента.
· Палитра «Инфо» обеспечивает информационную поддержку средств отображения. На ней представлены: текущие координаты указателя мыши, размер текущей выделенной области, цветовые параметры элемента изображения и другие данные.
· Палитра Навигатор позволяет просмотреть различные фрагменты изображения и изменить масштаб просмотра. В окне палитры помещена миниатюра изображения с выделенной областью просмотра.
· Палитра Синтез отображает цветовые значения текущих цветов переднего плана и фона. Ползунки на цветовой линейке соответствующей цветовой системы позволяют редактировать эти параметры.
· Палитра Каталог содержит набор доступных цветов. Такой набор можно загрузить и отредактировать, добавляя и удаляя цвета. Цветовой тон переднего плана и фона выбирают из состава набора. В стандартном комплекте поставки программы предусмотрено несколько цветовых наборов, в основном компании Pantone.
· Палитра Слои служит для управления отображением всех слоев изображения, начиная с самого верхнего. Возможно определение параметров слоев, изменение их порядка, операции со слоями с применением разных методов.
· Палитру Каналы используют для выделения, создания, дублирования и удаления каналов, определения их параметров, изменения порядка, преобразования каналов в самостоятельные объекты и формирования совмещенных изображений из нескольких каналов.