на примере прикладного пакета 3D Studio MAX2
(использование возможностей данного программного продукта в учебном процессе).
Основы 3D графики и анимации.
В наше время CGI-образы (от слов Computer Graphics Imagery – изображение созданное на компьютере) окружают нас повсеместно: на телевидении, в кино и даже на страницах журналов. Компьютерная графика превратилась из узкоспециальной области интересов ученых-компьюторщиков в дело, которому стремиться посвятить себя множество людей. Среди программных комплексов трехмерной графики, предназначенных для работы на компьютерах типа PC, лидирующее место занимает 3D Studio MAX2.
Общее представление о 3D.
В самом названии рассматриваемой области – “трехмерная графика” - заложено указание на то, что нам предстоит иметь дело с тремя пространственными измерениями: шириной, высотой и глубиной. Если взглянуть вокруг: все, что нас окружает, обладает тремя измерениями – стол, стул, жилые здания, промышленные корпуса и даже тела людей. Однако термин “трехмерная графика” все же является искажением истины. На деле трехмерная компьютерная графика имеет дело всего лишь с двумерными проекциями объектов воображаемого трехмерного мира.
Чтобы проиллюстрировать сказанное, можно представить оператора с видеокамерой, с помощью которой он снимает объекты, расположенные в комнате. Когда во время съемок он перемещается по комнате, то в объектив попадают различные трехмерные объекты, но при воспроизведении отснятой видеозаписи на экране телевизора будут видны всего лишь плоские двумерные изображения, представляющие собой запечатленные образы снятых несколько минут назад трехмерных объектов. Сцена на экране выглядит вполне реально благодаря наличию источников света, естественной расцветке всех объектов и присутствию теней, придающих изображению глубину и делающих его визуально правдоподобными, хотя оно и остается всего лишь двумерным образом.
В компьютерной графике объекты существуют лишь в памяти компьютера. Они не имеют физической формы – это не более чем совокупность математических уравнений и движение электронов в микросхемах. Поскольку объекты, о которых идет речь, не могут существовать вне компьютера, единственным способом увидеть их является добавление новых математических уравнений, описывающих источники света и съемочные камеры. Программный комплекс 3D Studio MAX2 позволяет выполнять все вышеперечисленные операции.
Использование программы, подобной 3D Studio MAX2, во многом сходно со съемкой с помощью видеокамеры комнаты, полной сконструированных объектов. Программный комплекс 3D Studio MAX2 позволяет смоделировать комнату и ее содержимое с использованием разнообразных базовых объектов, таких как кубы, сферы, цилиндры и конусы, а также с использованием инструментов, необходимых для реализации разнообразных методов создания более сложных объектов.
После того как модели всех объектов созданы и должным образом размещены в составе сцены, можно выбрать из библиотеки любые готовые материалы, такие как пластик, дерево, камень и т.д. и применить эти материалы к объектам сцены. Можно создать и собственные материалы, пользуясь средствами редактора материалов (Material Editor) 3D Studio MAX2, с помощью которых можно управлять цветом, глянцевитостью, прозрачностью и даже применять сканированные фотографии или нарисованные изображения, чтобы поверхность объекта выглядела так, как это было задумано.
Применив к объектам материалы, необходимо создать воображаемые съемочные камеры, через объективы которых будет наблюдаться виртуальный трехмерный мир, и производиться съемка наполняющих его объектов. За счет настройки параметров виртуальных камер можно получить широкоугольную панораму сцены или укрупнить план съемки, чтобы сосредоточить свое внимание на отдельных мелких деталях. Пакет 3D Studio MAX2 поддерживает модели камер с набором параметров свойственных настоящим фото- или видеокамерам, с помощью которых можно наблюдать сцену именно в том виде, какой требуется по замыслу сценария.
Чтобы сделать сцену еще более реалистичной, можно добавить в ее состав источники света. MAX позволяет включать в сцену источники света различных типов, а также настраивать параметры этих источников.
Реализация геометрических принципов в 3D Studio MAX2
Трехмерное пространство
Работая с 3D Studio MAX2 пользователь имеет дело с воображаемым трехмерным пространством. Трехмерное пространство – это куб в кибернетическом пространстве, создаваемый в памяти компьютера. Кибернетическое пространство отличается от реального физического мира тем, что создается и существует только в памяти компьютера благодаря действию специального программного обеспечения.
Однако подобно реальному пространству, трехмерное пространство также неограниченно велико. Задача поиска объектов и ориентации легко решается благодаря использованию координат.
Наименьшей областью пространства, которая может быть занята каким-то объектом, является точка (point). Положение каждой точки определяется тройкой чисел, называемых координатами (coordinates). Примером координат может служить тройка (0;0;0), определяющая центральную точку трехмерного пространства, называемую также началом координат (origin point). Другими примерами координат могут являться тройки (200;674;96) или (23;67;12).
Каждая точка трехмерного пространства имеет три координаты, из которых одна определяет высоту, другая – ширину, третья – глубину положения точки. Таким образом, через каждую точку можно провести три координатных оси киберпространства.
Координатная ось (axis) – это воображаемая линия киберпространства, определяющая направление изменения координаты.В MAX имеются три стандартные оси, называемые осями X, Y и Z. Можно условно считать, что ось X представляет координату ширины, ось Y – высоты, а ось Z – глубины.
3D объекты
Если соединить две точки в киберпространстве, то будет создана линия (line). Например, соединяя точки (0;0;0) и (5;5;0) получается линия. Если продолжить эту линию, соединив ее конец с точкой (9;3;0) то получиться полилиния (poliline), то есть линия, состоящая из нескольких сегментов. (В 3D Studio MAX2 термины линия и полилиния взаимозаменяемые.) Если соединить последнюю точку с первой, то получиться замкнутая форма (closed shape), то есть форма, у которой есть внутренняя и наружная области. Нарисованная форма представляет собой простой трехсторонний многоугольник (polygon), называемый также гранью (face), и составляет основу объектов, создаваемых в виртуальном трехмерном пространстве. У многогранника имеются следующие базовые элементы: вершина, ребро, грань.
Вершина (vertex) – это точка в которой соединяется любое количество линий. Грань (face) – это фрагмент пространства, ограниченный ребрами многоугольника. Ребро (edge) - это линия, формирующая границу грани.
В 3D Studio MAX2 объекты составляются из многоугольников, кусков Безье или поверхности типа NURBS, причем чаще всего используются многоугольники, расположенные таким образом, чтобы образовать оболочку нужной формы. В ряде случаев для формирования объекта требуется всего несколько многоугольников. Однако в большинстве случаев формирование объектов требует использования сотен и тысяч многоугольников, образующих огромный массив данных. Так, например, в процессе работы с кубом компьютер должен отслеживать положение восьми вершин, шести граней и двенадцати видимых ребер. Для более сложных объектов число элементов состоящих из многоугольников может достигать десятков и сотен тысяч.
Проекции 3D объектов
Точка наблюдения (viewpoint) – это позиция в трехмерном пространстве, определяющая положение наблюдателя. Точки наблюдения являются основой формирования в MAX окон проекций (viewports), каждое из которых демонстрирует результат проекции объектов трехмерной сцены на плоскость, перпендикулярную направлению наблюдения из определенной точки.
Воображаемая плоскость, проходящая через точку наблюдения перпендикулярно линии взгляда, называется плоскостью отображения, которая определяет границы области видимой наблюдателю. Плоскость отображения иногда называют плоскостью отсечки.
Чтобы увидеть объекты, расположенные позади плоскости отображения, необходимо сменить положения точки наблюдения. Или “отодвигать” плоскость отсечки, пока интересующие нас объекты не окажутся впереди плоскости.
В MAX окнах, позволяющих заглянуть в виртуальный трехмерный мир, называются окнами проекций (viewports). Экран монитора сам по себе является плоскостью отображения, поскольку пользователь может видеть только то, что располагается в киберпространстве “за плоскостью” экрана монитора. Боковые границы участка отображающегося в окне проекции, определяются границами окна. Три из четырех демонстрируемых по умолчанию окон проекций в 3D Studio MAX2 являются окнами ортографических проекций. При построении изображений в этих окнах считается, что точка наблюдения удалена от сцены на бесконечное расстояние, а все лучи, исходящие из точки наблюдения к объектам, параллельны соответствующей оси координат. Четвертое окно проекции MAX из числа принятых по умолчанию, Perspective (Перспектива), является окном не ортографической, а центральной проекции и демонстрирует более реалистичное на вид изображение трехмерной сцены, при построении которого лучи считаются выходящими расходящимся пучком из точки наблюдения, как это происходит в реальной жизни.
Примитивы
Трехмерные примитивы составляют основу многих программных пакетов компьютерной графики и обеспечивают возможность создания разнообразных объектов простой формы. Во многих случаях для формирования нужной модели трехмерные примитивы приходится объединять или модифицировать. МАХ 2.0 предоставляет вам два набора примитивов: стандартные (Standard Primitives) и улучшенные (Extended Primitives). К числу стандартных примитивов относятся параллелепипед, сфера, геосфера, конус, цилиндр, труба, кольцо, пирамида, чайник, призма. Улучшенными называются примитивы многогранник, тороидальный узел, параллелепипед с фаской, цистерна, капсула, веретено, тело L-экструзии, обобщенный многоугольник. Работая с примитивами почти всегда необходимо прибегать к их преобразованию или модификации для создания нужных объектов. Например, можно смоделировать стены здания набором длинных и высоких параллелепипедов малой толщины. Создавая дополнительные прямоугольные блоки меньшего размера и вычитая их из блоков стен, можно создать проемы для окон и дверей. Сами по себе примитивы используются довольно редко.