3D визуализация программного обеспечения для научной модели молекулярной динамики - PullRequest
0 голосов
/ 01 июля 2011

Я пишу программу, которая будет визуализировать эксперимент по молекулярной динамике.Входными данными будет файл с расположением каждого атома на каждом временном шаге.Там будет ~ 100k атомов и ~ 500 временных шагов.Атомы будут представлены в виде сфер.Связи между атомами будут представлены цилиндрами.

Вот некоторые требования к программе (в порядке важности):

  1. возможность перемещать, вращать и масштабировать, чтобы изменить изображение
  2. возможность создания фильма с позиций на разных временных шагах
  3. возможность выбора атома мышью
  4. возможность создания графического интерфейса
  5. легкостьустановка на Mac, Windows и Linux.

Кто-нибудь может порекомендовать язык, библиотеку визуализации или метод для этого?Любые другие мысли также будут с благодарностью.

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

Я бы предложил рассмотреть ParaView ; вам нужно сохранить все соответствующие данные в формате VTK (в библиотеке есть функции для этого), и все готово. Он обладает отличными возможностями постобработки (например, окрашивание, прозрачные частицы, анимация) и хорошо протестирован.

Если это не кажется вам достаточно гибким, у меня есть некоторый опыт работы с c++ lib QGLViewer (не смущайтесь .com, он бесплатный и кроссплатформенный). Вам нужно самостоятельно написать код OpenGL для частиц, что довольно просто.

Тем не менее, я знаю, что есть несколько «движков графа сцены», которые могут вам сильно помочь, но я думаю, что другие лучше прокомментируют это, поскольку я никогда не использовал их.

FYI этот фильм был сделан с Paraview (вы наверняка найдете еще много примеров), в то время как материал здесь из OpenGL с QGLViewer.

0 голосов
/ 16 июля 2011

Хм, я думаю, что сферы будут слишком перекрываться для 100k атомов - вы увидите только края. Итак, я предлагаю использовать «жирные» точки для атомов и линии для соединений - это будет намного быстрее и позволит увидеть больше деталей.

Формально MathGL (библиотека графиков GPL) и его интерфейс UDAV удовлетворяют всем вашим требованиям. Тем не менее, я не уверен, что это будет быстро нарисовать 100k сфер и цилиндров.

...