J'ai une simulation en C++ qui génère énormément de données. En ce moment j'utilise des bibliothèques MATLAB pour enregistrer les résultats sous forme de fichier .mat, mais finalement je vais avoir besoin d'un format binaire open source. Je ne veux pas implémenter mon propre format binaire et ASCII n'est pas une option. J'ai entendu que VTK fournit le format de fichier binaire .vtk pour enregistrer les structures de données 3D, ce qui est exactement ce dont j'ai besoin. Y at-il une bonne bibliothèque C/C++ pour lire/écrire des fichiers VTK?Bibliothèque C/C++ pour VTK IO
Répondre
Oui, il y a une bonne bibliothèque fournissant des fichiers .vtk I/O, et elle s'appelle ... attendez-la ... VTK! :)
http://www.vtk.org/doc/release/4.2/html/classvtkUnstructuredGridWriter.html
http://www.vtk.org/doc/release/4.2/html/classvtkUnstructuredGridReader.html
(Il y a beaucoup d'autres lecteurs/écrivains en fonction de votre type de données).
BTW, VTK n'est pas toujours le meilleur format de fichier ... envisager d'utiliser HDF5: http://www.hdfgroup.org/HDF5/ –
.mat * est * HDF5. Je suis d'accord, mais il est plus facile de lire .mat à partir de votre programme non-matlab que d'écrire VTK à partir de matlab. – Timmmm
Pourriez-vous nommer certains de ces nombreux autres lecteurs, car VTK peut être un peu lourd juste pour utiliser les E/S VTK. – math
Je pense que cela serait utile si vous indiquiez plus clairement quelles sont les données. Cela semble (à partir de la dernière partie de la question) que les données sont 3D, mais s'agit-il de données de modèle/géométrie réelles, c'est-à-dire de sommets et de polygones? – unwind
Les données sont un champ vectoriel 3D sur un plan 2D. Autrement dit, le domaine est un plan 2-D et la gamme est un vecteur 3-D. Mais je ne pense pas que ce soit pertinent à la question quand même! – Aamir
mat est un format binaire à peu près ouvert. C'est juste HDF5 plus un en-tête assez inutile. Voir [ici] (https://www.mathworks.co.uk/matlabcentral/fileexchange/27350-c++class-to-write-hdf5-mat-files) et aussi [ici] (https: //www.mathworks .co.uk/matlabcentral/fileexchange/23416-writetovtk). Notez que ce dernier utilise le format VTK textuel inefficace. – Timmmm