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 |
TRIANGULAR MESH |
Sub chunks |
None |
Data |
Vertices number (unsigned short) Vertices list: x1,y1,z1,x2,y2,z2 etc. (for each vertex: 3*float) |
FACES DESCRIPTION |
|
Identifier |
0x4120 |
Length |
varying + sub-chunks length |
Chunk father |
TRIANGULAR MESH |
Sub chunks |
FACES MATERIAL |
Data |
Polygons number (unsigned short) Polygons list: a1,b1,c1,a2,b2,c2 etc. (for each point: 3*unsigned short) Face flag: face options, sides visibility etc. (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) Mapping coordinates list: u1,v1,u2,v2 etc. (for each vertex: 2*float) |
VERTICES LIST |
|
Identifier |
0x4110 |
Length |
varying |
Chunk father |
TRIANGULAR MESH |
Sub chunks |
None |
Data |
Vertices number (unsigned short) Vertices list: x1,y1,z1,x2,y2,z2 etc. (for each vertex: 3*float) |
a. Анализ файла 3ds (Анализ важных элементов, которые он содержит - chunk)
b. Интерпретация данных полученных в предыдущем пункте
c. Создание на основе полученных данных (Полигонов, точек, освещения) 3д модели.
d. Распечатывание 3д модели на монитор оператора
2. Проектирование интерфейса программных компонентов автоматизированной системы
Для удобства оператора, было принято решение создать простой и надежный интерфейс, реализованный на языке программирования Питон.
Работа с парсером и графическим интерфейсом:
1. Запустить программу gui_py.py
2. Нажать на кнопку текстура, откроется диалоговое окно, в котором необходимо выбрать файл текстуры 3д модели (после выбора файла на главном окне появится надпись ок).
3. Нажать на кнопку 3дс и также с помощью диалогового окна выбрать файл формата 3дс
4. Нажать кнопку Запуск
5. Посмотреть на получившийся результат
Приложение 1 (Загрузка 3ds файла)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <io.h>
#include "tutorial4.h"
#include "3dsloader.h"
/**********************************************************
*
* FUNCTION Load3DS (obj_type_ptr, char *)
*
* This function loads a mesh from a 3ds file.
* Please note that we are loading only the vertices, polygons and mapping lists.
*
*********************************************************/
char Load3DS (obj_type_ptr p_object, char *p_filename)
{
int i; //Index variable
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.