用于科学分子动力学模型的 3D 可视化软件
我正在编写一个程序来可视化分子动力学实验.输入将是一个文件,其中包含每个时间步的每个原子的位置.将有~100k 个原子和~500 个时间步长.原子将表示为球体.原子之间的连接将由圆柱体表示.
I am writing a program that will visualize a molecular dynamics experiment. The input will be a file with the location of each atom at each timestep. There will be ~100k atoms and ~500 timesteps. Atoms will be represented as spheres. Connections between atoms will be represented by cylinders.
以下是该计划的一些要求(按重要性排序):
Here are some requirements for the program (in order of importance):
- 能够移动、旋转和缩放以更改图像
- 能够从不同时间步长的位置制作电影
- 能够用鼠标选择原子
- 能够创建图形用户界面
- 易于在 Mac、Windows 和 Linux 上安装.
谁能推荐一种语言、可视化库或方法来解决这个问题?任何其他想法也将不胜感激.
Can anyone recommend a language, visualization library or method to approach this? Any other thoughts would also be greatly appreciated.
我建议考虑 ParaView;您需要做的是以 VTK 格式保存所有相关数据(该库具有相关功能),然后您'重做.它具有出色的后处理能力(如着色、透明粒子、动画)并经过充分测试.
I would suggest to consider ParaView; what you need to do is to save all relevant data in VTK format (the library has functions for that) and you're done. It has excellent post-processing capabilities (such as coloring, transparent particles, animations) and is well-tested.
如果这对您来说不够灵活,我对 c++
lib QGLViewer有一些经验> (不要被 .com
弄糊涂了,它是免费且跨平台的).你需要自己为粒子编写OpenGL代码,这很容易.
If this does not seem enough flexible to you, I have some experience with c++
lib QGLViewer (don't get confused by the .com
, it is free and cross-platform). You need to write OpenGL code for the particles by yourself, which is pretty easy.
也就是说,我知道有几个场景图引擎",它们可能对您有很大帮助,但我认为其他人最好对此发表评论,因为我从未使用过它们.
That said, I know there are several "scene graph engines", which can help you greatly perhaps, but I think other would better comment on that, as I never used them.
仅供参考 这部电影是使用 Paraview 完成的(您肯定会找到更多示例),而这里的内容来自带有 QGLViewer 的 OpenGL.
FYI this movie was done with Paraview (you find many more examples, for sure), while stuff here is from OpenGL with QGLViewer.