2010-01-14 3 views
3

У меня есть симуляция на C++, которая генерирует огромное количество данных. Сейчас я использую библиотеки MATLAB для сохранения результатов в виде файла .mat, но в конечном итоге мне понадобится двоичный формат с открытым исходным кодом. Я не хочу реализовывать свой собственный двоичный формат, и ASCII не является вариантом. Я слышал, что VTK обеспечивает формат файла .vtk для сохранения трехмерных структур данных, что именно то, что мне нужно. Есть ли хорошая библиотека C/C++ для чтения/записи файлов VTK?Библиотека C/C++ для VTK IO

+0

Я думаю, что это поможет, если вы более четко определите, что такое данные. Звучит (из последней части вопроса), поскольку данные являются 3D, но являются ли они фактическими данными модели/геометрии, то есть вершинами и многоугольниками? – unwind

+0

Данные представляют собой трехмерное векторное поле на двумерной плоскости. Проще говоря, домен является двумерной плоскостью, а диапазон - трехмерным вектором. Но я не думаю, что это имеет отношение к вопросу в любом случае! – Aamir

+0

Коврик является довольно двоичным форматом с открытым исходным кодом. Это просто HDF5 плюс довольно бесполезный заголовок. См. [Здесь] (https://www.mathworks.co.uk/matlabcentral/fileexchange/27350-c++-class-to-write-hdf5-mat-files), а также [здесь] (https: //www.mathworks .co.uk/matlabcentral/fileexchange/23416-writetovtk). Обратите внимание, что последний использует неэффективный текстовый формат VTK. – Timmmm

ответ

3

Да, есть хорошая библиотека, предоставляющая файлы .vtk I/O, и это называется ... дождитесь ее ... VTK! :)

http://www.vtk.org/doc/release/4.2/html/classvtkUnstructuredGridWriter.html

http://www.vtk.org/doc/release/4.2/html/classvtkUnstructuredGridReader.html

(Есть много других читателей/писателей, чтобы удовлетворить ваш тип данных).

+0

BTW, VTK не всегда лучший формат файла ... рассмотрите возможность использования HDF5: http://www.hdfgroup.org/HDF5/ –

+0

.mat * is * HDF5. Я согласен с тем, что легче читать .mat из вашей программы, отличной от Matlab, чем писать VTK из Matlab. – Timmmm

+1

Не могли бы вы назвать некоторых из многих других читателей, поскольку VTK может быть немного тяжелым только для использования ввода/вывода VTK. – math

Смежные вопросы