На правах рукописи Козлов Дмитрий Сергеевич МОДЕЛЬ ВЗАИМОДЕЙСТВИЯ СВЕТА С ПРОЗРАЧНЫМИ КРИСТАЛЛАМИ ДЛЯ ФОТОРЕАЛИСТИЧЕСКОГО РЕНДЕРИНГА 05.13.18 – Математическое моделирование, численные методы и комплексы программ Автореферат диссертации на соискание учёной степени кандидата технических наук Новосибирск – 2014 Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Новосибирский национальный исследовательский государственный университет» (Новосибирский государственный университет, НГУ). Научный руководитель: доктор технических наук, старший научный сотрудник, Дебелов Виктор Алексеевич Официальные оппоненты: Волобой Алексей Геннадьевич доктор физико-математических наук, доцент, Отдел компьютерной графики и вычислительной оптики Федерального государственное бюджетного учреждения науки Институт прикладной математики им. М.В. Келдыша Российской академии наук, ведущий научный сотрудник Долговесов Борис Степанович кандидат технических наук, Лаборатория синтезирующих систем визуализации Федерального государственного бюджетного учреждения науки Институт автоматики и электрометрии Сибирского отделения Российской академии наук, заведующий лаборатории Ведущая организация: Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук (ИАПУ ДВО РАН) Защита состоится 30 июня 2014 года в 15 часов на заседании диссертационного совета Д 003.061.02 на базе Федерального государственного бюджетного учреждении науки Институт вычислительной математики и математической геофизики Сибирского отделения Российской академии наук (ИВМиМГ СО РАН) по адресу: 630090, г. Новосибирск, проспект Академика Лаврентьева, 6. С диссертацией можно ознакомиться в библиотеке и на сайте Федерального государственного бюджетного учреждения науки Институт вычислительной математики и математической геофизики Сибирского отделения Российской академии наук, www.sscc.ru. Автореферат разослан «29» апреля 2014 года. Учёный секретарь диссертационного совета Д 003.061.02 на базе ИВМиМГ СО РАН, д.ф.-м.н. Сорокин Сергей Борисович ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность темы. Фотореалистическим рендерингом называют процесс расчёта фотореалистического изображения трёхмерной сцены, т.е. изображения близкого к фотографии сцены. Данная работа посвящена фотореалистическому рендерингу прозрачных изотропных и анизотропных кристаллов, т.е. твёрдых тел, атомы, молекулы или ионы в которых формируют периодическую пространственную структуру – кристаллической решётку (КР). Монокристаллы имеют единую решётку, а кристаллические агрегаты состоят из нескольких сросшихся монокристаллов. По убыванию симметрии КР кристаллы могут быть классифицированы на изотропные, одноосные и двуосные (90% кристаллов). Одноосные и двуосные кристаллы – анизотропные. Фотореалистические изображения сцен рассчитывают алгоритмами лучевой трассировки, имитирующими распространение лучей в сцене. Для физически корректных расчётов трассируются монохромные лучи (спектральный рендеринг). Взаимодействие луча света с кристаллами состоит из: 1) отражение и преломление света на внешних и внутренних границах сред; 2) изменение луча при прохождении им кристаллической среды, например, ослабление интенсивности из-за поглощения, поворот плоскости поляризации из-за оптической активности. Коммерческие программные продукты для рендеринга трёхмерных сцен, например, Maxwell Render, позволяют рассчитывать фотореалистические изображения только изотропных кристаллов. Некоторые специализированные программные продукты для расчёта огранки кристаллов, например, DiamCalc, содержат функцию расчёта изображений, но в таких приложениях скорость (в интерактивном режиме) расчёта изображений важнее качества, и они могут рассчитывать только изотропные кристаллы даже без учёта поляризации лучей. В научно-исследовательских работах в основном рассматриваются одноосные монокристаллы, см. Tannenbaum (1994), Guy (2004), Weidlich (2008), в том числе и полупрозрачные в Guy (2004). В работах McClain (1993) теоретически рассматривается взаимодействие луча с одноосными кристаллическим агрегатами. Двуосные монокристаллы рассматриваются только в Latorre (2012), предложен только расчёт направлений лучей и рассчитаны «черновые» изображения, и теоретически в Wang (2008), включая расчёт интенсивностей и состояний поляризации лучей. Двуосные кристаллические агрегаты и полупрозрачные двуосные кристаллы не рассматриваются. В каждой работе разрабатывается отдельная модель взаимодействия луча света с кристаллами, поскольку предложенные модели не могут быть расширены на более общий случай. Физики-теоретики в работах по оптике рассматривают взаимодействие света с кристаллами в более общих случаях, но решения предложены для специальных, используемых в технике случаях, что не подходит для компьютерной графики. Таким образом, разработка общей унифицированной модели взаимодействия луча света с изотропными, одноосными и двуосными прозрачными монокристаллами и кристаллическими агрегатами для использования в алгоритмах лучевой трассировки является актуальной задачей. 3 Тестирование – это неотъемлемая часть процесса разработки модели. Очевидным способом проверки модели взаимодействия луча света с кристаллами является сравнение изображения кристалла, рассчитанного на основе модели, с фотографией. На практике этот подход имеет несколько недостатков: 1) невозможна проверка модели на ранних этапах разработки; 2) сравнение трудно осуществить из-за сложности сопоставления реальной сцены и её модели, параметров камеры и ракурсов съёмки; 3) нельзя исключить ошибки рендеринга. Необходимо иметь систему тестов, учитывающих специфику кристаллов, для верификации модели на ранних этапах разработки, например, на основе проверки законов и хорошо известных фактов кристаллооптики. В настоящее время такие системы тестов применяются во многих областях исследований, например, Matrix Market в вычислительной математике. Для сравнения рассчитанного изображения с фотографией обычно используется специальная сцена с простой геометрией и простыми оптическими свойствами, например, Cornell Box для алгоритмов рендеринга сцен с диффузными поверхностями. В случае кристаллов сцена Cornell Box непригодна, т.к. для наблюдения оптических эффектов в анизотропных кристаллах нужны специальные условия. В связи с этим актуальной является задача разработки специальной системы тестов для проверки моделей взаимодействия луча света с кристаллами и специальной сцены для верификации алгоритмов фотореалистического рендеринга кристаллов на основе сравнения рассчитанного изображения сцены с фотографией. Объектами исследования являются: Алгоритмы и ПО для фотореалистического рендеринга кристаллов. Модели взаимодействия луча света с прозрачными изотропными и анизотропными кристаллами. Верификация и тестирование моделей и алгоритмов для фотореалистического рендеринга кристаллов. Целью диссертационной работы является разработка физически корректной математической модели взаимодействия луча света с оптически прозрачными изотропными и анизотропными монокристаллами и кристаллическими агрегатами для использования в алгоритмах лучевой трассировки. Достижение цели осуществляется решением следующих задач: Разработка физически корректной модели взаимодействия луча света с границей между двумя изотропными, одноосными и двуосными средами. Разработка алгоритма расчёта отражённых и преломлённых лучей по падающему лучу, геометрическому описанию границы и оптическому описанию сред. Разработка программной библиотеки, реализующей алгоритм расчёта лучей. Верификация модели взаимодействия луча света с кристаллами. Положения, выносимые на защиту: 1. Предложена физически корректная математическая модель и алгоритм расчёта взаимодействия луча света с прозрачными изотропными и анизотропными монокристаллами и кристаллическими агрегатами, т.е. расчёт всех отражённых 4 и преломлённых лучей при падении луча света на внешние и внутренние границы сред в кристаллах. 2. Разработана программная библиотека LIAC (Light Interaction with Anisotropic Crystals) на основе предложенной модели, реализующая расчёт взаимодействия луча света с изотропными и анизотропными кристаллами и предназначенная для использования в программах визуализации систем виртуальной реальности. 3. Предложен набор тестов для верификации моделей взаимодействия луча света с прозрачными изотропными и анизотропными кристаллами и алгоритмов рендеринга таких кристаллов, в том числе специальная сцена (экспериментальный стенд, его модель, фотографии) для проверки точности рендеринга сцен с кристаллами на основе сравнения рассчитанного изображения сцены с фотографией. Личный вклад автора заключается в непосредственном участии на всех этапах исследования: все представленные в работе результаты получены автором лично; соискатель спроектировал и изготовил экспериментальный стенд, получил экспериментальные данные и участвовал в процессе их анализа; соискатель выступал с докладами на конференциях, на которых проходила апробация результатов исследования, участвовал в подготовке основных публикаций. Научная новизна: 1. Впервые предложена физически корректная математическая модель и алгоритм расчёта взаимодействия луча света с границей двух прозрачных изотропных, одноосных и двуосных сред, т.е. с внешними и внутренними границами кристалла, для применения в алгоритмах лучевой трассировки. Впервые получено аналитическое унифицированное решение. 2. Впервые создан специальный набор тестов для верификации алгоритмов расчёта взаимодействия луча света с прозрачными кристаллами и алгоритмов расчёта фотореалистических изображений кристаллов. В том числе, впервые разработана специальная сцена для проверки точности рендеринга кристаллов на основе попиксельного сравнения рассчитанного изображения с фотографией для сцен, включающих анизотропных кристаллы. Достоверность полученных результатов подтверждается теоретическими исследованиями, в том числе особых случаев (вертикальное падение луча, специальные направления оптических осей), результатами численных экспериментов: 1) моделированием известных оптических эффектов и экспертной оценкой результатов моделирования; 2) сравнением рассчитанного изображения модели экспериментального стенда, содержащего монокристалл кальцита (одноосный), с его фотографией методом попиксельного сравнения изображений. Методы исследований. В работе использованы методы вычислительной математики, векторной и линейной алгебры, прямого тензорного исчисления (ковариантный метод) и компьютерной графики. Для проведения численных экспериментов применены современные методы программирования на языке C++. Практическая значимость работы состоит в разработке программной библиотеки LIAC на основе разработанной модели взаимодействия луча света с про5 зрачными кристаллами. Для решения практических задач была также предложена и включена в библиотеку модель поглощения луча света в изотропных и анизотропных кристаллах. Библиотека содержит функционал достаточный для разработки алгоритмов лучевой трассировки, позволяя рассчитывать фотореалистические изображения прозрачных и полупрозрачных монокристаллов и кристаллических агрегатов. Это первая библиотека, позволяющая рассчитывать фотореалистические изображения двуосных кристаллов. Разработка может быть использована в: 1) ювелирной промышленности, в программном обеспечении для расчёта огранок драгоценных камней для расчёта фотореалистических изображений моделей огранённых кристаллов; 2) программных системах оптического дизайна; 3) системах трёхмерного моделирования, в которых в последнее время наблюдается устойчивая тенденция к фотореализму. Использование разработанной библиотеки позволяет расширить класс естественных объектов, моделируемых в системах виртуальной реальности. Библиотека может служить основой компьютерной модели петрографического микроскопа для целей обучения и исследований в кристаллооптике, см. [7]. Исследования поддержаны грантами РФФИ № 06-07-89216-а «Разработка алгоритмов физически корректной визуализации сцен с кристаллами», № 09-0700237-а «Разработка алгоритмов физически корректной визуализации сцен с двуосными кристаллами и кристаллическими агрегатами», № 12-07-00386-а «Разработка робастного алгоритма рендеринга прозрачных анизотропных кристаллов», № 12-07-00391-а «Разработка алгоритма рендеринга полупрозрачных анизотропных кристаллов и металлов с учётом поляризации луча света». Апробация работы. Результаты работы докладывались и обсуждались на VI Международном симпозиуме по виртуальному окружению на персональном компьютере и кластерах VEonPC (Протвино, Алтай, 2006), на XLIV, XLVII, XLVIII и XLIX Международных конференциях «Студент и научно-технический прогресс» (Новосибирск, 2006, 2009, 2010 и 2011), на IV, V и VII конференциях «Технологии Microsoft в теории и практике программирования» (Новосибирск, 2007, 2008; Томск, 2010), на IX и X Всероссийских конференциях молодых учёных по математическому моделированию и информационным технологиям (Кемерово, 2008; Иркутск, Россия – Ханх, Монголия, 2009), на XIX, XX и XXIII Международных конференциях по компьютерной графике ГрафиКон (Москва, 2009; Санкт-Петербург, 2010; Владивосток, 2013), на Конференции молодых учёных Института вычислительной математики и математической геофизике СО РАН (Новосибирск, 2010), на Международной конференции «Современные проблемы математики, информатики и биоинформатики» (Новосибирск, 2011), на Всероссийской конференции «Актуальные проблемы вычислительной математики и математического моделирования» (Новосибирск, 2012), на XX Международной конференции в центральной Европе по компьютерной графике, визуализации и компьютерному зрению WSCG (Пльзень, Чехия, 2012), на Международной молодёжной конференции-школе «Современные проблемы прикладной математики и информатики» (Дубна, 2012), на XXI Тихоокеанской конференции по компьютерной графике и приложениям Pacific Graphics (Сингапур, 2013). 6 Публикации. По теме диссертации опубликовано 22 работы из них 11 статей, из них 1 в журнале из перечня ВАК и 2 в рецензируемых журналах, проиндексированных в Scopus и Web Of Science. Структура и объём работы. Диссертация общим объёмом 129 страниц состоит из введения, 5-ти глав, заключения, 2-х приложений и списка литературы из 68 наименований. В работе содержится 34 рисунка. СОДЕРЖАНИЕ РАБОТЫ Во введении обосновывается актуальность темы, сформулированы цель и задачи, введены понятия и приведено краткое содержание работы по главам. Первая глава является обзором современного состояния дел в области фотореалистического рендеринга кристаллов. В п. 1.1 приведено неформальное описание задачи расчёта фотореалистического изображения кристалла, заключающей в расчёте изображения трёхмерной сцены, содержащей один или более кристаллов, с заданного ракурса съёмки камерой с заданным параметрами. В п. 1.2 вводится понятие луча света, как светового пучка минимального конечного сечения, который ещё может существовать изолированно от других световых пучков, рассмотрено понятие поляризации луча и его представление в виде матриц когерентности. В п. 1.3 рассматриваются оптические эффекты, возникающие в изотропных и анизотропных кристаллах: 1) отражение и преломление света; 2) дисперсия света; 3) двойное лучепреломление; 4) коническая рефракция; 5) поглощение света и плеохроизм. В п. 1.4 подробно рассмотрены современные достижения в области фотореалистического рендеринга кристаллов: 1) системы трёхмерного моделирования Maxwell Render, Indigo Renderer; 2) специализированное ПО для расчёта огранок кристаллов DiamCalc; 3) модели и результаты расчёта изображений кристаллов из научно-исследовательских статей. В заключении по главе сделан вывод о том, задача фотореалистического рендеринга изотропных и анизотропных прозрачных и полупрозрачных кристаллов не решена и является актуальной. Вторая глава посвящена разработанной модели взаимодействия луча света с изотропными и анизотропными прозрачными монокристаллами и кристаллическими агрегатами, построенная на ковариантном методе расчёта лучей, описанном в работе Фёдоров (1976), получившего распространения в кристаллооптике, и методе представления поляризации луча в компьютерной графике. В п. 2.1 определена математическая постановка задачи расчёта взаимодействия луча с границей двух прозрачных изотропных и анизотропных сред. Пусть – плоская граница двух оптически прозрачных изотропных и анизотропных (в любой комбинации) немагнитных оптически неактивных сред W1 и W2 . Отсутствуют внешние силы и электромагнитные поля. Единичный вектор нормали q к плоскости направлен (для определённости) в среду W2 . Каждая из сред описана набором главных спектров преломления SN {Snk } , состоящим из 1, 2 или 3 спектров для изотропной, одноосной и двуосной среды, соответственно, множеством единичных векторов оптических осей (бинормалей) 7 C {ck } (для определённости k : qck 0 ), множество C пусто для изотропных сред и содержит 1 или 2 вектора для одноосных и двуосных сред, соответственно, см. рис. 1. I W1 Пусть монохромный луч света I R2 c rd r0 с длиной волны в вакууме (т.е. с y круговой частотой ), точкой начала Q z x R 1 луча r0 , единичным вектором распроc2 странения rd , матрицей когерентности T1 J и системой координат CS падает на границу из среды W1 в точку Q . c1 T2 q W 2 Необходимо рассчитать множество отражённых {Rk : k 1 } и преРис. 1. Постановка задачи ломлённых {Tk : k 1 } (вместе порождённых) лучей: вектор направления, матрицу когерентности и систему координат луча. В п. 2.2 приводится необходимая информация о ковариантном методе, используемым для построения модели взаимодействия света. Вводятся используемые обозначения из Фёдоров (1976) для скалярного uv , векторного [uv] , тензорного u v произведений векторов u и v , свёртки u вектора u с матрицей , а также следа матрицы t , детерминанта | | , взаимной и обратной 1 матриц. Здесь и далее вектора обозначены полужирным шрифтом, тогда как скаляры, матрицы, точки и другие величины – регулярным. В п. 2.3 рассматриваются особенности распространения электромагнитной волны в прозрачной анизотропной среде. Согласно уравнениями Максвелла: 1 D 1 B rot H , rot E , div D 0 , div B 0 . (1) c t c t Связь между векторами электрического E и магнитного H поля и векторами электрической D и магнитной B индукции описывается материальными уравнениями: D E и B H , (2) здесь и – тензоры диэлектрической и магнитной проницаемости. В анизотропной среде не является скаляром, т.е. вектора E и D не коллинеарные. Классическое решение уравнения (1) – гармонические плоские волны: E E0ei , H H0ei , где (t 1c mr) , (3) здесь m – вектор рефракции, т.е. волновой вектор, длина | m | равна коэффициенту преломления n , т.е. отношению скорости волны к скорости света в вакууме. В немагнитных средах 1 и система уравнений (1) и (2) принимает вид: D [mH] , H [mE] , D E , B H . (4) Тензор может быть выражен через главные коэффициенты преломления и направления оптических осей. В двуосной и одноосной среде, соответственно: 8 1 1 1 1 1 c1 c2 c2 c1 . (5) 2 3 1 2 (6) o ( e o )(c c) здесь c1 , c 2 – бинормали двуосной среды, c – оптическая ось одноосной среды 1 , 2 , 3 , o , e – квадраты главных коэффициентов преломления. Длина вектора m , т.е. коэффициент преломления волны, определяется уравнением нормалей Френеля: (7) m2 m m m( t )m 0 . Будем называть вектор m Ф-нормализованным, если он удовлетворяет (7). В прозрачной анизотропной среде волны линейно поляризованы и их плоскость поляризации (т.е. колебаний вектора E ) определяется из равенств H A h и E 1[mH ] . В двуосной и одноосной среде, соответственно: h [mc2 ]2 [mc1 ] [mc1 ]2 [mc2 ] , ho [mo [moc]] и he [mec] , (8) (9) где A – вещественные константы, {o, e, , } , «o», «e», «+», «–» для обыкновенной, необыкновенной, быстрой и медленной волн, соответственно. Направление луча, т.е. вектора p переноса энергии определяется вектором Пойнтинга, значит пропорционально [EH] , вектор рефракции m пропорционален [DH] , т.е. они неколлинеарные. Вектора m и p связаны между собой в двуосной среде: m m m m 2 m ( t )m , m 2 m m (10) p 1p p p 2 1p ( 1 t 1 )p . p 2 p 1p 1 (11) p m Для одноосной и изотропной среды, соответственно: pi i1mi , po mo / o и pe me / ( o e ) , (12) (13) mi pi , mo opo и me 1pe o e . Интенсивность луча в точке падения равна среднему количеству энергии, переносимой лучом через единичную площадку в плоскости границы: c IN | mean( [EH] q) | , (14) 4 где mean() – усреднение по времени, а c – скорость света в вакууме. Для анизотропной и изотропной среды получаем, соответственно: c 2 c 2 2 IN AU и INi Ai Bi U i , 8 8 где U |[e h ] q | , а {o, e, , } и Ui | miq | . 9 (15) В п. 2.4 рассматривается взаимодействие падающей волны с границей сред, при этом в среде W1 образуются отражённые, а в W2 – преломлённые волны, которым соответствуют отражённые и преломлённые лучи. Соотношениями между волнами определяются равенством магнитного и тангенциальных компонент электрического поля по обе стороны границы: (Et1 Et ) (Er1 Er ) q E0q , (16) (17) (Ht1 Ht ) (Hr1 Hr ) H0 , где подстрочные индексы r1 ,…, r и t1 ,…, t обозначают отражённые и преломлённые волны, соответственно, а индекс 0 соответствует падающей волне. Оказывается, что отражённые, преломлённые и падающая волны имеют общий вектор g проекции векторов рефракции на плоскость . Кривые на рис. 2 – множество концов Ф-нормализованных векторов рефракции в плоскости, образованной нормалью q и вектором рефракции падающей волны. Изотропная среда Двуосная среда Изотропная среда c1 mi m ri Q g mr mi m ri Q g n1 mr n2 m te q Изотропная среда Q g m to m te m ti c2 m m to с q Одноосная среда q c Одноосная среда Рис. 2. Взаимодействия волны с некоторыми границами сред Для решения системы (16), (17) для двуосной среды используется разложение поля (8), для одноосной – (9), а изотропной следующее: (18) Ei Aiu Bi [niu] , (19) Hi Ai [miu] ni Biu , где Ai , Bi – вещественные константы, ni – коэффициент преломления, n i – нормализованный вектор рефракции m i , а u – нормализованный вектор [mq] , если [mq] 0 , то в качестве u выбирается произвольный единичный вектор в . В п. 2.5 приводится алгоритм расчёта порождённых лучей, возникающих в результате падения луча на границу сред. Луч задан множеством: R {r0 , rd , J , CS , } , где r0 – точка начала луча, rd – единичный вектор направления луча, – длина волны луча в вакууме, J – матрица когерентности луча, CS – система координат матрицы когерентности. Описание границы и сред соответствует п. 2.1. Алгоритм состоит из следующих шагов: Ш1. Определить тип луча по типу среды и поляризации луча, см. (8) и (9). Ш2. Вычислить вектор рефракции m падающей волны, соответствующий падающему лучу по (11), (13), в качестве p используя rd и Ф-нормализовать его, подставляя m в качестве m в (7) и решая его относительно коэффициента . 10 Ш3. Привести матрицу когерентности в систему координат, соответствующую для двуосной среды (8), для одноосной (9), а для изотропной (18), (19); Ш4. Вычислить проекцию g вектора m на плоскость ; Ш5. Вычислить вектора рефракции m всех порождённых волн, соответствующие проекции g и удовлетворяющие (7) среды W1 (для отражённых) или W2 (для преломлённых); Ш6. Вычислить направления порождённых лучей, соответствующих, векторам рефракции, полученным на шаге Ш5, по (10) и (12), отобрать реальные лучи: отражённые лучи направлены в среду W1 , а преломлённые – в W2 ; Ш7. Используя (8), (9), (18) и (19), составить систему уравнений (16), (17) и привести её левую часть в диагональный вид, в результате система отражает связь электрических полей порождённых волн с падающей. Ш8. Сформировать матрицы M связи электрического поля порождённых волн с электрическим полем падающей волны и рассчитать матрицы когерентности порождённых лучей по правилу: J U MJ M † / U , где , {i, o, e, , } , и соответствуют падающему и отражённому лучу, а M † – транспонированная комплексно сопряжённая матрица M . Ш9. Вычислить системы координат порождённых лучей, см. (8), (9), (18) и (19). Ш10. Сделать точку Q точкой начала порождённых лучей. В заключении по главе отмечено, что впервые разработана общая унифицированная модель взаимодействия луча света с границей двух прозрачных изотропных и анизотропных сред и алгоритм расчёта отражённых и преломлённых лучей для использования в алгоритмах лучевой трассировки. Третья глава посвящена проверке корректности разработанной модели. Верификация модели производится в несколько этапов: проверка соответствия результатов расчёта лучей законам и известных фактам из кристаллооптики, оценкой результатов моделирования известных оптических эффектов, свойственных анизотропных кристаллам, и сравнением рассчитанного изображения специально разработанной сцены с монокристаллом кальцита с фотографией. В п. 3.1 представлен набор тестов, проверяющих соответствие результатов расчёта отражённых и преломлённых лучей законам и хорошо известным фактом кристаллооптики, а именно: 1) при преломлении на границе изотропных сред преломлённый луч, подчиняется закону Снеллиуса; 2) при падении луча под углом Брюстера на границу изотропных сред, отражённый луч линейно поляризован и образует прямой угол с преломлённым лучом; 3) при прохождении лучом одноосной кристаллической пластинки образуются два линейно поляризованных луча, поляризованных во взаимно перпендикулярных плоскостях, а сами они параллельны падающему лучу. В п. 3.2 рассмотрена интеграция разработанного алгоритма расчёта порождённых лучей в алгоритмы прямой и обратной лучевой трассировки. 11 Кристаллические агрегаты Монокристаллы В п. 3.3 описывается моделирование известных оптических эффектов. Рассчитаны изображения нескольких сцен, состоящих из кристалла в форме куба, расположенного над квадратом-источником, спектр излучения которого задан наложенной текстурой в виде чёрного креста на белом (CIE D65) фоне, в сером (CIE D65 × 0.4) световом окружении. Результаты расчётов приведены на рис. 3. В первой строке приведены изображения монокристаллов, а во второй – «кристаллических агрегатов», состоящих из двух равных монокристаллических полукубов, разделённых плоскостью, параллельной источнику. Дальние от источника полукубы имеют те же оптические характеристики, что и монокристаллы на изображениях над ними. Изотропные Одноосные Двуосные Рис. 3. Рассчитанные изображения кристаллов Левая колонка (изотропные) на рис. 3 может быть рассчитана современными коммерческими программными продуктами, например, Maxwell Render. Изображение в середине первой строки (одноосный монокристалл) может быть рассчитано алгоритмом из работы Weidlich (2008). Правое изображение в первой строке (двуосный монокристалл) может быть рассчитано в «черновом» варианте (без расчёта интенсивностей и состояний поляризации лучей) алгоритмом из работы Latorre (2012). Области оранжевых и фиолетовых тонов на изображениях прозрачных двуосных кристаллов образуются из-за явления дисперсии осей, т.е. зависимости угла между оптическими осями от длины волны, в данном случае от 71.79° (380 нм) до 88.40° (780 нм). Глубина трассировки равна 9. Для моделирования эффекта внутренней конической рефракции численно формируется тонкий пучок монохромного (550 нм) света с небольшой (1 градус) расходимостью, падающий перпендикулярно на монокристаллическую пластину из оксалата аммония (двуосный), вырезанную перпендикулярно одной из бинормалей c1 , см. рис. 4. 12 r F c1 P h c2 d D S Рис. 4. Сцена для наблюдения внутренней конической рефракции (слева), рассчитанное изображение (по центру) и фотография из экспериментальных работ Михайличенко (2004) При падении пучка внутри пластины образуется двойной полый конус лучей, с вершиной в точке падения, при выходе из пластины он превращается в двойной слабо расходящихся цилиндр лучей, перпендикулярный пластине, падая на расположенный под пластиной экран образует характерное двойное кольцо. Рассчитанное методом прямой лучевой трассировки изображение приведено (рис. 4, центр). Центральное пятно на фотографии возникает из-за волновых эффектов и не может рассчитано алгоритмами лучевой трассировки. Отмечено, что для корректного расчёта внутренней конической рефракции алгоритм расчёта лучей должен корректно обрабатывать особые, вычислительно неустойчивые, случаи, например, прохождение лучей вблизи оптических осей. Рис. 5. Фотография (слева), рассчитанное изображение (по центру) и попиксельная разница между изображениями П. 3.4 посвящён сравнению с фотографией. Описана специальная сцена, состоящая из чёрного полкороба, в нижней грани которого расположено квадратное «окно», а под ним – стекло, покрытое листом белой на просвет бумаги с распечатанной на нём цветной «шахматной» текстурой. Монокристалл кальцита (одноосный), огранённый без фасок, лежит на текстуре. Текстура достаточно равномерно освещена снизу двумя люминесцентными лампами. Камера установлена на штативе рядом. Геометрия кристалла определена по сканированным изображениям граней, и оригинальным методом определено направление оптической оси. Результаты представлены на рис. 5, глубина трассировки равна 15. Разница объясняется неточным (вручную) совмещением параметров и ракурсов съёмки камеры и неточным совмещением спектра и геометрии источника. 13 В заключении по главе сделан вывод о том, что корректность разработанной модели и библиотеки на её основе проверена рядом численных экспериментов, найдены и исправлены ошибки в вычислительно неустойчивых случаях. Все тесты и результаты расчётов опубликованы на специально разработанном сайте http://oapmg.sscc.ru/temp_crystal_tests/. Тесты не используют специфику разработанной модели и могут быть использованы для тестирования других моделей и алгоритмов рендеринга кристаллов. Четвёртая глава посвящена решению прикладной задачи – расчёту фотореалистических изображений полупрозрачных (цветных прозрачных) кристаллов, часто используемых в ювелирной промышленности. В п. 4.1 рассматривается классический закон Бугера–Ламберта–Бера поглощения света. В п. 4.2 рассматриваются особенности распространения и поглощения света в полупрозрачных анизотропных кристаллах. Лучи, распространяющие в поглощающих анизотропных средах, эллиптически поляризованы, но эллиптичность слабая, поэтому, как и в других работах, лучи считаются линейно поляризованными, а преломление и отражение на границе рассчитывается по модели для прозрачных сред. Поглощение в анизотропных средах задаётся 2 или 3 спектрами поглощения для одноосных и двуосных сред, соответственно. В п. 4.3 получены формулы для расчёта коэффициента поглощения для заданного луча в анизотропной среде на основе данных о кристаллах, публикуемых в справочной литературе и минералогических базах данных: направления оптических осей, главные спектры преломления и поглощения. Двуосные кристаллы рассматриваются только ромбической кристаллической системы. В п. 4.4 описаны проведённые численные эксперименты. На рис. 6 приведены главные спектры поглощения двуосного монокристалла и изменение его окраски при повороте кристалла вокруг одной осей симметрии на 90 градусов, т.е. при переворачивании кристалла с грани на грань. 8.00 7.00 6.00 5.00 4.00 3.00 2.00 1.00 0.00 380 480 580 680 780 Рис. 6. Главные спектры поглощения двуосного монокристалла (слева) и его рассчитанные изображения В заключение по главе отмечено, что изображения поглощающих двуосных кристаллов получены впервые в компьютерной графике, а также то, что сравнение с фотографией для полупрозрачных кристаллов гораздо более сложная задача, чем для прозрачных кристаллов: 1) необходимо измерить спектры преломления и поглощения для конкретного кристалла; 2) огранить кристалл предварительно рассчитанной огранкой для усиления появления плеохроизма. 14 Пятая глава посвящена архитектуре и функциональным возможностям программной библиотеки LIAC, разработанной на основе моделей и алгоритмов расчёта преломления, отражения и поглощения луча света, предложенных в главах 2 и 4, для расчёта взаимодействия луча света с прозрачными и полупрозрачными изотропными и анизотропными монокристаллами и кристаллическим агрегатами. В п. 5.1 изложена концепция библиотеки, состоящая в отображении таких физических сущностей как луч, среда и граница сред на классы библиотеки, при этом инициализация объектов происходит на основе кристаллографических понятий и характеристик кристаллов, используемых для описания кристаллов в специализированных справочниках и минералогических базах данных. В п. 5.2 описаны, ключевые классы библиотеки: луч, изотропная среда, одноосная среда, двуосная среда и граница сред. В п. 5.3 приведено соответствие классов и методов библиотеки её функциональным возможностям: 1) расчёт отражённых и преломлённых лучей при падении луча на плоскую границу двух сред; 2) расчёт поглощения луча в процессе его распространения в кристаллической среде. В заключении по главе отмечено, что библиотека LIAC – первая библиотека, позволяющая рассчитывать взаимодействия луча с двуосными прозрачными и полупрозрачными кристаллами. В заключении представлены основные результаты диссертационной работы и возможные направления дальнейших исследований. В приложении 1 приведено описание геометрии монокристалла кальцита, используемого для сравнения с фотографией в третьей главе и исходные данные, на основании которых геометрия была определена. В приложении 2 приведено описание ключевых частей интерфейса программной библиотеки LIAC на языке C++. ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ 1. Физически корректная математическая модель и алгоритм расчёта взаимодействия луча света с границей двух прозрачных изотропных и анизотропных сред, т.е. расчёт взаимодействия луча света с внешними и внутренними границами монокристаллов и кристаллических агрегатов. 2. Программная библиотека LIAC, реализующая физически корректный расчёт взаимодействия луча света с границей изотропных и анизотропных сред и расчёт поглощения луча света в изотропных и анизотропных средах, предназначенная для использования в алгоритмах лучевой трассировки. 3. Набор тестов для верификации моделей взаимодействия луча света прозрачными изотропными и анизотропными кристаллами и алгоритмов рендеринга кристаллов, в том числе специальная сцена (экспериментальный стенд, его модель и фотография), содержащая одноосный монокристалл, для проверки точности алгоритмов фотореалистического рендеринга кристаллов на основе сравнения рассчитанных изображений сцены с фотографией. 15 ОПУБЛИКОВАННЫЕ СТАТЬИ ПО ТЕМЕ ДИССЕРТАЦИИ В рецензируемых журналах, рекомендованных ВАК [1] Дебелов, В.А. Локальная модель взаимодействия света с изотропными и одноосными прозрачными средами / В.А. Дебелов, Д.С. Козлов // Вестник НГУ: Информационные Технологии. – 2012. – Т. 10. – № 1. – С. 5–23. (список ВАК) [2] 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. (Web of Science) [3] Debelov, V. Visualization of light polarization to debug ray tracing algorithms / V. Debelov, D. Kozlov // Scientific Visualization. – 2013. – Vol. 5. – No. 4. – P. 71– 87. (SCOPUS) Статьи в сборниках трудов конференций [4] Дебелов, В.А. Верификация алгоритмов фотореалистического рендеринга кристаллов / В.А. Дебелов, Д.С. Козлов // Труды XX Международной конференции по компьютерной графике и зрению ГрафиКон-2010, 20–24 сентября 2010. – Санкт-Петербург: СПбГУ. – 2010. – С. 238–245. [5] Дебелов, В.А. Рендеринг монокристаллов с учётом поляризации луча / В.А. Дебелов, Д.С. Козлов, М.А. Саттаров // Proceedings of 6th International Workshop on Virtual Environment on PC Cluster, VEonPC'2006. – Изд-во ИФТИ, Протвино. – 2006. – С. 55–65. [6] Дебелов, В.А. Физически корректный алгоритм рендеринга анизотропных поглощающих кристаллов / В.А. Дебелов, Д.С. Козлов // Труды 23-й Международной конференции по компьютерной графике и зрению ГрафиКон–2013, 16– 20 сентября 2013. – Владивосток: ИАиПУ ДВО РАН. – 2013. – С. 191–194. [7] Козлов, Д.С. Алгоритм рендеринга по методу Монте-Карло петрографических шлифов одноосных кристаллов / Д.С. Козлов // Труды XIX Международной конференции по компьютерной графике и зрению ГрафиКон-2009, 5–9 октября 2009, Москва, Россия. – 2009. – C. 368–371. [8] Козлов, Д.С. Верификация расчёта фотореалистического изображения кристалла кальцита / Д.С. Козлов // Труды конференции молодых учёных, ИВМиМГ СО РАН. – Новосибирск: ИВМиМГ СО РАН. – 2010. – C. 72–82. [9] Козлов, Д.С. Визуализация поляризации света в сценах с кристаллами / Д.С. Козлов // Труды 23-й Международной конференции по компьютерной графике и зрению ГрафиКон-2013, 16–20 сентября 2013. – Владивосток: ИАиПУ ДВО РАН. – 2013. – С. 321–324. [10] Debelov, V.A. Rendering of Translucent Objects, Verification and Validation of Algorithms / V.A. Debelov, D.S. Kozlov // Proceedings of 20th WSCG International Conference on Computer Graphics, Visualization and Computer Vision, part I, Plzen, Czech Republic, June 26–28. – 2012. – P. 189–196. [11] Debelov, V.A. Rendering of transparent optically anisotropic objects / V.A. Debelov, D.S. Kozlov // Труды 23-й Международной конференции по компьютерной графике и зрению ГрафиКон-2013, 16–20 сентября 2013. – Владивосток: ИАиПУ ДВО РАН. – 2013. – С. 50–55. 16