УДК 004.925.8
А. Ю. Бреднихина \ В. А. Дебелов 1 2
1 Новосибирский государственный университет ул. Пирогова, 2, Новосибирск, 630090, Россия
2 Институт вычислительной математики и математической геофизики СО РАН пр. Акад. Лаврентьева, 6, Новосибирск, 630090, Россия
E-mail: [email protected]; [email protected]
АНАЛИЗ И ОБОБЩЕНИЕ ФУНКЦИОНАЛЬНОСТИ СРЕДСТВ НАУЧНОЙ ВИЗУАЛИЗАЦИИ В ОБЛАСТИ КРИСТАЛЛОГРАФИИ В СЕТИ ИНТЕРНЕТ *
Данная работа посвящена обзору основных графических представлений, которые применяются в учебном процессе и исследовательской работе в области кристаллографии и кристаллооптики и входят в функциональность универсальных современных кристаллографических и минералогических Интернет-ресурсов. Обзор касается не вообще средств научной визуализации, а только тех базисных графических представлений данных, которые присущи в основном упомянутым дисциплинам. Это, как показано в данной работе, следующий набор: внешняя форма кристалла, индексы Миллера, центр / оси / плоскости симметрии, простые формы, стереоскопическая и гномостереоскопическая проекции, элементарная ячейка и кристаллическая решетка, оптические оси, индикатрисы поглощения, таблица Мишеля - Леви, ортоскопия и коноскопия и т. д. Рассматриваются только идеальные монокристаллы, поскольку все обучающие, справочные и информационные кристаллографические ресурсы в Интернет работают с графическими представлениями идеальных кристаллов. На основе анализа функциональности существующих графических представлений и более чем десятилетней разработки ИСО «Кристалл» авторы предлагают и обосновывают подход к построению библиотеки графических средств для использования в областях кристаллографии и кристаллооптики.
Ключевые слова: научная визуализация, интернет-ресурс, кристалл, кристаллография, кристаллооптика, графическое представление, коноскопия, ортоскопия.
Картина богаче тысячи слов.
Поговорка
Введение
В кристаллографии, как в любой другой научной дисциплине, применяется довольно обширный арсенал графических средств для представления объектов исследования, физических и химических параметров и других свойств этих объектов. Большая часть графических представлений научных данных является универсальной и применяется почти в каждой дисциплине.
1. Если предметы исследования - это объекты реального или виртуального мира, то для их изображения используются стандартные библиотеки OpenGL и DirectX, в крайнем случае - GDI (Graphical Device Interface) в Windows, или их аналоги. Для описания и моделирования таких объектов можно применить известные редакторы типа 3Dmax® или Maya® и многие другие.
2. Когда анализируемый объект - это числовые массивы и функциональные зависимости, применяются универсальные функции графического представления данных в виде графиков, изолиний и т. п., которые можно найти в функциональности визуализации научных вычислений известных систем OpenDX®, Matematica®, MathCAD® и др.
Но в каждой конкретной области имеются свои объекты и свойства, которые не поддаются представлению в графическом виде с помощью универсальных средств и в связи c этим требуют отдельного внимания. Например, одновременный показ внешней формы кристалла и привязанной к нему системы координатных осей. Другими словами, исследователь сам должен программировать необходимые виды объектов и их параметров, чтобы изображать специфические данные в виде изображений, традиционно применяемых в данной научной дисциплине. Таких графических представлений немного, но они играют очень важную роль,
* Работа выполнена при поддержке РФФИ (проекты № 06-07-89216-а; № 09-07-00237-а).
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2009. Том 7, выпуск 3 © А. Ю. Бреднихина, В. А. Дебелов, 2009
как в образовательном, так и в исследовательском планах. Данная работа посвящена обзору специфических графических представлений объектов, их параметров и свойств, которые применяются в Интернет-ресурсах, посвященных кристаллографии.
Конечно, в то же время могут существовать специализированные системы, ориентированные на одну конкретную исследовательскую задачу, и эти системы могут использовать другие удобные подручные графические представления конкретных данных, но которые не являются общеприменимыми. В качестве примера можно привести возможные программы поддержки исследований дефектов кристаллической решетки. И их мы не будем рассматривать до тех пор, пока они не пройдут путь признания и некоторого неформального процесса стандартизации. Другими словами, цель данной работы - очертить множество графических представлений или функциональность библиотеки кристаллографических графических средств (БКГС), мощность которых покрывает (а возможно и превосходит) функциональность существующих Интернет-ресурсов.
Почему библиотека? Потому что мощность изобразительных средств любого ресурса полностью определяется той библиотекой графических алгоритмов, на основе которых построен интерфейс этого ресурса.
Кристаллографические объекты и терминология
Кристаллография - это наука, занимающаяся всесторонним изучением многообразия кристаллов, их свойств, условий образования и роста [7]. Кристаллы - это твердые тела, обладающие упорядоченной внутренней структурой на уровне атомов и молекул, т. е. имеющие трехмерно-периодическую атомную структуру - кристаллическую решетку). Кристаллы в силу упорядоченности внутренней структуры обладают отличительными свойствами:
• анизотропией (неоднородностью свойств в зависимости от направления; например, разная твердость кристалла в различных направлениях, или зависимость окраски от ракурса);
• однородностью (две области внутри кристалла одинаковой формы и ориентации одинаковы по своим свойствам);
• способностью самоогранения (кристалл в идеальных условиях роста принимает форму выпуклого многогранника);
• симметрией. Под симметрией в данном случае понимается возможность совмещения фигуры с собой в результате преобразований симметрии: отражения, вращения или их комбинаций. Оси и плоскости, относительно которых производятся преобразования симметрии, называются элементами симметрии. К ним относится и центр симметрии кристалла. Сочетания элементов симметрии и соответствующие им преобразования симметрии определяют группы симметрии или точечные группы [1; 7].
Для каждого кристалла определена кристаллографическая система координат (КСК). Как правило, косоугольная КСК определяется тремя векторами a , b, c, которые задаются с помощью длин (a , b , c) и углов между ними (а = Zbc , ß = Zca , у = Zab). В кристаллографии применяется классификация в зависимости от системы координат. Отдельные классы называются сингониями. Выделяют следующие сингонии: триклинная (а, ß, уф 90°, a ф b ф c), моноклинная (ß^ 90°, а = у = 90°, a ф b ф c), ромбическая (а = ß = y = 90°, a ф b ф c), тетрагональная (а = ß = y = 90°, a = b , a ф c ), тригональная (ромбоэдрическая) (а, ß, уф 90°, a = b = c ), гексагональная (а = ß = 90°, y = 120°, a = b , a ф c ) и кубическая (a = ß = y = 90°, a = b = c ), см. [7; 8; 10]. Начало координат - это центр масс кристалла.
Внешняя форма кристалла - здесь это некоторый многогранник. Ориентировку грани (наклон грани) к осям КСК в кристаллографии описывают с помощью индексов Милле-
/,,А 1 1 1
ра (hkl) и расстояния от центра масс кристалла n. Величины —: —: - - это соотношения
h k l
длин отрезков, отсекаемых плоскостью грани на осях кристаллографической системы координат [7], h, k, l - целые числа.
За счет свойства симметрии кристаллов можно выделить семейства граней, которые выводятся друг из друга преобразованиями симметрии. Такие семейства называют простыми
формами. Для определения простой формы достаточно задать одного представителя. Замечательно то, что любой сложный выпуклый многогранник можно разбить на конечное число простых форм. Поэтому в кристаллографии для описания формы кристалла обычно определяют группу симметрии и представителей простых форм, которые задаются с помощью индексов Миллера.
Существует понятие идеального кристалла, под которым подразумевается кристалл с идеальной решеткой, не имеющей дефектов. Идеальный кристалл представляет собой выпуклый многогранник, набор граней которого определяется только структурой кристаллической решетки. Реальные кристаллы обычно содержат некоторые отклонения, называемые дефектами, в результате чего они достаточно редко имеют форму идеальных выпуклых многогранников, но, тем не менее, закономерности расположения граней и симметрия в них прослеживаются. В рамках данной работы мы будем рассматривать только идеальные кристаллы, поскольку все справочные и информационные ресурсы в интернет работают с графическими представлениями идеальных кристаллов.
Срастания различно ориентированных кристаллов называют кристаллическими агрегатами. Если речь идет об отдельном целостном кристалле, то употребляют термин монокристалл, указывая на то, что объект имеет единую кристаллическую решетку. В качестве альтернативы термину монокристалл часто используется термин индивидуум (или кристаллический индивидуум). В рамках данной работы рассматриваются только монокристаллы.
Кристаллооптика - дисциплина, посвященная всестороннему изучению взаимодействия кристаллов со светом [8]. Большинство кристаллов являются оптически анизотропными, т. е. по-разному взаимодействуют со светом в зависимости от направления, спектральных характеристик и поляризации падающего света. Для анизотропных кристаллов имеется понятие оптической оси. Бывают одноосные и двуосные кристаллы. Как правило, оптические оси показываются в привязке к граням, вершинам и центру масс кристалла. Существуют два основных метода для изучения анизотропии кристаллов.
• Ортоскопия, когда на шлиф (тонкая пластинка, вырезанная из кристалла или минерала, характерная толщина среза 0,01-0,3 мм) падает параллельный пучок поляризованного света, который затем проходит через второй поляризатор), после которого изображение регистрируется фотоаппаратом или глазом. Типичное изображение приведено на рис. 1, б.
• Коноскопия. На шлиф падает конус поляризованного света. Пример изображения на рис. 1, в.
Рис. 1. Изображения шлифа в поляризованном свете: а - положение среза; б - ортоскопия; в - коноскопия
Индикатрисы. Одним из основных объектов, с помощью которого описывают оптические свойства кристаллов, является индикатриса. Она представляет собой поверхность коэффициентов, например преломления, в зависимости от направления падающего света. В кристаллографии основное внимание уделяется индикатрисе преломления. Безусловно, возникает вопрос об оптической дисперсии, которая проявляется даже в изотропных кристаллах. Однако с практической точки зрения для исследователя-кристаллографа оказывается достаточным опираться на усредненные по длинам волн значения коэффициентов преломления в зависимости от направления, поскольку визуально дисперсионные эффекты в тонких срезах проявляются только на краях шлифа. Поэтому в кристаллографических системах для каждого минерала приводится только одна индикатриса. Для изотропных кристаллов индикатриса - это сфера, для одноосных кристаллов - эллипсоид вращения, для двуосных кристаллов - эллипсоид общего вида. Оптические оси анизотропных кристаллов совпадают по направлению с
б
а
в
нормалями к круговым сечениям индикатрисы, в наглядных пособиях, наряду с оптическими осями, обычно изображают оси индикатрисы в связке с осями кристаллографической системы координат.
Петрографический микроскоп - один из основных инструментов изучения кристаллов на основе их оптических свойств [5]. Он отличается от обычного микроскопа наличием различных поляризационных устройств, за счет которых с его помощью можно наблюдать оптические эффекты, являющиеся следствием анизотропии физических свойств кристаллов. С его помощью изучают тонкие срезы кристаллов или породы толщиной 0,01-0,3 мм (петрографические шлифы). Ортоскопические и коноскопические изображения шлифов, получаемые с его помощью (см. рис. 1), позволяют анализировать состав горных пород и определять минералы. Для эффективной работы со шлифами необходим большой опыт: специалист должен по интерференционной картине и форме сечения уметь определять кристалл, что требует понимания зависимости получаемых изображений от оптических свойств кристалла (положение оптических осей, разность коэффициентов преломления в сечении и т. д.).
Кристаллографические и минералогические
информационные системы и программы
Кристаллография имеет связи с различными научными дисциплинами. Она использует методики физического и химического анализа, тесно связана с геологическими науками. Однако наиболее прочную связь кристаллография имеет с минералогией, поскольку большинство известных минералов кристалличны. Кристаллографические данные о минералах являются неотъемлемой частью минералогических информационных систем (ИС). Минералогические базы данных являются основным ресурсом, вокруг которого формируется пакет программных средств, используемый в минералогической ИС и определяющий ее функциональность.
В сети Интернет существует множество ресурсов по кристаллографии и минералогии на различных языках. Наиболее представительные ресурсы, содержащие графические модули для визуализации кристаллографических данных, - это: Минералогические базы данных 1, Минералогический атлас 2, Минералогическая информационная система 3, Афинская минералогическая система 4, Кристаллографическая и кристаллохимическая база данных для минералов и их структурных аналогов 5, русскоязычный ресурс: веб-справочник или информационная справочная обучающая система «Кристалл» 6. Одним из наиболее популярных и полных ресурсов в сети Интернет является минералогический справочник Ральфа 7. Он представляет собой справочник по минералам, коллекциям минералов, месторождениям и другим минералогическим характеристикам, включает в себя подборки фотографий кристаллов различных минералов, электронные книги по минералогии на нескольких языках. Для каждого минерала имеется описание его характеристик:
• классификация, залегание минерала (глубина, условия);
• физические свойства (прочность, прозрачность, окраска, плотность, расщепление);
• кристаллографические параметры (сингония, группа симметрии, параметры кристаллографической системы координат, законы образования двойников);
• параметры элементарной ячейки кристаллической структуры;
• оптические свойства (изотропный или анизотропный);
• месторождения (география) и др.
С точки зрения графических средств минералогические ИС очень разнородны, практически используется показ заготовленных изображений (фотографий) и схем. Кристаллографические ресурсы более продвинуты - они позволяют в ряде случаев интерактивное исследование различных характеристик кристаллов. Несмотря на большое количество данных о
1 http://webmineral.com/
2 http://www.mineralienatlas.de
3 http://www.minmax.net/
4 http://un2sg4.unige.ch/athena/html/athome.html
5 http://database.iem.ac.ru/mincryst/
6 http://ggd.nsu.ru/Crystal
7 http://mindat.org
свойствах кристаллов, как правило, в информационных системах основное внимание в интерактивных моделях кристаллов уделяется идеальным монокристаллам и их форме, которые представляются в виде выпуклых многогранников.
Необходимо отметить, что имеется ряд программных продуктов, которые устанавливаются на платформе конечного пользователя и служат более узким целям - не минералогии вообще, а именно кристаллографии и кристаллооптике. Учитывая непрерывный рост производительности компьютеров и скорости передачи данных по сетям, интернет-аналоги этих продуктов в скором времени будут обеспечивать интерактивное время отклика на запросы, и, таким образом, функциональность минералогических ИС может быть расширена их функциональностью. Отметим наиболее продвинутые системы: Shape 7.2 8, KrystalShaper 9. В дальнейшем они будут рассмотрены подробнее.
И, наконец, нами были рассмотрены геометрические интерпретации и графические представления, применяемые в работах и учебниках по кристаллографии (на примере монографии [7]) и которые не используются в рассмотренных ресурсах. Ряд из них, которые вполне алгоритмизуемы и реализуемы с учетом современного развития вычислительной техники, также было решено включить в функциональность проектируемой библиотеки БКГС. Например, сферические проекции кристаллов. Конечно, за пределами библиотеки были оставлены многие графические представления кристаллов, например, фотореалистические изображения. Это связано с тем, что решение задачи физически корректной реалистической визуализации анизотропных сред и объектов в настоящее время относится к области фундаментальных исследований [4; 6].
В последних версиях ряда продуктов наблюдается расширение функциональности в сторону «роста кристаллов». В рамках эволюции ИСО «Кристалл» 6 нами также разрабатывалась подсистема геометрического моделирования роста кристаллических агрегатов. Более того, реализованная нами модель роста (см. [3; 9]), является первым примером реализованной корректной геометрической модели роста кристаллического агрегата. В процессе разработки и опытной эксплуатации нам стало ясно, что это должна быть совершенно самостоятельная система. Про предпринимавшиеся попытки эклектического встраивания подсистем роста кристаллов в систему кристаллографической визуализации, например в Shape 7.2, можно высказать следующее: предлагаемые модули основываются на росте в двумерном пространстве, что, возможно, имеет некоторый смысл для обучения, но совершенно некорректно физически при рассмотрении роста трехмерных кристаллов.
Уровень сложности графических примитивов
Что мы понимаем под наличием функции графического представления, например, формы кристалла? Можно сказать, что OpenGL, DirectX, Java3D и даже GDI позволяют рисовать любые трехмерные формы. Но они понимают эти формы лишь тогда, когда они заданы в виде набора граней. Это очень низкий уровень языка описания объекта для проблемной области, и очевидно, что кристаллограф не должен сам программировать все необходимые трехмерные представления кристалла вместе с аннотирующими элементами. Да и не сможет он вмешиваться внутрь кода программы. Наша гипотетическая библиотека графических функций должна включать геометрически и визуально довольно сложные примитивы, параметризованные на основе кристаллографических понятий.
Необходимо отметить, что многие средства работают в интерактивном режиме, когда пользователь оперативно (возможно при помощи мыши) меняет параметры визуализации исследуемой модели, например, ракурс. И, таким образом, реализация графических средств в виде интерактивных апплетов является совершенно естественной.
Визуализация формы кристаллов
Внешняя форма кристалла - здесь это некоторый выпуклый многогранник. Рассмотрим несколько примеров. Одним из наиболее распространенных в сети Интернет ресурсов является программный продукт JCrystal 10. Он реализован в виде java-апплета (JCrystalApplet) и
8 http://shapesoftware.com
9 http://www.jcrystal.com/products/krystalshaper/
10 http://jcrystal.com
Windows-приложения JCrystal. JCrystalApplet используется в ряде минералогических ИС, например, в Минералогической базе данных, Crystal Shape Laboratory п, Java Crystal Gallery 12. Он предназначен для визуализации готовых моделей, заданных в некотором внутреннем формате (рис. 2).
Рис. 2. 1Сгу81а1Арр1е1: визуализация формы кристалла
Существует несколько альтернатив 1Сгу81а1Арр1е1:, например, ресурс 8шогГ 13, который также реализован в виде java-апплета и используется в Минералогическом справочнике Д. Ральфа 7 для визуализации трехмерных моделей кристаллов минералов (рис. 3).
Рис. 3. БшогГ: визуализация формы кристалла с осями КСК и индексами Миллера у граней
Одним из наиболее интересных приложений для трехмерной визуализации геометрии кристаллов является Shape 7.2 8, которое имеет наибольшую функциональность в контексте графических представлений. Данный программный продукт прошел долгий путь эволюции с точки зрения наращивания мощности средств графического представления характеристик кристаллов. Он доступен в виде приложения для различных платформ (Windows, Linux, MacOs). В отличие от java-апплетов, которые только визуализируют кристаллы, Shape предоставляет возможность выбрать режим визуализации (каркасная модель, заливка граней, прозрачность и т. д.) и ракурс. Shape визуализирует элементы симметрии (центры, плоскости, оси) (рис. 4).
Плоскости симметри:
Центр симметрии
Оси симметрии
Рис. 4. Shape 7.2: визуализация формы одиночного идеального кристалла и элементов симметрии
11 http://www.crystalgrowing.com/crystal-lab/crystal-lab.htm
12 http://www.krystallzuechtung.de/galerie.htm
13 http://www.smorf.nl/
Рис. 5. ИСО «Кристалл»: динамическая подсветка граней, разным цветом изображены разные простые формы (светлые линии - ребра невидимых граней)
Замечание. Этот небольшой экскурс в реально используемые графические представления наталкивает на мысль, что формировались они эволюционно, т. е. добавлялись в функциональность программы эпизодически, по мере необходимости. Видно, что мощность графических средств у разных систем сильно различается. Рассматривая используемые изображения, можно сделать замечание об их реализации. Видно, что проектировались конкретные изображения, например, внешняя форма с осями КСК, с индексами Миллера (см. рис. 3). Разрабатывался и программировался конкретный алгоритм визуализации такого представления с учетом возможного удаления невидимых элементов. Как правило, такие реализации почти не поддаются модификациям, т. е. если разработчик задумал ввести еще какое-либо представление, ему придется провести для него всю разработку целиком.
Развертка на плоскости
В ресурсе KrystalShaper 9 предоставляется возможность посмотреть многогранник кристалла в виде его плоской развертки типа «выкройки» (рис. 6). Такое изображение не может быть получено при помощи стандартной визуализации полной геометрической модели через OpenGL. В связи с тем, что оно очень информативно, его необходимо включить в конструируемую библиотеку.
Рис. 6. К^ЫБИарег: плоская развертка формы кристалла Кристаллографические проекции
Наряду со стандартным представлением формы кристаллов в виде многогранников, используются также различные кристаллографические проекции: сферические, стереографические, гномостереографические и гномонические проекции (см. [7]). Большинство этих проекций строятся с помощью полярного комплекса - набора векторов единичной длины, выходящих из одной точки и совпадающих с направлениями векторов нормалей к граням кристалла (см. рис. 7, а). Точки - концы этих векторов на сфере - образуют сферическую проекцию. В принципе можно получить сферическую проекцию всего многогранника, а не только векторов нормалей к граням.
Рис. 7. Графическое представление ромбического додекаэдра: б - изображение совместно с нормалями; в - изображение совместно с
а - его полярный комплекс; нормалями и сферической проекцией
Сферическая проекция кристалла (и любой другой поверхности) хотя и наглядна, но трудна в ручном исполнении, поэтому кристаллографы традиционно применяют ее проекцию на плоскость и используют стереографическую или гномостереографическую проекцию.
Рис. 8. Построение стереографической проекции на экваториальную плоскость [7]
Стереографическая проекция получается из сферической проекции с помощью отображения на некоторую плоскость. Наиболее распространенной в кристаллографических интернет-ресурсах является гномостереографическая проекция (часто ее называют просто стереографической). Она представляет собой стереографическую проекцию полярного комплекса кристалла на экваториальную плоскость. Причем на чертеже часто отображаются не только нормали к граням, но и специальные образы элементов симметрии. В гномонических проекциях в качестве проекционной плоскости используют не экваториальную, а касательную к сфере плоскость.
Рис. 9. ИСО «Кристалл»: слева - внешняя форма кристалла; справа - гномостереографическая проекция с элементами симметрии
Рис. 10. Слева - внешняя форма кристалла; справа - представление внешней формы на сетке Вульфа (Кгуз1а18Ьарег 9)
В качестве дополнения к (гномо-)стереографическим проекциям кристаллов для решения различных практических задач используют координатную сетку Вульфа, которая является стереографической проекцией системы параллелей и меридианов сферы на плоскость одного из меридианов. С ее помощью можно как построить стереографическую проекцию, так и восстановить по ней сферические координаты точки или измерить угловое расстояние между точками и т. д.
Гномостереографические проекции кристаллов (иногда вместе с сетками Вульфа, иногда без) реализованы во многих минералогических и кристаллографических системах (см. рис. 11). Эта проекция является наиболее удобным способом представления формы любого идеального и реального кристаллического многогранника и изучения его симметрии. Таким образом, включение алгоритмов расчета и визуализации гномостереографических проекций в набор средств проектируемой библиотеки БКГС является очевидным. Несмотря на простоту и наглядность, сферические проекции совсем не представлены в минералогиче-
ских и кристаллографических интернет-ресурсах. Но поскольку они являются одним из этапов получения стереографической и гномостереографической проекций, их реализация в библиотеке становится логичной.
Элементарная ячейка
Важной особенностью кристаллов является кристаллическая решетка. Она определяет все свойства, которые выделяют ее в обособленный класс объектов. Кристаллохимия - это специальный раздел кристаллографии, занимающийся изучением структуры и свойств кристаллической решетки. Одно из основных понятий кристаллохимии - это элементарная ячейка, которая представляет собой наименьший по объему параллелепипед, внутри и в узлах которого располагаются атомы или молекулы, и повторение которого в пространстве позволяет восстановить структуру кристаллической решетки [1; 7]. Элементарная ячейка - это своего рода инвариант и точка привязки, поскольку она выбирается так, чтобы ее симметрия совпадала с симметрией кристалла в целом. Ребра элементарной ячейки фиксируют базис кристаллографической системы координат. Поэтому в информационных ресурсах, как по кристаллографии в целом [ИСО «Кристалл» 1, Минералогические базы данных 2 7, К^а1-8Ьарег 9], так и специализированных по кристаллохимии (МГКСЯУ8Т 5), элементарной ячейке уделяется особое внимание.
Элементарная ячейка описывает минимальный блок химической структуры кристаллической решетки, и ее часто изображают в виде отдельного параллелепипеда, внутри которого располагаются атомы-шарики со связями или их координационные многогранники. Такой способ отображения является стандартным для систем визуализации химических структур, например, Я^Мо1 14 или 1Мо1 15 (см. рис. 11), которые и используются в существующих минералогических системах. Программные системы этого класса достаточно хорошо разработаны и, с нашей точки зрения, представляют особый специализированный уровень - они должны исполь- Рис. ц злементарная ячейка зоваться для детального изучения химического строения ве- кальцита - форма, атомы и связи 7 ществ на микроуровне. Средства проектируемой гипотетической библиотеки не должны с ними конкурировать, а являться логическим продолжением на макроуровень, когда элементарная ячейка рассматривается как неделимый объект. И в действительности, хотя некоторые информационные системы используют собственные средства визуализации элементарной ячейки (например, см. М1КСЯУ8Т), все они отличаются тем, что представляют ее как отдельный объект.
4
Рис. 12. Блочная застройка формы кристалла: слева - Кгу81а18Иарег 9; справа - разрабатываемая библиотека
В рамках комплексного подхода к рассмотрению кристаллов и их свойств, наиболее полезной представляется связка микроскопических (элементарная ячейка) и макроскопических (внешняя форма) параметров. Это позволило бы продемонстрировать то, что симметрия эле-
14 М1р://%г№мг.ита88.е(1и/т1сгоЬю/га8то1/
15 http://jmo1.sourceforge.net/
ментарной ячейки и кристалла как макроскопического объекта совпадают, или позволило бы с некоторой точностью представить, как бы выглядела форма кристалла при ее рассмотрении под микроскопом (так называемая блочная застройка формы кристалла). Большинство систем этот комплексный подход не реализуют. Исключение составляет система KrystalShaper 9, в которой имеется визуализация блочной застройки, но в данном случае элементарные ячейки представляются в виде сплошных параллелепипедов (рис. 12).
Петрографический микроскоп
Петрографический микроскоп - это сложное устройство, и для эффективной работы с ним необходим большой опыт: специалист должен по интерференционной картине и форме сечения уметь определять кристалл, понимать, как расположена оптическая ось по отношению к сечению и многое другое. В результате возникает целый набор объектов, которые формируют компьютерную модель петрографического микроскопа: оптические оси, плоскость сечения кристалла (шлифа), индикатриса и ее расположение по отношению к сечению, таблица Мишеля - Леви (см. ниже). В кристаллографии сформировались своего рода стандарты графического представления многих объектов и их комбинаций, в том числе и перечисленных выше, что должно быть учтено при разработке графической библиотеки. Следует отметить, что определенное количество интернет ресурсов, связанных с минералогией или микроскопией в целом, предоставляют возможность обучиться работе с петрографическим микроскопом, например, Optical Microscopy Primer 16 и Nicon MicroscopU 17, но посредством эмуляции, а не моделирования. Под эмуляцией в данном случае подразумевается система или отдельное приложение, которое содержит в себе ограниченный набор фотографий реальных объектов и средств «переключения» между снимками. Модель же в противовес эмуляции предоставляет интерфейс виртуального микроскопа, позволяющий выбрать условия наблюдения (ортоскопия, коноскопия, ракурс, спектр источника света и т. д.) и сам объект - конкретный кристалл. Нельзя не отметить системы, предназначенные для моделирования оптических эффектов, наблюдаемых с помощью петрографического микроскопа (например, петрографический микроскоп Г. Брейтенбаха 18). Они позволяют рассчитывать на основе заданных физических величин изображения, правда, не кристалла, а анизотропной среды. Основным недостатком таких систем с кристаллографической точки зрения является отсутствие связи с конкретными кристаллами, которая особенно важна в процессе обучения. Таким образом, в настоящий момент ощущается явный недостаток физически корректных интерактивных моделей петрографического микроскопа - виртуального петрографического микроскопа.
В процессе обучения требуется много шлифов, чтобы наработать качественный навык определения минералов по срезам. Поэтому в данной области в последнее время наметилась тенденция использования в первую очередь компьютерных моделей, а уже затем реальных образцов. Так как основной задачей является определение каждого отдельного кристалла, то в рамках компьютерной модели достаточно предоставить срезы одиночных кристаллов, которые с точки зрения геометрии представляют собой выпуклые многогранные призмы, высота которых несопоставимо мала с поперечными размерами.
Анизотропия оптических свойств и оптические индикатрисы
Большинство кристаллов является оптически анизотропными. Это означает, что они по-разному взаимодействуют со светом в зависимости от направления падающего света и его характеристик. К наиболее ярким проявлениям анизотропии можно отнести двулучевое преломление (луч падающего света делится на два луча внутри кристалла), плеохроизм (зависимость коэффициентов поглощения от направления и поляризации падающего света).
С помощью петрографического микроскопа изучают интерференционные картины, которые являются следствием двулучевого преломления. Поэтому анизотропное преломление
16 http://micro.magnet.fsu.edu/primer/virtual/virtual.html
17 http://www.microscopyu.com/tutorials/java/polarized/polarizerrotation/
18 http: //gerdbreitenbach.de/cry stal/cry stal.html
является наиболее изученным, и во многих минералогических системах хранятся данные о коэффициентах преломления многих кристаллов.
Основным средством описания анизотропного преломления является индикатриса преломления - характеристическая поверхность тензора диэлектрической проницаемости, которая является эллипсоидом общего вида. С помощью индикатрисы можно определить коэффициенты преломления и направления колебаний света в кристалле в зависимости от направления падающего света. В минералогических системах обычно хранятся коэффициенты в направлении главных осей эллипсоида. Если кристалл изотропный, то хранится один коэффициент (^), если одноосный - два (обозначаются как ^ > Ыр ). Для двуосных кристаллов хранятся три коэффициента преломления (Ng > Ыт > Ыр) и может быть указан угол между оптическими осями 2V (рис. 13).
/ '
А f F" V 1 щ V л rVi' 4Т\ г \ йй
\ пт 3 ! 1 1 V 1 \ ' / V / j.Jr
/ "в \
Рис. 13. Индикатриса преломления - классическое кристаллографическое представление в литературе
Поскольку библиотека БКГС реализует комплексное представление кристалла, в ней должна быть представлена связь формы кристалла с ориентацией оптической индикатрисы и оптических осей, что может быть очень полезным при изучении влияния положения индикатрисы на изображения, наблюдаемые в микроскопе.
Таблица Мишеля - Леви
В таблице Мишеля - Леви [8] последовательно отображаются переходы интерференционных цветов, наблюдаемые в петрографическом микроскопе при изменении толщины среза. Последовательность цветов сохраняется для всех анизотропных кристаллов, но при этом для каждого кристалла зависимость цвета от толщины уникальна, что позволяет использовать ее для определения минералов. Таблица Мишеля - Леви особенно активно используется на этапе начального обучения, когда студенту необходимо накопить достаточный опыт определения цветов и запомнить зависимости цвета от толщины среза для кристаллов различных минералов, что делает ее неотъемлемой частью компьютерной модели петрографического микроскопа.
В^е^пдйпсе [г] - п„)
First Order Second Order Third Order Fourth Order Fifth Order Sixth Orcsr 100 300 500 566 700 900 1130 1300 1500 1090 1900 2100 2205 2500 2700 2820 3100 Wavelength
Path Interference
Birefringence Thickness Difference Color
I 0.02 I I 0.05 mm I I 12D0 tirri I ГП
Third Order I—I
Рис. 14. Таблица Мишеля - Леви 19
19 http://www.microscopy.fsu.edu/primer/java/polarizedlight/michellevylarge/index.html
Сравнительная характеристика минералогических и кристаллографических ресурсов и программ
Ресурс КСК Группы симметр. 3D форма СТП Выкройка Эл. ячейка Блочная застройка Оптика
Эл-ты симм. Индексы Миллера Эл-ты симм. Атомные связи Индикатрса Ортоскопия Коно-скопия
Mineralogy Database - http://mindat.org + + использует Smorf - - - Jmol + cif- модели Главные коэфф. преломления в текст. виде только таблица Мишеля - Леви с диапазоном возм. цветов -
Shape 7.2 - http://shapesoftware.com + + + + + + + - - -
Мин. атлас - http://webmineral.com + + использует Smorf предоставляет только текстовые описания
Мин. инф. сист - http://minmax.net, Афинская минерал. БД -http://un2sg4.unige.ch/athena/html/athome.html предоставляют только текстовые описания и ссылки на внешние ресурсы типа [7]
MINCRYST - http://database.iem.ac.ru/mincryst/ + + - - - + + - - - -
Smorf - http://www.smorf.nl + не-изв. + - + - - - - - - - -
KrystalShaper - http://www.jcrystal.com/products/krystals haper/ + + + - + + - + - - + - - -
Jmol - http://jmol.sourceforge.net + + + + - - - -
G. Breitenbach petrographic microscope - http://gerdbreitenbach.de/crystal/crystal.html тензор в текст. виде - +
Cif - file format - http://www.iucr.org/resources/cif/ + + + + - - - -
ИСО «Кристалл» -http://ggd.nsu.ru/Crystal + + + - + + + - + - - + + +
Анализ и обобщение
В таблице приведена общая картина в рассматриваемой области. По сути, это сравнение наиболее известных и популярных минералогических и кристаллографических ресурсов и программ по использованию ими графических представлений при визуализации данных о кристаллах.
Таким образом, рассмотрев функциональность всего множества средств научной визуализации в области кристаллографии и минералогии, мы пришли к выводу, что, следуя [12], они формировались по эволюционному пути, т. е. новые возможности (здесь - новые графические представления) добавлялись в пользовательский интерфейс и функциональность программы эпизодически, по мере необходимости и в зависимости от мощности доступной вычислительной техники, графического оборудования и графических библиотек. Также в [12] отмечалось, что на определенном этапе развития продукта необходимо делать революционный скачок, т. е. целиком пересматривать принципы формирования структуры программного продукта, включая его пользовательский интерфейс.
Отметим, что нельзя проследить наличие какой-либо общей модели, лежащей в основе всех рассмотренных графических представлений. Аналогично и в нашем коллективе присутствовал указанный эволюционно-эпизодический подход в течение более чем 10-летней разработки графической функциональности информационной справочной системы (ИСО) «Кристалл». К настоящему времени этот интернет-ресурс предоставляет достаточно богатый набор средств, а цель данной работы - сделать революционный скачок в его развитии: мы поставили задачу создать единую модель для научной визуализации в рассматриваемой области кристаллографии.
Исходные данные
Исходный набор данных о конкретном кристалле является вполне обозримым. В качестве примера возьмем данные по кристаллу кальцита (из ИСО «Кристалл»). Здесь первый символ строки идентифицирует данные.
0 1 1 0.8543// длины векторов репера КСК а 90 90 120 // углы между осями КСК
8 -3т // группа симметрии
1 0 1 2 1.55 // индекс Миллера простой формы и
i 2 1 4 1.5 // расстояние грани от центра симметрии i 2 1 1 1 i 4 0 1 1.1
тё // индикатриса
1 1.658400 1.658400 1.486500 // главные коэффициенты преломления ах 1.000000 0.000000 0.000000 // орты осей эллипсоида ах 0.000000 1.000000 0.000000 ах 0.000000 0.000000 1.000000 е // конец описания
В других ресурсах содержатся аналогичные данные. К этим данным следует добавить также упомянутую в таблице ^-модель 20, из которой нам понадобятся координаты расположения атомов в элементарной ячейке и связи между ними. Для полноты и с прицелом на дальнейшее развитие надо добавить данные об абсорбции, о которой в рассмотренных ресурсах есть только текстовое название цветов, хотя имеются и более подробные данные, см. [2]. Вполне достаточно специфицировать их при помощи индикатрисы, которую будем называть индикатрисой поглощения.
Геометрическое представление
Геометрическая модель кристаллографических понятий строится на наборе геометрических конструктивных элементов для понятий и объектов, введенных выше: внешняя форма
20 Шр ://www.iucr.org/resources/cif/
(граневая модель), каркас (реберная модель внешней формы), плоскость, грань, ребро, вершина, нормаль (вектор), плоскость, индикатриса (эллипсоид), сфера, ось, элементарная ячейка (параллелепипед, точки, связи-отрезки). Этим набором геометрических примитивов мы можем охарактеризовать все рассмотренные выше представления. В то же время очевидно, что такие понятия, как плоскость, не представимы геометрически и графически. Для этого используются традиционные подходы, например, представление плоскости в виде некоторого многоугольника.
Мы предлагаем следующий подход к визуализации данных о кристалле.
1. Построение геометрической метамодели кристалла на основе исходных данных.
2. Построение геометрического представления кристалла (ГПК).
3. Задание геометрического представления элементов ГПК.
4. Спецификация материалов (цвет, текстура и т. п., см. [11]) и типа отображения элементов, т. е. уточнение графического представления элементов ГПК.
5. Определение способа проецирования и выбор камеры.
6. Добавление специфических графических элементов.
Построение геометрической метамодели кристалла
Геометрическая метамодель кристалла - это набор геометрических примитивов для конкретного кристалла в трехмерном пространстве. Данная метамодель рассматривается в правосторонней декартовой системе координат (мировой СК) XYZ , начало которой находится в центре масс кристалла. Элементы метамодели.
• Центр симметрии - точка.
• Оси мировой СК XYZ .
• Оси кристаллографической СК ABC.
• Описанная сфера - это сфера с центром в начале координат, описанная вокруг многогранника кристалла. Радиус R этой сферы служит единицей измерения для задания различных размеров и положений.
• Внешняя форма - набор простых форм.
• Простая форма - набор граней, соответствующих одному индексу Миллера (ИМ) в описании кристалла. Все простые формы индексируются порядковым номером ИМ в описании.
• Грань - пространственный многоугольник, специфицированный ИМ.
• Каркас - реберное представление формы кристалла.
• Оси симметрии.
• Плоскости симметрии.
• Оптические оси O1 и O2, если есть.
• Нормали граней.
• Полярный комплекс - набор всех нормалей граней, выходящих из одной точки.
• Вектора скоростей роста граней в идеальных условиях.
• Элементарная ячейка (ЭЯ). Размеры ЭЯ.
• Атомы ЭЯ. Координаты относительно ячейки.
• Связи между атомами.
• Сфера для сферической проекции. Как правило, описанная сфера.
• Семейство параллелей и меридианов на сфере (для сетки Вульфа).
• Индикатриса преломления.
• Индикатриса поглощения.
• Плоскость сечения индикатрисы.
• Круговые сечения индикатрисы, очень важны в случае двуосных кристаллов. Нормали к круговым сечениям индикатрисы совпадают с направлениями оптических осей.
• Плоскость для стереографической проекции. Порт изображения стереографической проекции. Порт - это прямоугольник в пространстве (в мировой СК), на котором размещается требуемое изображение.
• Плоскость для гномостереографической проекции. Порт изображения гномостерео-графической проекции.
• Плоскость развертки.
• Плоскость шлифа. Порт изображения шлифа.
• Порт изображения ортоскопии шлифа.
• Порт изображения коноскопии шлифа.
• Порт таблицы Мишеля - Леви.
Отметим, что все эти элементы показывают максимально возможный набор геометрических элементов, которые пользователь может применять в своем представлении кристалла. Часть из них уже может быть рассчитана на основе исходных данных, другие просто резервируются, поскольку требуют дополнительных спецификаций пользователя, например, выбор конкретной плоскости шлифа.
Промежуточный этап построения геометрического представления кристалла
На данном этапе из элементов метамодели строится вспомогательная геометрическая конструкция (ВГК). Те элементы, которые включаются, привязываются к требуемым (задаваемым пользователем) местам в пространстве. При этом один элемент может входить в конструкцию несколько раз. Например, нормаль грани может быть привязана к началу координат, центру грани, другому заданному пользователем месту. Оси могут быть привязаны к началу координат или к центру какой-либо грани, или к вершине и т. д. Другими словами, экземпляр оси привязывается к тому месту, к которому приковано внимание пользователя. Ограничений нет, поскольку предполагается, что пользователем управляет здравый смысл. Очевидно, что грани кристалла располагаются единственным образом. Для ЭЯ также возможны варианты: одна, несколько, блочная застройка внешней формы.
На этом этапе все пользовательские параметры должны быть определены.
Уточнение геометрического представления кристалла
Теперь для всех элементов конструкции ВГК специфицируется их геометрическая форма и размеры. Всем элементам одного типа может быть назначена единая форма либо каждому своя. Например, ось A будет представлена отрезком, а ось B - в виде телесной стрелки. Напомним, что все размеры назначаются в процентах от радиуса R. По окончанию данного этапа мы должны получить описание всей геометрии пространственной сцены, которую в дальнейшем будет наблюдать пользователь.
Вершины и точки - точки, сферы.
Векторы, оси - отрезок, цилиндр, цилиндр с конусом (телесная стрелка).
Грань - ребра границы, сплошная грань, оба типа вместе. Можно специфицировать показ индекса Миллера - надо установить признак ИМ.
Ребра - это отрезки или цилиндры.
Элементарная ячейка. Поскольку это параллелепипед, то его грани и ребра можно специфицировать аналогично граням и ребрам кристалла. Именно на данном этапе в случае блочной застройки определяются все параллелепипеды, входящие в застройку. Атомы -вершины, связи - ребра.
Ось симметрии, оптическая ось - отрезок, вектор, цилиндр, телесная стрелка.
Плоскость симметрии - правильный многоугольник, лежащий в этой плоскости - грань.
Нормаль грани, вектор скорости роста граней - вектор.
Индикатриса - эллипсоид как сплошная либо проволочная (сетка параллелей и меридианов) поверхность. Традиционно эллипсоиды изображаются несколько «неверно», для того чтобы показать отличие их от сферы. Для этого пользователь может задать поправочные коэффициенты, например, если полуоси различаются всего на 1 %, он может потребовать визуальную разницу в 30 %.
Плоскость сечения индикатрисы и круговые сечения добавляют в модель пространственные многоугольники, приближающие линии пересечения плоскостей с эллипсоидом. Хотя эти элементы привязаны по месту к эллипсоиду, они могут быть помещены в модель без самого эллипсоида.
Сфера для сферической проекции - сплошная либо проволочная поверхность.
Сетка Вульфа - проволочная поверхность.
Плоскость для стереографической проекции. Выбирается ее положение, строится проекция, осуществляется выбор порта в сцене, полученное изображение используется как текстура для прямоугольника порта. Сам порт геометрически представляется аналогично грани, т. е. с наличием граничных ребер или без них и т. д.
Аналогично в сцену добавляются: плоскость и порт для гномостереографической проекции, плоскость и порт развертки, плоскость шлифа и порты изображения ортоскопии шлифа, порт изображения коноскопии шлифа, порт таблицы Мишеля - Леви. Добавление какого-либо из портов означает автоматический расчет изображения требуемой текстуры.
Таким образом, ГМК (геометрическая модель кристалла) сформирована полностью.
Завершение задания сцены и рендеринг
Материалы мы понимаем здесь даже более широко, чем в [11], не только цвет и гладкость, но и типы и толщины линий. Отрезок специфицируется цветом, прозрачностью, типом и толщиной линии. Сплошные поверхности специфицируются цветами внешней и внутренней поверхности, прозрачностью и т. д. Эти спецификации полностью определяются возможностями используемой графической библиотеки: OpenGL, DirectX, Java3D и т. д.
Завершающий этап формирования сцены - это спецификация параметров камеры: положение в мировой СК, точка внимания, «вектор вверх», порт вывода всей сцены, см. [11].
Особенности рендеринга. При наличии в сцене граней с признаком ИМ осуществляется вывод индексов Миллера этих граней.
Заключение
При формировании функциональности нашей библиотеки БКГС мы выбрали подход, основанный на понятиях и объектах (см. Введение). В данном случае это формирование внешней формы со всеми элементами, которые представимы геометрически, и дальнейшая совместная визуализация формы кристалла, кристаллографических координатных осей, оптических осей, индикатрис, элементов симметрии, аннотация граней кристалла индексами Миллера. Ни одна из известных систем не реализует эти средства в полном объеме. А вот задачи собственно визуализации и удаления невидимых элементов должны решаться универсальной графической библиотекой - OpenGL и др.
Конечно, пользователь может собрать какой-то набор из представленных форм и визуализировать его, например, получить изображение, приведенное на рис. 15. Здесь трудно что-либо разобрать, но мы не ограничиваем общности. Ведь и на языке программирования можно написать синтаксически правильную, но практически бессмысленную программу.
Сложность задания определяется сложностью желаемой геометрической модели. Например, для получения коноскопии шлифа (см. рис. 1) достаточно: а) выбрать плоскость шлифа; б) порт изображения коноскопии шлифа расположить на плоскости XY; в) камеру выбрать в одном из стандартных положений. Для получения развертки (см. рис. 6): а) грани сделать сплошными; б) ребра представить отрезками; в) задать цвета простых форм; г) задать порт на плоскости XY; д) камеру выбрать в одном из стандартных положений.
Рис. 15. Совместная визуализация внешней формы кристалла и ряда характеристик
Отметим, что все эти параметры могут меняться пользователем в интерактивном режиме, но, как правило, настройка делается один раз и сохраняется между сеансами.
Мы утверждаем, что множество всех изображений кристалла, построенных на основе предложенной выше геометрической модели, мощнее, чем множество графических представлений,
используемых в известных минералогических ИС и кристаллографических ресурсах.
* * *
Авторы благодарят сотрудников кафедры минералогии и петрографии ГГФ НГУ С. З. Смирнова и В. П. Сухорукова за постоянное внимание к нашим разработкам, критику, консультации и внедрение реализованных программных средств в учебный процесс.
Список литературы
1. Бокий Г. Б. Кристаллохимия. М.: Наука, 1971.
2. БорнМ., Вольф Э. Основы оптики. М.: Наука, 1973. С. 653-662.
3. Бреднихина А. Ю. Геометрическое моделирование роста двух кристаллов на подложке // VIII Всеросс. конф. молодых ученых по математическому моделированию и информационным технологиям. Новосибирск: ИВТ СО РАН, 2007. С. 37.
4. Дебелов В. А., Caттapoв М. А. Расчет фотореалистических изображений сцен с кристаллами: проблемы и пути решения // Вычислительные технологии. Т. 9; Вестн. КазНУ им. Аль-Фараби. Серия: Математика, механика, информатика. N 3 (42). Алматы-Новосибирск, 2004. С. 160-166.
5. Дебелов В. А., Рубцова А. Ю., Смирнов С. З. Компьютерная модель петрографического микроскопа // Тр. XVI Междунар. конф. по компьютерной графике и ее приложениям Гра-фикон-2006. Новосибирск: ИВМиМГ СО РАН, 2006. C. 298-302.
6. Дебелов В. А., Саттаров М. А. Проблемы реалистической визуализации кристаллов // Тр. XIII Междунар. конф. по компьютерной графике и зрению Графикон-2003. М.: МГУ, 2003. С.221-227.
7. ШаскольскаяМ. П. Кристаллография. М.: Наука, 1984.
8. Шубников А. В. Оптическая кристаллография. М.: Изд-во АН СССР, 1950.
9. Brednikhina A., Debelov V. A. On a Geometric Model of CrystalG on a Flat Substrate // Journal of Crystal Growth. Vol. 311. Amsterdam: Elsevier, 2009. P. 666-669.
10. Debelov V. A., Devyatova A. Yu., Smirnov S. Z., Zhmulevskaya D. R. Technological Aspects of Development of the Web-trainer on Crystallography // Тр. XIII Междунар. конф. по компьютерной графике и зрению Графикон-2003. М.: МГУ, 2003. C. 192-195.
11. Foley J., Van Dam A. et al. Computer Graphics Principles and Practice. Addison Wesley, 1990.
12. Hartson H. R., Hix D. Human-Computer Interface Development. Concepts and Systems for its Management // ACM Computing Surveys. 1989. Vol. 21, No. 1. P. 5-92.
Материал поступил в редколлегию 20.05.2009
A. Yu. Brednikhina, V. A. Debelov
ANALYSIS AND GENERALIZATION OF FUNCTIONALITIES FOR SCIENTIFIC VISUALIZATION
IN THE AREA OF CRYSTALLOGRAPHY
The given work is devoted to the survey of graphical representations that are used in education and researches in the areas of crystallography and crystal optics and belong to functionalities of known mineralogical and crystallographic Internet-resources. The survey concerns, as ut is shown in the paper, to the following set of notions: 3D shape of a crystal, Miller's indices, center / axes / planes of symmetry, an elementary cell and a crystal lattice, forms, optical axes, indicatrices, orthoscopic and conoscopic views of thin sections, etc. Only ideal monocrystals are considered as all learning and information resources in Internet produce graphical representations of idial crystals. Basing on the presented analysis and more than a decade of the development of Internet-resourse «Crystal» authors suggest and justify their approach to construction of the library for scientific visualization in areas of crystallography and crystal optics.
Keywords: scientific visualization, Internet-resourse, crystal, crystallography, crystal optics, graphical representation, orthoscopy, conoscopy.