Поскольку вам нужна сетка с равным интервалом, я бы использовал формат ImageData на основе vtk xml (* .vti).
С http://www.cacr.caltech.edu/~slombey/asci/vtk/vtk_formats.simple.html:
"�ImageData - каждый элемент ImageData указывает свой экстент в пределах всего экстента набора данных. Точки и ячейки ... неявно описываются экстентом, началом и расстоянием. Обратите внимание, что начало и интервал постоянны для всех частей, поэтому они задаются какатрибуты XML-элемента ImageData выглядят следующим образом.
<VTKFile type=" ImageData" ...>
<ImageData WholeExtent=" x1 x2 y1 y2 z1 z2"
Origin=" x0 y0 z0" Spacing=" dx dy dz">
<Piece Extent=" x1 x2 y1 y2 z1 z2">
<PointData>...</ PointData>
<CellData>...</ CellData>
</ Piece>
</ ImageData>
</ VTKFile>
-Конец информации о ссылке "Обратите внимание, что действительными являются только x0 y0 z0 и dx dy dz, WholeExtent и PieceExtent относятся к индексам пикселей.
В этом примере будет показана карта размером 10x10 пикселей с температурой, идущей от нижнего левого угла к верхнему правому углу.Значения связаны с каждой ячейкой.Вы можете настроить этот формат для ваших 2D данных.Содержимое файла (обратите внимание, я использую только CellData):
example.vti:
<VTKFile type="ImageData" version="0.1" byte_order="LittleEndian">
<ImageData WholeExtent=" 0 10 0 10 0 1" Origin=" 0 0 0" Spacing=" 1 1 0">
<Piece Extent=" 0 10 0 10 0 1">
<CellData Scalars="scalars">
<DataArray type="Float32" Name="Temperature[C]" format="ascii">
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
</DataArray>
</CellData>
</Piece>
</ImageData>
</VTKFile>