Хранение информации Keyframer Chunk
Создание мультимедийных проектов. Использование 3D графики и анимации. Моделирование на основе стандартных объектов. Понятие OpenGL. Структура формата 3D Studio Mesh. Хранение информации об анимации, иерархия объектов. Разработка простого приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 04.06.2014 |
Размер файла | 354,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
Введение
1. Основные элементы и понятия
1.1 Понятие OpenGL
1.2 Понятие 3ds max
2. Структура формата 3D Studio Mesh
3. Разработка простого приложения
4. Хранение информации KEYFRAMER CHUNK
5. Иерархия объектов
Заключение
Список используемых источников
ВВЕДЕНИЕ
При создании мультимедийных проектов зачастую приходится использовать 3D графику и анимацию. Одним из наиболее распространённых пакетов для создания 3D графики является 3ds max от компании Autodesk, он является полнофункциональной профессиональной программной средой для создания и редактирования трехмерной графики, и анимации.
Однако, зачастую, мало создать модель, так же необходимо сделать анимацию данной модели. А так же поместить модель в среду, позволяющую данную модель гармонично вписать в создаваемый проект. Нередко в качестве подобной «базы» используется среда OpenGL.
OpenGL - спецификация, определяющая независимый от языка программирования независимый программный интерфейс для написания приложений, использующих двухмерную и трёхмерную компьютерную графику. Основным принципом работы OpenGL является получение наборов векторных графических примитивов в виде точек, линий и многоугольников с последующей математической обработкой полученных данных и построением растровой картинки на экране или в памяти.
В задачи курсовой работы входит: изучение основных операций программного пакета 3ds max, графической библиотеки OpenGL, использование инструмента 3D Studio Mesh.
1. Основные элементы и понятия
1.1 Понятие OpenGL
OpenGL (Open Graphics Library -- открытая графическая библиотека) -- спецификация, определяющая независимый от языка программирования кроссплатформенный программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.
Включает более 250-ти функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании видеоигр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с DirectX.
На базовом уровне, OpenGL -- это просто спецификация, то есть документ, описывающий набор функций и их точное поведение. Производители оборудования на основе этой спецификации создают реализации -- библиотеки функций, соответствующих набору функций спецификации. Реализация использует возможности оборудования там, где это возможно. Если аппаратура не позволяет реализовать какую-либо возможность, она должна быть эмулирована программно. Производители должны пройти специфические тесты (conformance tests -- тесты на соответствие) прежде чем реализация будет классифицирована как OpenGL реализация. Таким образом, разработчикам программного обеспечения достаточно научиться использовать функции, описанные в спецификации, оставив эффективную реализацию последних разработчикам аппаратного обеспечения.
1.2 Понятие 3ds max
3DS Max располагает обширными средствами для создания разнообразных по форме и сложности трёхмерных компьютерных моделей, реальных или фантастических объектов окружающего мира, с использованием разнообразных техник и механизмов.
Как правило, моделирование сложных объектов с последующим преобразованием в Editable poly начинается с построения параметрического объекта «Box», и поэтому способ моделирования общепринято называется «Box modeling».
Моделирование на основе стандартных объектов, как правило, является основным методом моделирования и служит отправной точкой для создания объектов сложной структуры, что связано с использованием примитивов в сочетании друг с другом как элементарных частей составных объектов.
Визуализация является заключительным этапом работы над моделируемой сценой. Дело в том, что в подавляющем большинстве случаев работа со сценой производится в упрощенном виде: размер текстур маленький, тени и источники света, различные свойства материалов (например, отражения) отключены, сложная геометрия и различные эффекты не отображаются. Только после визуализации становятся видны все свойства материалов объектов и проявляются эффекты внешней среды, применённые в составе сцены. Для вывода конечного изображения на экран выбирают необходимый модуль визуализации (МВ), который с помощью математических алгоритмов произведет вычисление внешнего вида сцены со всеми требуемыми эффектами. При этом, время расчета может варьироваться от доли секунды до нескольких месяцев, в зависимости от сложности задачи. Большинство МВ являются отдельными программами, встраиваемыми как дополнение в 3ds Max.
2. Структура формата 3D Studio Mesh
В общих чертах мы можем сказать, что 3ds файл содержит полную информацию о 3d сцене, содержащей один или более объектов. Если мы откроем файл в блокноте, что мы увидим? - ничего… лишь перемешанный текст, это потому, что все записано в шестнадцатеричном коде(hexademetrical). Внутреннее же строение файла представляет собой серии блоков называемых на английском - Chunk (кусок или участок памяти, я же буду писать: объект Chunk или просто Chunk). Что же содержится в этих блоках? Все нужное для описания сцены: имена объектов, координаты вершин (vertices coordinates), координаты наложения текстур (mapping coordinates), ключи анимации (animation keyframes) и прочее.
У объекта chunk нелинейная структура, это значит что элементы, находящиеся по структуре внутри других, читаются только после того, как будут прочитаны (будет получен к ним доступ) элементы их содержащие. Структура имеет вид дерева, такую структуру можно наблюдать на локальных дисках компьютера. Необязательно читать все объекты, достаточно прочитать только самые важные.
Рисунок 1 - Чтобы прочитать элемент 3:2 надо прочитать все в таком порядке - root,1,2,3,3:2
Каждый chunk состоит из 4 записей:
Identifier: это число, записанное в шестнадцатеричном формате, размером 2 байта, идентифицирующее chunk. С этой информацией мы можем немедленно узнать, нужен ли он нам. Если нам нужен chunk, мы открываем собранную в нем информацию, если нужно, в его child-элементе (элементы, находящиеся по иерархии внутри данного), однако если он бесполезен, мы пропускаем его, используя следующий параметр…
Lengthofthechunk: еще одно число, на этот раз размером 4 байта, содержит сумму длины chunk'а и его длинны child-элементов.
Chunkdata: это поле может иметь разную длину. Реально хранимая информация содержится здесь.
В данной таблице представлена зависимость ветвления и размера в объектах chunk:
Offset |
Length |
Description |
|
0 |
2 |
Chunk identifier |
|
2 |
4 |
Chunk length: chunk data + sub-chunks(6+n+m) |
|
6 |
n |
Data |
|
6+n |
m |
Sub-chunks |
Иерархия и код наиболее полезных chunk'ов в файле:
MAIN CHUNK 0x4D4D
3D EDITOR CHUNK 0x3D3D
OBJECT BLOCK 0x4000
TRIANGULAR MESH 0x4100
VERTICES LIST 0x4110
FACES DESCRIPTION 0x4120
FACES MATERIAL 0x4130
MAPPING COORDINATES LIST 0x4140
SMOOTHING GROUP LIST 0x4150
LOCAL COORDINATES SYSTEM 0x4160
LIGHT 0x4600
SPOTLIGHT 0x4610
CAMERA 0x4700
MATERIAL BLOCK 0xAFFF
MATERIAL NAME 0xA000
AMBIENT COLOR 0xA010
DIFFUSE COLOR 0xA020
SPECULAR COLOR 0xA030
TEXTURE MAP 1 0xA200
BUMP MAP 0xA230
REFLECTION MAP 0xA220
[SUB CHUNKS FOR EACH MAP]
MAPPING FILENAME 0xA300
MAPPING PARAMETERS 0xA351
KEYFRAMER CHUNK 0xB000
MESH INFORMATION BLOCK 0xB002
SPOT LIGHT INFORMATION BLOCK 0xB007
FRAMES (START AND END) 0xB008
OBJECT NAME 0xB010
OBJECT PIVOT POINT 0xB013
POSITION TRACK 0xB020
ROTATION TRACK 0xB021
SCALE TRACK 0xB022
HIERARCHY POSITION 0xB030
Важно не забывать при чтении определенного chunk'а, нужно вначале прочитать его отцов (элементов стоящих выше по иерархии). Например, для прочтения chunk'а VERTICES LIST мы должны прочитать MAIN CHUNK, 3D EDITOR CHUNK, OBJECT BLOCK и, наконец, TRIANGULAR MESH. Другие объекты, конечно, могут быть пропущены. Так же надо отметить, что в том случае если нам надо прочитать более одного объекта, тогда учитывая то, что создание идет через struct, мы можем прочитать OBJECTBLOCK еще раз и создать новый объект, используя структуру. Ориентироваться в том, что за объект выдал chunk можно по имени прочитанного объекта, как только имя повторилось, идем дальше, так же нужно не забывать проверять, что мы читаем, чтобы не прочитать свет, камеры, когда нам нужен mesh. В данной курсовой работе рассматривается чтение одного объекта.
Отбросим некоторые объекты в древе и оставим только ветви с информацией: "vertices", "faces", "mapping coordinates", и их отцов по дереву. Эти объекты мы используем в загрузчике:
MAIN CHUNK 0x4D4D
3D EDITOR CHUNK 0x3D3D
OBJECT BLOCK 0x4000
TRIANGULAR MESH 0x4100
VERTICES LIST 0x4110
FACES DESCRIPTION 0x4120
MAPPING COORDINATES LIST 0x4140
Таблица с более подробным описанием каждого chunk'а:
MAIN CHUNK |
||
Identifier |
0x4d4d |
|
Length |
0 + sub-chunks length |
|
Chunk father |
None |
|
Sub chunks |
3D EDITOR CHUNK |
|
Data |
None |
|
3D EDITOR CHUNK |
||
Identifier |
0x3D3D |
|
Length |
0 + sub-chunks length |
|
Chunk father |
MAIN CHUNK |
|
Sub chunks |
OBJECT BLOCK, MATERIAL BLOCK, KEYFRAMER CHUNK |
|
Data |
None |
|
OBJECT BLOCK |
||
Identifier |
0x4000 |
|
Length |
Object name length + sub-chunks length |
|
Chunk father |
3D EDITOR CHUNK |
|
Sub chunks |
TRIANGULAR MESH, LIGHT, CAMERA |
|
Data |
Object name |
|
TRIANGULAR MESH |
||
Identifier |
0x4100 |
|
Length |
0 + sub-chunks length |
|
Chunk father |
OBJECT BLOCK |
|
Sub chunks |
VERTICES LIST, FACES DESCRIPTION, MAPPING COORDINATES LIST |
|
Data |
None |
|
VERTICES LIST |
||
Identifier |
0x4110 |
|
Length |
varying + sub-chunks length |
|
Chunk father |
TRIANGULAR MESH |
|
Sub chunks |
None |
|
Data |
Vertices number (unsigned short) |
|
FACES DESCRIPTION |
||
Identifier |
0x4120 |
|
Length |
varying + sub-chunks length |
|
Chunk father |
TRIANGULAR MESH |
|
Sub chunks |
FACES MATERIAL |
|
Data |
Polygons number (unsigned short) |
|
MAPPING COORDINATES LIST |
||
Identifier |
0x4140 |
|
Length |
varying + sub-chunks length |
|
Chunk father |
TRIANGULAR MESH |
|
Sub chunks |
SMOOTHING GROUP LIST |
|
Data |
Vertices number (unsigned short) |
3. Разработка простого приложения
Лучшим решением будет расположить все типы в заголовочном файле (header file, main.h).
#define MAX_VERTICES 8000
#define MAX_POLYGONS 8000
Укажем максимальное количество точек и полигонов, которое будет поддерживать приложение.
Создадим файл 3dsLoader.cpp (здесь и будет выполняться загрузка модели). Сюда введём:
char Load3DS (obj_type_ptr p_object, char *p_filename)
{
int i;
FILE *l_file;
unsigned short l_chunk_id;
unsigned int l_chunk_length;
unsigned char l_char;
unsigned short l_qty;
unsigned short l_face_flags;
В Load3DS как параметры передаются указатель на объект структуры данных и имя файла, который надо открыть. Возвращает «0» если файл не найден, если файл найден и прочитан то «1». Для инициализации требуется не так уж и много переменных: счетчик i, указатель на файл *l_file и дополнительная переменная l_char для экстраполяции данных в байт формате.
Остальные переменные:
unsignedshortl_chunk_id: идентификатор chunk'а, шестнадцатеричное значение в 2 байта.
unsigned int l_chunk_length: длинна chunk'а, 4 байта.
unsignedshortl_qty: дополнительный параметр, будет полезен для получения информации о параметрах читаемой информации.
unsignedshortl_face_flags: запоминает некоторую информацию относительно текущего полигона (видим, не видим и прочее), полезен только 3d редакторов сцены, в нашем случае мы не будем с ним работать, но будем его считывать, чтобы переместиться на следующий chunk. Итак, наконец, откроем файл:
if ((l_file=fopen (p_filename, "rb"))== NULL) return 0; //Open the file
while (ftell (l_file) < filelength (fileno (l_file))) //Loop to scan the whole file
{
while здесь цикл, для прохождения по всему файлу. Функция ftell позволяет нам запрашивать позицию, а filelength возвращает значение длины файла.
fread (&l_chunk_id, 2, 1, l_file); //Read the chunk header
fread (&l_chunk_length, 4, 1, l_file); //Read the length of the chunk
Мы экстраполировали идентификатор и длину chunk'а и сохранили их в in l_chunk_id и l_chunk_length
Теперь мы должны проанализировать и использовать содержимое id:
switch (l_chunk_id)
{
case 0x4d4d:
break;
Итак, мы нашли MAINCHUNK. По сути, он не содержит данных, нам интересны его под объекты. Если бы мы не включили его в case, мы бы его перепрыгнули. Если мы его перепрыгнем, то окажемся в конце файла. Теперь мы точно так же поступаем с the 3D EDITOR CHUNK, в нем так же нет данных. Прочитаем его и он отправит нас к своим child-элементу Object Block.
case 0x3d3d:
break;
Итак это Object Block, этот chunk содержит интересную информацию: имя объекта, хранимое в поле name в структуре объекта. Выход их структуры while будет по нахождению знака '\0' или количестве знаков бол 20. Но будьте осторожны! Мы прочитали все данные этого chunk'а, это дат нам возможность перейти на следующий.
case 0x4000:
i=0;
do
{
fread (&l_char, 1, 1, l_file);
p_object->name[i]=l_char;
i++;
}while(l_char != '\0' && i<20);
break;
И еще одна пустая ветвь, дающая доступ к chunk'ам, которые нам надо прочитать.
case 0x4100:
break;
Итак это точки (vertices). VERTICES LIST содержит все точки объекта, для начала мы читаем значение "quantity", затем создаем цикл for, чтобы прочитать все точки. Сохраняем всю информацию внутри структуры object (она описана в заголовочном файле к main.cpp).
case 0x4110:
fread (&l_qty, sizeof (unsigned short), 1, l_file);
p_object->vertices_qty = l_qty;
printf("Number of vertices: %d\n",l_qty);
for (i=0; i<l_qty; i++)
{
fread (&p_object->vertex[i].x, sizeof(float), 1, l_file);
fread (&p_object->vertex[i].y, sizeof(float), 1, l_file);
fread (&p_object->vertex[i].z, sizeof(float), 1, l_file);
}
break;
FACESDESCRIPTION содержит перечень полигонов объекта. Чтение схоже с предыдущим.
Каждый face содержит дополнительно второе поле, содержащее информацию для 3d редакторов (видимые стороны и прочее). Читаем и их, но лишь для передвижения далее.
case 0x4120:
fread (&l_qty, sizeof (unsigned short), 1, l_file);
p_object->polygons_qty = l_qty;
printf("Number of polygons: %d\n",l_qty);
for (i=0; i<l_qty; i++)
{
fread (&p_object->polygon[i].a, sizeof (unsigned short), 1, l_file);
fread (&p_object->polygon[i].b, sizeof (unsigned short), 1, l_file);
fread (&p_object->polygon[i].c, sizeof (unsigned short), 1, l_file);
fread (&l_face_flags, sizeof (unsigned short), 1, l_file);
}
break;
Последним считывается MAPPING COORDINATES LIST, так же как обычно вначале считывается quantity, затем лист координат, только теперь одна точка будет иметь 2 координаты.
case 0x4140:
fread (&l_qty, sizeof (unsigned short), 1, l_file);
for (i=0; i<l_qty; i++)
{
fread (&p_object->mapcoord[i].u, sizeof (float), 1, l_file);
fread (&p_object->mapcoord[i].v, sizeof (float), 1, l_file);
}
break;
Case - default. Это значит, что на этом рутинная работа закончена, когда у нас на пути chunks, которые нам читать не нужно нам поможет функция fseek, используя информацию из chunk_length, она переводит нас на начало следующего chunk.
default:
fseek(l_file, l_chunk_length-6, SEEK_CUR);
}
fclose (l_file); // Closes the file stream
return (1); // Returns ok
}
Рисунок 2 - Конечный результат
4. Хранение информации. KEYFRAMER CHUNK
Ниже приведена информация из официальных документов sdk по 3ds от Autodesk. Содержит необходимую информацию об элементах, отвечающих за хранение информации об анимации, а так же необходимую для загрузки и проигрывания анимации в среде OpenGL.
KEYFRAMER |
||
Identifier (идентификатор) |
0xB000 |
|
Уровень в иерархии |
1 |
|
Length (длинна) |
0 + sub-chunks length |
|
Chunk father (элемент родитель) |
None |
|
Sub chunks (ветви) |
||
Data, descripion |
Данные кейфреймера служат для описания движения по сцене объектов (например - куба:)), источников света и камер. |
|
INFORMATION BLOCK |
||
Identifier (идентификатор) |
0xB001 ... 0xB007 |
|
Уровень в иерархии |
2 |
|
Length (длинна) |
Варьируется, зависит от ветвей |
|
Chunk father (элемент родитель) |
0xB000 (Keyframer chunk) |
|
Sub chunks (ветви) |
||
Data, descripion |
Этот блок содержит ветви описывающие движение каждого отдельного объекта, камеры, источника света. 0xB001 : Ambient light information block 0xB002 : Mesh information block 0xB003 : Camera information block 0xB004 : Camera target information block 0xB005 : Omni light information block 0xB006 : Spot light target information block 0xB007 : Spot light information block |
|
FRAMES (START, END) |
||
Identifier (идентификатор) |
0xB008 |
|
Уровень в иерархии |
2 |
|
Length (длинна) |
8 |
|
Chunk father (элемент родитель) |
0xB000 (Keyframer chunk) |
|
Sub chunks (ветви) |
||
Data, descripion |
Состоит из двух записей: dword Start, End. |
|
OBJECT NAME, PARAMETERS AND HIERARCHY FATHER |
||
Identifier (идентификатор) |
0xB010 |
|
Уровень в иерархии |
3 |
|
Length (длинна) |
Варьируется, зависит от ветвей |
|
Chunk father (элемент родитель) |
0xB001..0xB007 Information block |
|
Sub chunks (ветви) |
||
Data, descripion |
Состоит из следующих записей: strz Object Name word Flag1 * Bit 11 : Hidden word Flag2 * Bit 0 : Show path * Bit 1 : Animate smoothing * Bit 4 : Object motion blur * Bit 6 : Morph materials word Hierarchy father, link to the parent object (-1 for none) |
|
OBJECT PIVOT POINT |
||
Identifier (идентификатор) |
0xB013 |
|
Уровень в иерархии |
3 |
|
Length (длинна) |
12 |
|
Chunk father (элемент родитель) |
0xB001...0xB007 Information block |
|
Sub chunks (ветви) |
||
Data, descripion |
Содержит одну запись в векторном виде: Vector Pivot point |
|
TRACK |
||
Identifier (идентификатор) |
0xB020 ... 0xB029 |
|
Уровень в иерархии |
3 |
|
Length (длинна) |
Варьируется, зависит от ветвей |
|
Chunk father (элемент родитель) |
0xB001..0xB007 Information block |
|
Sub chunks (ветви) |
||
Data, descripion |
Содержит множества записей: word Flag * Bits 0-1 : 0 = single 2 = repeat 3 = loop * Bit 3 : lock X * Bit 4 : lock Y * Bit 5 : lock Z * Bit 7 : unlink X * Bit 8 : unlink Y * Bit 9 : unlink Z dword Number of keys in this track Then, for each key: dword Key number (position in track) word Acceleration data present (flag) Range: * Bit 0 : Tension follows [-1.0, 1.0] * Bit 1 : Continuity follows [-1.0, 1.0] * Bit 2 : Bias follows [-1.0, 1.0] * Bit 3 : Ease to follows [ 0.0, 1.0] * Bit 4 : Ease from follows [ 0.0, 1.0] n floats Acceleration data ? Track specific data Track specific data is: 0xB020 : Position track : 1 vector Position 0xB021 : Rotation track : 1 float Angle (rad) 1 vector Axis 0xB022 : Scale track : 3 floats Size 0xB023 : FOV track : 1 float Angle (degree) 0xB024 : Roll track : 1 float Angle (degree) 0xB025 : Color track : 0xB026 : Morph track : 1 strz Object name 0xB027 : Hotspot track : 1 float Angle (degree) 0xB028 : Falloff track : 1 float Angle (degree) 0xB029 : Hide track : nothing |
|
HIERARCHY POSITION |
||
Identifier (идентификатор) |
0xB030 |
|
Уровень в иерархии |
3 |
|
Length (длинна) |
2 |
|
Chunk father (элемент родитель) |
0xB001 ... 0xB007 Information block |
|
Sub chunks (ветви) |
||
Data, descripion |
word HierarchyПодробнее об иерархии далее, в отдельной главе. |
Информация далеко не полная, подробнее об этом можно узнать из документов sdk.
5. Иерархия объектов
Иерархия объектов схожа с иерархией chunk`ов, то же самое дерево, но не всегда. Каждому объекту в сцене дается номер, чтобы идентифицировать его номер в иерархии. Каждый объект созданный в файле будет и в дереве иерархии. Корневому элементу дается номер «-1»(ffff). При чтении файла сохраняется номер объекта. Если он увеличивается, будет идти работа с дочерним элементом, уменьшится - мы перешли на родительский элемент.
Для примера того, как иерархия представляется, используем файл 50pman.3ds , являющегося традиционным для описания иерархии объектов еще с момента появления формата 3ds.
Для просмотра древа объектов 3ДМаксе есть Schematic View (Graph Editors->New Schematic View).
мультимедийный графика анимация моделирование
ЗАКЛЮЧЕНИЕ
В ходе выполнения данной курсовой работы была проведена работа с открытой графической библиотекой OpenGL и программной системой для создания и редактирования трехмерной графики и анимации 3ds max.
Рассмотрена структура файла 3D Studio Mesh, иерархия его объектов, основные параметры структурных элементов формата 3D Studio Mesh, создан загрузчик для просмотра одного объекта формата .3ds, рассмотрено хранение информации об анимации 3d объекта, а так же рассмотрена иерархия объектов в формате 3D Studo Mesh.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. Анимация OpenGL [Электронный ресурс]: Примеры анимации и построения моделей - Режим доступа: http://www.gamedev.ru/code/terms/OpenGL
2. Тарасов, И. А. Основы программирования в среде OpenGL / И. А. Тарасов. - М.: Горячая Линия - Телеком, 2000. - 188 с.
3. Шренер,В. Д. OpenGL Red Book [Электронный ресурс]: В.Д. Шренер - Режим доступа: http://www3.msiu.ru/~kupri-ov/Books/RedBook_OpenGL.pdf
4. Боресков, А.В. Расширения OpenGL / А.В. Боресков. - Спб.: БХВ-Петербург, 2005. - 688 с.
5. Верстак, В. С. 3ds max. Школа мастерства / В. С. Верстак. - Спб.: Питер, 2007 . - 224 с.
Размещено на Allbest.ru
Подобные документы
Устройства для создания примитивной анимации. История развития анимирования 70-х годов. Трехмерная система анимации фигур. Создание искусственного человека, неотличимого от настоящего. Достижения освещения и текстурирования. Деформация 2D и 3D объектов.
презентация [1,4 M], добавлен 06.02.2013История появления мультимедийных технологий. Программные и аппаратные средства мультимедиа. Разработка flash-анимации с использованием графического редактора Adobe Flash Professional CS6. Обработка звуковых файлов, создание растровой и векторной графики.
курсовая работа [1,9 M], добавлен 05.01.2015Назначение и стандарты реализации OpenGL для Windows, порядок подключения графической библиотеки. Основные функции и синтаксис команд. Рисование примитивов, видовые и аффинные преобразования. Моделирование двумерных графических объектов и анимации.
лабораторная работа [35,0 K], добавлен 04.07.2009Изучение применения трёхмерного моделирования и анимации при создании статической рекламы, динамических заставок для телеканалов, моделирования катастроф, в компьютерных играх. Характеристика создания моделей с помощью модификаторов Edit Poly, Edit Mesh.
практическая работа [4,0 M], добавлен 29.09.2011Технология обработки графической информации с помощью ПК, применение в научных и военных исследованиях: формы, кодирование информации, ее пространственная дискретизация. Создание и хранение графических объектов, средства обработки векторной графики.
реферат [20,7 K], добавлен 28.11.2010Рассмотрение и характеристика специфических особенностей 3D Studio MAX - единственного программного комплекса моделирования, визуализации и анимации объектов, разработанный фирмой Autodesk. Ознакомление с общим представлением о трехмерной графике.
дипломная работа [1,5 M], добавлен 17.07.2017Моделирование пространства и способы представления пространственных объектов. Хранение и извлечение пространственных объектов. Применение географических баз данных. Классификация объектов на основе размерности. Мозаичное и векторное представление.
презентация [179,5 K], добавлен 11.10.2013Назначение компьютерной графики. Особенности трехмерной анимации. Технология создания реалистичных трехмерных изображений. Компьютерная графика для рисования на SGI: StudioPaint 3D. Пакет PowerAnimator как одна из программ трехмерной анимации на SGI.
реферат [25,7 K], добавлен 31.03.2014Программирование приложения с использованием библиотеки OpenGL и функции для рисования геометрических объектов. Разработка процедуры визуализации трехмерной сцены и интерфейса пользователя. Логическая структура и функциональная декомпозиция проекта.
курсовая работа [1,1 M], добавлен 23.06.2011Методы создания двумерных и трехмерных изображений. Классификация средств компьютерной графики и анимации. Системы для работы с видео и компоновки. Обзор программных продуктов для создания презентаций, двумерной и трехмерной анимации, 3D-моделирования.
реферат [30,5 K], добавлен 25.03.2015