Форум программистов, компьютерный форум, киберфорум
JavaScript: HTML5 Canvas
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для webber
7 / 7 / 2
Регистрация: 21.10.2012
Сообщений: 101

Экспорт координат из 3ds max. Canvas

17.09.2013, 00:51. Показов 3302. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разбираясь потихоньку с канвасом нашел статью на хабре( http://habrahabr.ru/post/93594/ ).

Цитата из статьи: "Экспорт модели происходит прямо из 3ds max, через ASCII Scene Export."

В иходниках координаты заданы в формате: [ { x:38.2352, y:-0.0038, z:27.8276 },{ x:39.4115, y:-2.5554, z:30.4001 },{ x:38.8782, y:-4.4222, z:33.6777 },....
я же, экспортируя простенькую модель в .ase файл, получаю:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
*3DSMAX_ASCIIEXPORT 200
*COMMENT "AsciiExport Version  2,00 - Mon Sep 16 23:06:59 2013"
*SCENE {
    *SCENE_FILENAME ""
    *SCENE_FIRSTFRAME 0
    *SCENE_LASTFRAME 100
    *SCENE_FRAMESPEED 30
    *SCENE_TICKSPERFRAME 160
    *SCENE_BACKGROUND_STATIC 0.0000 0.0000  0.0000
    *SCENE_AMBIENT_STATIC 0.0000    0.0000  0.0000
}
*MATERIAL_LIST {
    *MATERIAL_COUNT 0
}
*SHAPEOBJECT {
    *NODE_NAME "Line01"
    *NODE_TM {
        *NODE_NAME "Line01"
        *INHERIT_POS 0 0 0
        *INHERIT_ROT 0 0 0
        *INHERIT_SCL 0 0 0
        *TM_ROW0 -0.8803    -0.1752 0.4408
        *TM_ROW1 0.4467 -0.6190 0.6460
        *TM_ROW2 0.1596 0.7656  0.6232
        *TM_ROW3 -51.9065   -0.0000 17.3432
        *TM_POS -51.9065    -0.0000 17.3432
        *TM_ROTAXIS -0.1726 -0.4058 -0.8975
        *TM_ROTANGLE 3.4954
        *TM_SCALE 1.0000    1.0000  1.0000
        *TM_SCALEAXIS 0.8884    0.4590  -0.0000
        *TM_SCALEAXISANG 0.2933
    }
    *SHAPE_LINECOUNT 1
    *SHAPE_LINE 0 {
        *SHAPE_VERTEXCOUNT 6
        *SHAPE_VERTEX_KNOT  0   3.1430  -11.2446    17.0582
        *SHAPE_VERTEX_KNOT  1   -76.7698    -27.1515    57.0707
        *SHAPE_VERTEX_KNOT  2   -104.7904   11.6757 16.5438
        *SHAPE_VERTEX_KNOT  3   -28.7758    26.8067 -21.5169
        *SHAPE_VERTEX_KNOT  4   -0.7552 -12.0206    19.0100
        *SHAPE_VERTEX_KNOT  5   -103.4910   11.9343 15.8932
    }
}
*SHAPEOBJECT {
    *NODE_NAME "Line02"
    *NODE_TM {
        *NODE_NAME "Line02"
        *INHERIT_POS 0 0 0
        *INHERIT_ROT 0 0 0
        *INHERIT_SCL 0 0 0
        *TM_ROW0 -0.0000    -1.0000 -0.0000
        *TM_ROW1 -0.0000    -0.0000 1.0000
        *TM_ROW2 -1.0000    0.0000  -0.0000
        *TM_ROW3 0.0000 133.3948    -69.5572
        *TM_POS 0.0000  133.3948    -69.5572
        *TM_ROTAXIS 0.5774  -0.5774 -0.5774
        *TM_ROTANGLE 4.1888
        *TM_SCALE 1.0000    1.0000  1.0000
        *TM_SCALEAXIS 0.0000    0.0000  0.0000
        *TM_SCALEAXISANG 0.0000
    }
    *SHAPE_LINECOUNT 1
    *SHAPE_LINE 0 {
        *SHAPE_VERTEXCOUNT 16
        *SHAPE_VERTEX_KNOT  0   0.0000  184.1328    -111.4391
        *SHAPE_VERTEX_INTERP    1   0.0000  163.7247    -92.2574
        *SHAPE_VERTEX_INTERP    2   0.0000  149.2808    -81.2475
        *SHAPE_VERTEX_INTERP    3   0.0000  139.8072    -77.0475
        *SHAPE_VERTEX_INTERP    4   0.0000  134.3098    -78.2955
        *SHAPE_VERTEX_INTERP    5   0.0000  131.7946    -83.6294
        *SHAPE_VERTEX_INTERP    6   0.0000  131.2674    -91.6872
        *SHAPE_VERTEX_KNOT  7   0.0000  131.7343    -101.1070
        *SHAPE_VERTEX_KNOT  8   -0.0000 72.6937 -27.3063
        *SHAPE_VERTEX_INTERP    9   -0.0000 104.8175    -38.1827
        *SHAPE_VERTEX_INTERP    10  0.0000  134.2173    -47.8973
        *SHAPE_VERTEX_INTERP    11  0.0000  158.1691    -55.2881
        *SHAPE_VERTEX_INTERP    12  0.0000  173.9492    -59.1933
        *SHAPE_VERTEX_INTERP    13  0.0000  178.8333    -58.4510
        *SHAPE_VERTEX_INTERP    14  0.0000  170.0978    -51.8993
        *SHAPE_VERTEX_KNOT  15  0.0000  145.0184    -38.3764
    }
}
*GEOMOBJECT {
    *NODE_NAME "Box01"
    *NODE_TM {
        *NODE_NAME "Box01"
        *INHERIT_POS 0 0 0
        *INHERIT_ROT 0 0 0
        *INHERIT_SCL 0 0 0
        *TM_ROW0 1.0000 0.0000  0.0000
        *TM_ROW1 0.0000 -0.0000 1.0000
        *TM_ROW2 0.0000 -1.0000 -0.0000
        *TM_ROW3 0.2906 -0.0000 0.4781
        *TM_POS 0.2906  -0.0000 0.4781
        *TM_ROTAXIS -1.0000 0.0000  0.0000
        *TM_ROTANGLE 1.5708
        *TM_SCALE 1.0000    1.0000  1.0000
        *TM_SCALEAXIS 0.0000    0.0000  0.0000
        *TM_SCALEAXISANG 0.0000
    }
    *MESH {
        *TIMEVALUE 0
        *MESH_NUMVERTEX 8
        *MESH_NUMFACES 12
        *MESH_VERTEX_LIST {
            *MESH_VERTEX    0   -28.4917    0.0000  -28.3042
            *MESH_VERTEX    1   29.0729 0.0000  -28.3042
            *MESH_VERTEX    2   -28.4917    -0.0000 29.2604
            *MESH_VERTEX    3   29.0729 -0.0000 29.2604
            *MESH_VERTEX    4   -28.4917    20.6642 -28.3042
            *MESH_VERTEX    5   29.0729 20.6642 -28.3042
            *MESH_VERTEX    6   -28.4917    20.6642 29.2604
            *MESH_VERTEX    7   29.0729 20.6642 29.2604
        }
        *MESH_FACE_LIST {
            *MESH_FACE    0:    A:    2 B:    0 C:    3 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 2  *MESH_MTLID 0
            *MESH_FACE    1:    A:    1 B:    3 C:    0 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 2  *MESH_MTLID 0
            *MESH_FACE    2:    A:    5 B:    4 C:    7 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 3  *MESH_MTLID 1
            *MESH_FACE    3:    A:    6 B:    7 C:    4 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 3  *MESH_MTLID 1
            *MESH_FACE    4:    A:    1 B:    0 C:    5 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 4  *MESH_MTLID 4
            *MESH_FACE    5:    A:    4 B:    5 C:    0 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 4  *MESH_MTLID 4
            *MESH_FACE    6:    A:    3 B:    1 C:    7 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 5  *MESH_MTLID 3
            *MESH_FACE    7:    A:    5 B:    7 C:    1 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 5  *MESH_MTLID 3
            *MESH_FACE    8:    A:    2 B:    3 C:    6 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 6  *MESH_MTLID 5
            *MESH_FACE    9:    A:    7 B:    6 C:    3 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 6  *MESH_MTLID 5
            *MESH_FACE   10:    A:    0 B:    2 C:    4 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 7  *MESH_MTLID 2
            *MESH_FACE   11:    A:    6 B:    4 C:    2 AB:    1 BC:    0 CA:    1   *MESH_SMOOTHING 7  *MESH_MTLID 2
        }
    }
    *PROP_MOTIONBLUR 0
    *PROP_CASTSHADOW 1
    *PROP_RECVSHADOW 1
    *WIREFRAME_COLOR 0.5255 0.4314  0.0314
}


Собственно вопрос в том как получить координаты в нужном формате?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2013, 00:51
Ответы с готовыми решениями:

Экспорт из 3Ds max
Проблему видно на скриншоте. Не отображается внутренняя часть половинок ротора. В чём может быть проблема?

Экспорт 3ds max
Пользуюсь 3ds max 2013, версия для бедных студентов (бесплатная), хочу спросить как экспортировать модель в пригодный для пурика формат о...

Экспорт нормалей из 3ds Max
Как нужно экспортировать нормали, чтобы при загрузке в программу (написанной на OpenGL) модель отображалась так же, как и в максе? Код...

6
Заблокирован
17.09.2013, 07:41
Может быть упомянутый первоисточник надо поискать, вместо смех**чков на хабре. Например http://gnomeby.github.io/canva... teapot.ply

Добавлено через 12 минут
https://github.com/gnomeby/canvas3D
1
 Аватар для webber
7 / 7 / 2
Регистрация: 21.10.2012
Сообщений: 101
18.09.2013, 02:59  [ТС]
пытаюсь провести аналогию между скриптом с хабра и https://github.com/gnomeby/can... eader.html

normal_list это https://github.com/gnomeby/can... l#L177-179
vertex_list это point.x, point.y, point.z https://github.com/gnomeby/can... .html#L430

а вот что такое mesh_list я так и не понял
или с normal_list и vertex_list я тоже ошибся?
0
Заблокирован
19.09.2013, 10:14
Вам не скрипт нужен, а формат данных. Или наоборот: под свой формат подгоните скрипт.

Одного не вижу: перспективы. Ура, теперь на вебе чайник рендерится без сглаживания.
0
 Аватар для webber
7 / 7 / 2
Регистрация: 21.10.2012
Сообщений: 101
20.09.2013, 19:52  [ТС]
sqlnub, да, вы правы
хочу из ply файла получить данные для скрипта с хабра( mesh_list, normal_list и vertex_list )
0
 Аватар для webber
7 / 7 / 2
Регистрация: 21.10.2012
Сообщений: 101
22.09.2013, 16:09  [ТС]
так и не вышло получить нужный формат координат для скрипта с хабра(
если бы кто-то помог - был бы крайне признателен
0
 Аватар для JsLoveR
425 / 167 / 48
Регистрация: 05.12.2012
Сообщений: 855
23.09.2013, 10:39
webber, напишите свой парсер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.09.2013, 10:39
Помогаю со студенческими работами здесь

Экспорт из 3ds MAX в Unity3d
Здравствуйте, прошу помогите с вопросам экспорта модельки авто из Макса в Юни. Мучаюсь уже 3ий день. Почему у дверей ручки такая обводка?...

Экспорт из 3ds max в unity
Добрый вечер! Не могу разобраться в правильном экспорте 3д модели в fbx для юнити 5. Допустим у меня есть такая модель...

Экспорт из 3ds max для Android
Посоветуйте в какой формат нужно экспортировать из 3d max 9 буду писать парсер (работает на андроиде) текстового файла для получения...

Не получается скомпилировать F3DMaxExp Экспорт 3DS Max проект плагина
Доброго времени суток! Нужна помощь, не получается скомпилировать F3DMaxExp Экспорт 3DS Max проект плагина! Попробуйте скомпилировать!...

Экспорт Canvas в BMP: На выходе только черный фон. + Экспорт невидимых Canvas'ов
Здравствуйте! Есть Canvas (WPF), заполняемый в процессе работы программы (в том числе изменяется и размер). Стоит задача экспортировать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru