有沒有人有繪製時間相關數據的方便方法?假設你有一段程序輸出一段時間的軌跡,所以有一個3列的txt文件(t,x,y)。我想創建一個視頻文件(mp4 avi gif等),以顯示後面兩列的進展情況。我編寫了一個輸出數據的程序,調用gnuplot,輸出一個png,然後重複使用,然後使用ffmpeg將所有的pngs混合成mp4。然而,每個png產生的時間需要很長時間(大約0.2秒),而2分鐘30fps則需要大約12分鐘才能執行。另外,我最終創建了一個3600 png的目錄,然後刪除該目錄。我不禁感到,過去幾十年來,有人開發出一種更簡單的方法。必須有更優雅的方式來做這樣的事情。我也運行Windows 10。Fortran代碼的動畫繪圖模塊
回答
這也可能是您的應用程序矯枉過正,但你可能要考慮編寫(或轉換)您的數據VTK格式(見http://www.cacr.caltech.edu/~slombey/asci/vtk/vtk_formats.simple.html),然後處理通過的Paraview(http://www.paraview.org/)或訪問(https://wci.llnl.gov/simulation/computer-codes/visit)的結果。傳統的VTK格式從Fortran編寫起來相對容易;最難的部分是理解如此靈活 - 無人可以解釋 - 如何做到簡單的事情 - 與它的文件格式。第二個最難的部分是找到你想要的選項隱藏在VisIt UI中。現在有用於編寫VTK的F90庫(請參閱https://people.sc.fsu.edu/~jburkardt/f_src/vtk_io/vtk_io.html),這可能會給您一個良好的開端。
發光的讚美,我知道,但是一旦你排序完畢,用VisIT生成動畫圖很容易,它應該比gnuplot快得多。基於直接從Fortran代碼編寫的數據,我使用這種方法來製作動畫的溫度,熱量生成等2D地圖。
另一種策略是查找VisIt支持的更簡單的數據格式並使用它們。我選擇了VTK,因爲它(有點)是由多個查看者記錄和支持的,但可能會有更好的格式滿足您的需求。
或者其他可以從Paraview打開的數據類型。它們中有很多,有些可以使用Fortran綁定。 –
- 1. 畫布繪圖模式的代碼
- 2. 模塊和傳統的Fortran 77代碼
- 3. Fortran在代碼塊-Linux Mint
- 4. 在matplotlib中管理動態繪圖動畫模塊
- 5. 繪圖動畫
- 6. 使用f2py停止(Fortran)模塊錯誤中的python代碼?
- 7. 畫布繪畫畫線循環代碼
- 8. GDB和Fortran模塊
- 9. 創建從Fortran源代碼一個Python模塊使用痛飲
- 10. 如何動畫在Android中使用代碼繪製的畫布?
- 11. 動畫代碼不動畫?
- 12. 轉換透出模塊模式的代碼到模塊圖案
- 13. UIView動畫塊會暫停動畫和完成代碼
- 14. fortran模塊的範圍
- 15. 啓動Javascript模塊的代碼
- 16. UView動畫塊中的圖層動畫
- 17. 基於UIView塊的動畫重繪
- 18. 從繪圖代碼
- 19. Fortran遺留代碼
- 20. Fortran模塊鏈接失敗
- 21. 動畫刷幾何繪圖
- 22. 順序繪圖/動畫iOS
- 23. Qt C++繪圖和動畫
- 24. 用動態模塊分割代碼?
- 25. 動畫快速代碼內的隨機圖像代碼
- 26. FORTRAN中sin()的源代碼
- 27. 編譯舊的fortran代碼
- 28. Python模塊的源代碼
- 29. 如何禁用嵌套在UIView動畫塊中的代碼的動畫?
- 30. 動畫位圖的繪圖列表
是不可能寫一個包含所有幀的數據文件並在gnuplot中一次轉換它? (使用「set terminal gif animate ...」,「reread」,「plot ... index ...」等) – roygvib