3D visualization software for scientific molecular

2019-09-21 02:46发布

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):

  1. ability to move, rotate, and zoom to change the image
  2. ability to make a movie from the positions at various timesteps
  3. ability to select an atom with the mouse
  4. ability to create a GUI
  5. ease of installation on Mac, Windows and Linux.

Can anyone recommend a language, visualization library or method to approach this? Any other thoughts would also be greatly appreciated.

2条回答
时光不老,我们不散
2楼-- · 2019-09-21 03:05

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.

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.

FYI this movie was done with Paraview (you find many more examples, for sure), while stuff here is from OpenGL with QGLViewer.

查看更多
家丑人穷心不美
3楼-- · 2019-09-21 03:18

Hmm, I think the spheres will be too overlapped for 100k atoms -- you will see only edges. So, I suggest to use a "bold" dots for atoms and lines for connections -- it will be much faster and allows to see more details.

Formally, MathGL (GPL plotting library) and its front-end UDAV satisfy all yours requirement. However, I'm not sure that it will be fast to draw 100k spheres and cylinders.

查看更多
登录 后发表回答