Описание задачи: Здравствуйте! Нам нужен разработчик для создания консольной утилиты/скрипта (предпочтительно на Python) для конвертации файлов 3D-моделей из проприетарного формата .dcm в стандартный .obj. Описание формата .dcm: Файл .dcm представляет собой текстовый документ в формате XML. Ключевые данные о геометрии находятся внутри следующей структуры: <Packed_geometry> -> <Binary_data> -> <CA> Внутри тега <CA> содержатся два основных блока: <Vertices>: Содержит информацию о вершинах модели. <Facets>: Содержит информацию о треугольниках (гранях), которые соединяют эти вершины. Содержимое обоих тегов — это бинарные данные, закодированные в Base64. Проблема: Простое декодирование из Base64 и попытки прочитать данные как стандартные массивы float'ов ( для вершин) или int'ов (для граней) не дают корректного результата. Данные очевидно обфусцированы и/или сжаты с использованием проприетарного метода. Что требуется от исполнителя: Провести реверс-инжиниринг бинарных данных внутри тегов <Vertices> и <Facets>. Определить точный алгоритм обфускации/шифрования вершин. Определить точный алгоритм сжатия/кодирования граней. Написать утилиту (скрипт на Python), которая: Принимает на вход путь к .dcm файлу. Корректно извлекает и декодирует данные о вершинах и гранях. Сохраняет полученную 3D-модель в виде стандартного файла .obj. Что будет предоставлено для работы: Программа-вьювер (.exe): У вас будет исполняемый файл программы, которая умеет правильно читать и отображать .dcm файлы. Это ваш главный инструмент для анализа. Тестовый файл 1.dcm: Пример файла с 3D-моделью для анализа и тестирования. Эталонный файл 1.obj: Та же самая 3D-модель, сохраненная в формате .obj. Вы сможете использовать его для проверки правильности работы вашего конвертера (сравнения геометрии). в файлах пример файла дцм(1тхт) и его перевод другой программой в OBJ эти файлы маленькие и содержат очень простую геометрию. типичные файлы дцм- инраторальные сканы по 16мб. малненькие файлы для удобства. можно 1-обж.тхх перевести в обж и открыть в 3д вьювере что бы посомтреть геометрию. есть возможность переводжить из стл в дцм и обратно для облегчения ривирс инжинеринга