Библиотека LIAC: расчёт взаимодействия луча света с кристаллами

Тип разработки: 
Программа
Регистрационный номер в ФАП: 
PR14011
Дата регистрации в ФАП: 
2014-06-26
Тематическая направленность: 
Компьютерная графика. Фотореалистическая визуализация. Лучевая трассировка
Разработчики программы (базы данных): 
Аннотация: 

Назначение: Библиотека LIAC (Light Interaction with Anisotropic Crystals) предназначена для расчёта фотореалистических изображений прозрачных и полупрозрачных (цветных прозрачных) изотропных, одноосных и двуосных монокристаллов и кристаллических агрегатов с помощью алгоритмов лучевой трассировки. Данная библиотека является первой библиотекой, позволяющей рассчитывать фотореалистические изображения двуосных кристаллов и одноосных кристаллических агрегатов.

Библиотека реализует расчёт взаимодействия луча света с изотропными и анизотропными прозрачными и полупрозрачными монокристаллами и кристаллическими агрегатами.

Библиотека позволяет рассчитывать следующие оптические эффекты:

  • дисперсия света
  • двойное лучепреломление
  • коническая рефракция
  • плеохроизм

Область применения: Компьютерная графика. Фотореалистический рендеринг (расчёт изображений близких к фотографии) монокристаллов и кристаллических агрегатов.

Используемый алгоритм: 

Для расчёта отражённых и преломлённых лучей, возникающих при падении луча на границу сред в кристаллах используется модель, разработанная автором на основе ковариантного метода, предложенного в [1] и получившего распространение в кристаллооптике, и методах, применяемых в компьютерной графике для физически корректного расчёта распространения луча света в сцене. Для представления поляризации луча света применяются матрицы когерентности. Для расчёта поглощения луча используется модель Бугера-Ламберта-Бера, а коэффициент поглощения для заданного луча света, с заданным состоянием поляризации и направлением распространения, вычисляется на основе модели из [2]. Разработанные автором модели и алгоритмы описаны в работах [3], [4], [5].

[1] Фёдоров, Ф.И. Отражение и преломление света прозрачными кристаллами / Ф.И. Фёдоров, В.В. Филиппов. – Минск: Наука и техника. – 1976.

[2] Борн, М. Основы Оптики. / М. Борн, Э. Вольф. – М.: Наука. – 1973.

[3] Дебелов, В.А. Локальная модель взаимодействия света с изотропными и одноосными прозрачными средами / В.А. Дебелов, Д.С. Козлов // Вестник НГУ: Информационные Технологии. – 2012. – Т. 10. – № 1. ­– С. 5–23.

[4] Debelov, V. A. A Local Model of Light Interaction with Transparent Crystalline Media / V.A. Debelov, D.S. Kozlov // IEEE Transactions on Visualization and Computer Graphics. – 2013. – Vol. 19. – No. 8. – P. 1274–1287.

[5] Дебелов, В.А. Алгоритм фотореалистического рендеринга окрашенных полупрозрачных кристаллов / В.А. Дебелов, Д.С. Козлов // Информационные технологии в проектировании и производстве. – 2014. – № 2. – С. 25–30.

Функциональные возможности:

Используемые объекты:

Описание луча: точка начала, вектор направления распространения, матрица когерентности и система координат, связанная с лучом, в которой задана матрица когерентности.

Описание прозрачной среды: главные спектры преломления (один спектр для изотропной среды, два спектра для одноосной, три спектра для двуосной), направления оптических осей (одна ось для одноосной среды, две бинормали или две бирадиали для двуосной среды).

Описание полупрозрачной среды: описание прозрачной среды и главные спектры поглощения (один спектр для изотропной среды, два спектра для одноосной, три спектра для двуосной).

Описание геометрии границы: нормаль к границе в точке падения луча.

Основные функции:

1.       Расчёт всех отражённых и преломлённых лучей, возникающих при падении луча на границу двух изотропных, одноосных или двуосных сред (в любой комбинации), т.е. расчёт взаимодействия луча света с внешними и внутренними границами сред в монокристаллах и кристаллических агрегатах, см. CLIACInterface::interactWithRay.

2.       Расчёт поглощения луча света при прохождении им заданного расстояния в изотропной, одноосной или двуосной среде, т.е. расчёт изменения луча при прохождении им расстояния между границами сред в кристаллах, см. ILIACMedium::passThroughMedium.

Ограничения функциональности:

Поглощение луча света в двуосных кристаллах рассчитывается физически корректно только для кристаллов ромбической кристаллической системы. Для кристаллов моноклинной и триклинной кристаллических систем представленный расчёт может рассматриваться как аппроксимация физически корректного решения.

Для описания спектров и работы с ними используется разработанная автором библиотека CIE, идущая в комплекте с библиотекой LIAC.

Инструментальные средства создания: Microsoft Visual Studio 2013, язык программирования C++.

Описание файлов:

1.    LIAC_Library.zip – содержит следующие папки:

a.    Help – справочные файлы по API библиотек LIAC и CIE.

b.    Include – заголовочные файлы библиотек LIAC и CIE.

c.     Lib – библиотечные модули, собранные компилятором Visual C++ версии 18 (Visual Studio 2013).

d.    Samples – примеры использования библиотеки:

      Пример 1.     InterfaceInteraction – расчёт отражённых и преломлённых лучей на границах: вакуум (изотропная среда) – стекло (изотропная среда), вакуум – кальцит (одноосная среда), вакуум – оксалат аммония (двуосная среда), кальцит – оксалат аммония, оксалат аммония – оксалат аммония (с различной ориентацией кристаллической решётки).

      Пример 2.     ConicalRefraction – расчёт изображения внутренней конической рефракции на монокристалле оксалата аммония.

      Пример 3.     CrystalRendering – расчёт изображения трёхмерной сцены содержащей одноосный монокристалл.

Изображения, рассчитанные с помощью библиотеки:

1. Двойное кольцо внутренней конической рефракции на монокристалле оксалата аммония (результат работы Примера 2):

2. Изображение трёхмерной сцены, включающей в себя одноосный монокристалл (результат работы Примера 3). На изображении хорошо заметен эффект двойного лучепреломления:

Результаты тестирования библиотеки доступны: http://oapmg.sscc.ru/temp_crystal_tests/

Версия регистрируемой программы (базы данных): 
1.0.1 (библиотека обновлена 24.07.2014)
Использованные при разработке материалы: 
Материалы, являющиеся объектами авторского права, не использовались.
Признак доступности программы (базы данных): 
полностью свободный доступ
Требования к аппаратным и программным средствам: 

Microsoft Windows
Visual Studio 2013

Контактная информация: 
kozlov@oapmg.sscc.ru
ВложениеРазмер
conicalrefraction.png14.77 КБ
crystalrendering.png35.9 КБ
liac_library.zip3.71 МБ