Paraview имеет «необработанный» формат ввода, который представляет собой просто последовательность двоичных значений, где X меняется быстрее, а Z медленнее. Следующий код Clojure запишет последовательность пар в этом формате:
(defn write-doubles [voxels path]
"write raw data stream - for paraview x must vary fastest."
(let [out (java.io.DataOutputStream.
(java.io.BufferedOutputStream.
(java.io.FileOutputStream. path)))]
(dorun (map (fn [v] (.writeDouble out v)) voxels))
(.close out)))
Затем вы можете прочитать это в Paraview, выбрав файл (используйте расширение .raw
) и введя метаданные (начало координат, шаг, диапазон) для осей. Это не очень хорошее решение - было бы лучше иметь метаданные в файле, но это очень просто. И это работает.
[Примечание. DataOutputStream генерирует данные в формате с прямым порядком байтов]