Java-проект WWW-CRYSTPIC

Описание

Java-проект WWW-CRYSTPIC в рамках проекта WWW-MINCRYST - новая программа изображения моделей кристаллических структур как в шарах-сферах, так и в полиэдрах - на основе JAVA-технологии (Java-applet). Впервые в открытом доступе Международному Пользователю предоставлена возможность изучать анимированные катионные мотивы, определяющие тип и характер более 7000 кристаллических структур, в выразительном полиэдрическом представлении. В режимах управления атомными позициями или сортами атомов-ионов программа позволяет: обеспечить взаимодействие с БД; непрерывно вращать МКС в произвольном направлении (мышка); вращать МКС в заданном автоматическом режиме вокруг осей X(Y); масштабировать МКС (zoom-mode); ориентировать МКС по заданным hkl-индексам; размножать элементарные ячейки в заданном hkl-индексами направлении; размножать элементарные ячейки до 9 (1+8) в плоскости, нормальной к избранной a,b,c-оси; фрагментировать МКС в соответствии с hkl-индексами, определяющими ориентацию и толщину фрагмента в пределах элементарной ячейки; наращивать величину избранного фрагмента в заданном hkl-индексами направлении (например, цепочки, ленты, слои); произвольно изменять размер атомов-ионов; изменять цвета ионов каждого сорта или в каждой атомной позиции; изменять цвет фона для изображения МКС; обозначать подсветкой (highlight-mode) изоморфные и дефектные позиции; рассчитывать межатомные расстояния и углы для избранного координированного катиона (полиэдра) в автоматическом режиме с заданным ограничением величины расстояний; измерять непосредственно любые межатомные расстояния и углы.

Задачи

  • исследовать методы и алгоритмы построения и отрисовки полиэдров (в том числе вогнутых) по заданному множеству вершин
  • исследовать возможные варианты отрисовки кристаллических структур с применением OpenGL на Java
  • разработать алгоритм отрисовки отображения кристаллов в сферах и полиэдрах по заданному входному формату BDI и характеристик, задаваемых пользователем
  • разработать графический пользовательский интерфейс
  • написать код апплета
  • провести тестирование апплета на множестве структур

Ссылки