Animation 用于从Fortran代码进行动画打印的模块

Animation 用于从Fortran代码进行动画打印的模块,animation,plot,fortran,gnuplot,Animation,Plot,Fortran,Gnuplot,有没有人有一种方便的方法来绘制与时间相关的数据?假设你有一个程序在一段时间内输出一个轨迹,所以有一个3列的txt文件(t,x,y)。我想创建一个视频文件(mp4 avi gif等),以显示后两列的时间演变。我编写了一个程序,输出数据,调用gnuplot,输出一个png,不管需要多长时间都重复,然后使用ffmpeg将所有png混合到mp4中。但是,生成每个png需要很长的时间(每个png大约0.2秒),因此2分钟30fps将需要大约12分钟才能执行。此外,我最终创建了一个包含3600个png的目录

有没有人有一种方便的方法来绘制与时间相关的数据?假设你有一个程序在一段时间内输出一个轨迹,所以有一个3列的txt文件(t,x,y)。我想创建一个视频文件(mp4 avi gif等),以显示后两列的时间演变。我编写了一个程序,输出数据,调用gnuplot,输出一个png,不管需要多长时间都重复,然后使用ffmpeg将所有png混合到mp4中。但是,生成每个png需要很长的时间(每个png大约0.2秒),因此2分钟30fps将需要大约12分钟才能执行。此外,我最终创建了一个包含3600个png的目录,然后删除了该目录。我忍不住觉得有人在过去几十年里开发了一种更简单的方法来实现这一点。一定有更优雅的方式来做这样的事情。我也在运行Windows 10。

对于您的应用程序来说,这可能有些过分,但您可能希望研究将数据写入(或转换)为VTK格式(请参阅),然后通过Paraview()或VisIt()处理结果。传统VTK格式相对容易从Fortran编写;最困难的部分是理解如此灵活的文件格式,没有人能解释如何使用它做简单的事情。第二个最难的部分是找到您想要的选项在访问UI中隐藏的位置。现有的F90库用于编写VTK(请参阅),这可能会让您领先一步

我知道,你会大加赞赏,但一旦你把这些信息整理好,就可以很容易地使用VisIT生成动画情节,而且应该比gnuplot快得多。我使用这种方法,根据直接从Fortran代码中写入的数据,制作温度、热量生成等的动画2D贴图


另一个策略是寻找VisIt支持的更简单的数据格式并使用这些格式。我选择VTK是因为它(在某种程度上)被多个查看器记录和支持,但可能有更好的格式满足您的需要。

或任何其他可以从Paraview打开的数据类型。它们有很多,有些有Fortran绑定可用。难道不可能编写一个包含所有帧的数据文件并在gnuplot中一次性转换它吗?(使用“设置终端gif动画…”、“重新读取”、“打印…索引…”等)