На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

Физически обоснованная модель распространения света в ткани

Physically based model of light propagation in a fabric
Статья опубликована в выпуске журнала № 3 за 2009 год.
Аннотация:В работе рассмотрен новый подход к моделированию тканей на основании данных о том, что нити в них представляют собой рассеивающую среду. Предложен способ расчета функции внутреннего рассеяния (ФВР) нитей путем моделирования рассеяния и поглощения света в их объеме с помощью метода Монте-Карло. Также предложен способ получения двунаправленной функции отражения нитей из ФВР путем интегрирования ФВР по поверхности нити, представленной цилиндром. Разработанное решение дает хорошие визуальные результаты, а также демонстрирует качественное совпадение картин рассеяния света моделью и образцом реальной ткани. Данные о рассеянии света реальным образцом ткани получены путем измерений.
Abstract:A new original approach to simulation of light propagation in a fabric is discussed in the paper. The approach is based on a confirmed assumption that cloth yarns are scattering media. The paper proposes a way to calculate the yarn’s Bi-directional Sub-Surface Scattering Reflectance Distribution Function (BSSRDF) via a Monte-Carlo ray tracing simulation of scattering and absorption of light within yarn’s volume. Then Bi-directional Reflectance Distribution Function (BRDF) of a yarn is obtained by integrating the yarn’s BSSRDF over the yarn’s surface which is approximated by a cylinder. The elaborated method produces visually plausible results and demonstrates qualitative agreement of light scattering by virtual model of cloth and real cloth sample. The light scattering of a real cloth is acquired via direct measurement performed with a proprietary measurement apparatus.
Авторы: Галактионов В.А. (voloboy@gin.keldysh.ru) - Институт прикладной математики им. М.В. Келдыша РАН, доктор физико-математических наук, Волобой А.Г. (voloboy@gin.keldysh.ru ) - Институт прикладной математики им. М.В. Келдыша РАН (ведущий научный сотрудник), Москва, Россия, доктор физико-математических наук, Лобалзо Н.А. (voloboy@gin.keldysh.ru) - Институт прикладной математики им. М.В. Келдыша РАН, г. Москва, кандидат физико-математических наук
Ключевые слова: измерение brdf, объемное рассеяние, поверхностное отражение, brdf, физически корректное моделирование, моделирование ткани
Keywords: BRDF measurement, volume scattering, surface reflection, BRDF, physically based lighting, cloth simulation
Количество просмотров: 10245
Версия для печати
Выпуск в формате PDF (4.21Мб)

Размер шрифта:       Шрифт:

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

В данной статье описывается подход к моделированию взаимодействия ткани со светом, при котором картина рассеяния света моделью образца ткани соответствовала бы картине рассеяния света, полученной в результате измерений светорассеивающих свойств реального образца ткани на измерительной установке. Результаты разработки используются в системе моделирования распространения света и построения реалистичных изображений для задания свойств объектов в трехмерных сценах, определяющих, каким образом эти объекты взаимодействуют с падающим на них светом.

Подпись:  
Рис. 1. Структура пе-реплетения нитей
в модели и
в реальной ткани	 
Рис. 2. Структура нити и
схема рассеяния в ней светаВ соответствии с уравнениями Френеля для многих объектов реального мира, чей показатель преломления близок к показателю преломления воды, до 95 % света (в случае нормального падения), попадающего на их поверхность, пройдет внутрь объекта (показатель преломления воды равен 1,33, усредненный показатель преломления для текстильных волокон равен 1,57). Часть преломленного света в результате множественного рассеяния внутри объема выйдет обратно на его поверхность. Пространственное распределение этого света в общем случае не будет изотропным.

Опираясь на тот факт, что объемное рассеяние света может существенно влиять на отражательные свойства материалов, была разработана модель взаимодействия ткани со светом, учитывающая рассеяние света внутри нитей. Поведение света внутри объема нити моделировалось с помощью метода Монте-Карло трассировки лучей.

Ткань обладает набором оптических характеристик, определяющих ее взаимодействие с падающим светом. В основу модели легли следующие параметры: способ переплетения нитей в ткани, структура нитей, алгоритм расчета распространения света в нитях и механизм присвоения цвета точкам нитей при визуализации образца ткани.

В компьютерной графике при реализации физически обоснованных моделей объектов реального мира для моделирования распространения света в сцене часто используется метод Монте-Карло трассировки лучей. При генерации изображения сцены данные об освещенности используются для присвоения цвета точкам изображения. Такой же подход реализован и в представленной модели. С помощью метода Монте-Карло генерируется функция внутреннего рассеяния нити (ФВР), из которой можно получить двунаправленную функцию отражения нити (ДФО). Рассчитанная ДФО используется для присвоения цвета точкам нити ткани при заданных в конкретной сцене условиях освещения.

  Описание модели   Модель ткани и нитей. Было реализовано переплетение нитей, аналогичное плетению реальной ткани, с которой проводилось сравне- ние (рис. 1).

Сделано предположение, что объем нити является рассеивающей свет средой, – это подтверждается исследованиями волокон, проведенными в ряде работ в области текстильного материаловедения. Значит, внутри нити показатель преломления среды не является постоянным. Была определена модель, в которой объем нити заполнен основной средой с показателем преломления, равным усредненному показателю преломления хлопковых волокон (n=1,557), и в основной среде распределены сферические частицы, имеющие показатель преломления, отличный от основно- го (рис. 2).

Нить для расчетов была представлена в виде цилиндра, основанием которого является круг, нити в модели образца ткани – полигональными сетками.

Алгоритм расчета распространения света в нитях. При освещении участка нити параллельным светом часть этого света, в соответствии с уравнениями Френеля, попадает внутрь нити. Свет, попавший в нить, частично рассеивается, частично поглощается в ее объеме и выходит на поверхность нити в разных направлениях.

Описанный процесс моделировался с помощью метода Монте-Карло трассировки лучей. Для небольшого участка нити испускались индивидуальные лучи в направлении ее объема с конечного набора входных направлений. Каждый луч обладал некоторой энергией, представленной в виде спектрограммы – распределения энергии по набору длин волн. В соответствии с параметрами рассеивающей среды, представляющей объем нити, каждый из лучей либо поглощался в среде, либо выходил на поверхность нити в результате рассеяния. Для каждого из вышедших лучей регистрировались точка и направление его выхода. По окончании процесса моделирования была получена картина рассеяния света по объему нити для всех направлений падения света.

Расчет функции отражения света. В компьютерной графике при определении поверхности, которая обладает сложным поведением отраженного света, часто используют ДФО. В соответствии с определением, для направлений падения света dwin и наблюдения dwout ДФО для дифференциальной поверхности dA будет (рис. 3): ДФО(dwin, dwout)=dL(dwout)/dE(dwin).

То есть ДФО показывает отношение яркости этой поверхности в направлении dwout к освещенности, приходящей на dA с направления dwin.

Поскольку нить имеет также объемное рассеяние, оно может быть определено с помощью ФВР следующим образом (рис. 3).

Пусть на дифференциальную поверхность dA падает свет с направления dwin. Тогда ФBР(dwin, dA, dwout, dB) = dLout(dwin, dA,dwout, dB) / /dFin(dwin, dA).

То есть ФВР показывает отношение яркости поверхности dB в направлении dwout к потоку, приходящему на dA с dwin. Подразумевается, что яркость поверхности dB создана только потоком dF, приходящим на dA, и является результатом рассеяния света в нити.

Если известна ФВР для дифференциальных поверхностей dA из некоторой окрестности dB, можно вычислить ДФО для dB путем интегрирования ФВР по этой окрестности: ДФОdB(dwin, dwout) = òФBР(dwin, dA, dwout, dB)dA.

Для вычисления ФВР распространение света внутри нити моделируется с помощью метода Монте-Карло трассировки лучей. Некоторое множество лучей испускается с поверхности dA в направлении объема нити. Далее моделируется распространение лучей света в среде с рассеянием или возможным поглощением их на частицах. Когда лучи достигают поверхности нити, точки и направления выхода лучей регистрируются на пространственной и угловой сетках.

После окончания моделирования распространения лучей в нити можно вычислить ФВР для каждой ячейки dB и для всех телесных углов dwin, dwout следующим образом: ФBР(dwin, dA, dwout, dBi)=Fout/(dwout * dBi * cos(θout) * Fin), где Fout – сумма энергий всех лучей, вышедших в направлении dwout из i-й ячейки dBi; Fin – сумма всех энергий лучей, приходящих на dA с направления dwin; θout – направление выхода лучей, определяемое dwout.

Учитывая тот факт, что нить представляется цилиндром, который симметричен относительно своей оси, ФВР, рассчитанная для одной ячейки на пространственной сетке на поверхности нити, верна для всех ячеек сетки. Следовательно, верно следующее: ФВР(dwin, dA1, dwout, dB1) = = ФВР(dwin, dA2, dwout, dB2) для dA1, dA2, dB1 и dB2, получаемых либо поворотом нити, либо перемещением вдоль нее. Это соображение позволяет рассчитать ДФО нити следующим способом.

Подпись:  
Рис. 3. Иллюстрации к определениям ДФО и ФВРДФО точки представляет собой интеграл ФВР по некоторой окрестности этой точки. Приближением интеграла ФВР по всей поверхности нити будет сумма по всем Ai: ДФО(dwin, dwout) ≅ ≅ ∑ФBР(dwin, dAi, dwout, dB)* cos(θin) * f(θin), где θin – угол между направлением падения света и нормалью к dAi; cos(θin) необходим для того, чтобы учесть изменение величины потока света, падающего на dAi под углом θin с нормалью к ее поверхности;

Величина f(θin) контролирует, что расчет производится только для Ai, напрямую освещенных светом от источника.

Полученная ДФО описывает ту часть света, которая отражается нитью после рассеяния света внутри объема нити.

Стоит отметить, что эта ДФО определена для всех возможных направлений падения света, а не только для принадлежащих положительной полусфере (то есть для тех направлений, которые составляют острый угол с нормалью к поверхности нити). Это объясняется тем, что при рассеянии света в нити лучи могут выйти в любой точке на ее поверхности, в том числе и с обратной стороны. Таким образом, ФВР определена на всей поверхности нити, что позволяет вычислить ДФО для положительных и отрицательных направлений падения света относительно поверхности.

При визуализации ткани полученная ДФО используется для определения диффузной составляющей цвета точки нити, а зеркальная составляющая рассчитывалась по методу, предложенному Куком и Торрансом, в соответствии с реализацией Блинна. В нашей модели зеркальная составляющая цвета точки определяется, исходя из расположения нормали образца ткани, а не нити.

  Механизм верификации модели

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

Образец ткани освещался почти параллельным пучком монохроматического света. Измерения проводились для длин волн падающего света в пределах 390–730 нм, с шагом в 10 нм. Энергия света, рассеиваемого образцом, регистрировалась для некоторого множества выходных направлений.

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

Для проведения сравнения картин рассеяния света моделью и реальной тканью необходимо было получить данные для модели, аналогичные измеренному показателю яркости реальной ткани. Для этого делались следующие вычисления.

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

2.   В сцене с моделью ткани устанавливался источник параллельного белого света с направлением, равным выбранному на предыдущем шаге.

3.   Для каждого из выбранных направлений наблюдений устанавливалась камера и производилась визуализация ткани.

4.   Значения пикселов, принадлежащих ткани, суммировались.

5.   Полученные суммы компонент RGB делились на косинус угла отражения. Полученные величины соответствовали яркости образца ткани в заданном направлении наблюдения. Физическая величина яркости прямо пропорциональна энергии, отраженной образцом в заданном направлении, и обратно пропорциональна косинусу угла отражения. Таким образом, полученные величины можно корректно сравнить с полученными для реальной ткани показателями яркости.

В итоге можно было провести сравнение картин рассеяния света разработанной моделью и образцом реальной ткани.

  Верификация модели  

Подпись:    
Рис. 4. Угол падения 0˚					Рис. 5. Угол падения 30˚					Рис. 6. Угол падения 60˚На рисунках 4–6 представлены графики рассеяния света моделью ткани (сплошная кривая) и реальным образцом (пунктирная кривая) в плоскости падения света при разных направлениях падения света (0, 30 и 60 градусов с нормалью). На всех графиках по оси абсцисс отложены направления отражения света. На графиках представлены значения для углов в пределах от -60 до 70 градусов. Отрицательные значения соответствуют направлениям, которые лежат по ту же сторону от нормали к поверхности, что и направления освещения; положительные – по ту же сторону, что и направления зеркального отражения; 0 на графиках соответствует направлению нормали. По оси ординат отложены показатели яркости. Можно видеть, что рассеяние света моделью и реальной тканью имеет качественное совпадение.

Для сравнения в графики добавлена классическая модель расчета яркости точки (кривая, заданная точками), в которой диффузная составляющая устанавливается в соответствии с законом Ламберта, а зеркальная составляющая вычисляется по методу Кука и Торранса в соответствии с реализацией, предложенной Блинном. Зеркальная составляющая вычисляется относительно нормали к поверхности ткани.

Можно видеть, что реализованная модель улучшает соответствие картин рассеяния света по сравнению с классической моделью.

Кроме качественного совпадения графиков рассеяния света, удалось добиться определенного соответствия в моделировании цвета ткани при разных условиях освещения.

Цвет ткани меняется от более фиолетового при освещении дневным светом с внешней стороны к темно-красному при освещении с внутренней. Аналогичные результаты были достигнуты и для авторской модели. Модель адекватно передает цветовой баланс реальной ткани.

Настройка модели

Основными параметрами настройки модели являются характеристики рассеивающей среды, представляющей собой нити: показатель преломления основной среды, в которой распределены рассеивающие частицы; показатель преломления рассеивающих частиц; размер рассеивающих частиц; концентрация частиц в объеме нити.

Важным моментом является концентрация красителя в нитях. Она была указана исходя из данных, известных в текстильном материалове- дении, а именно, величина концентрации составляет порядка нескольких процентов от объема нити.

В зависимости от баланса выбранных значений параметров модель демонстрирует разное поведение. Авторы старались максимально опираться на данные о реальных рассеивающих средах, которые представляют собой волокна. Например, показано, что волокна хлопка на 50 % состоят из кристаллических образований размером порядка десятков нанометров. Также известно, что хлопковые нити состоят не только из целлюлозы, но и содержат до 12 % воска, пектина и минеральных образований. Наконец, в волокнах и нитях могут присутствовать воздушные включения. Синтетические волокна могут специально наполняться частицами с высоким показателем преломления для удаления избыточного блеска.

Кривые, приведенные на рисунках 4–6, были рассчитаны для среды со следующими характеристиками: показатель преломления основной среды – 1,557; показатель преломления рассеивающих частиц – 1,61, их размер – 150 нм; концентрация частиц в объеме нити – 0,14.

В заключение отметим, что на основании предположения о том, что нити в тканях представляют собой рассеивающую среду, разработан новый подход к моделированию распространения света в тканях.

Реализован способ получения ДФО нити из ФВР путем интегрирования ФВР по поверхности нити, представленной цилиндром. ФВР, в свою очередь, получена путем моделирования рассеяния и поглощения света в среде нити с помощью метода Монте-Карло трассировки лучей.

Разработанное решение дает адекватные визуальные результаты в части цвета ткани при различных условиях освещения, а также показывает качественное совпадение картин рассеяния света моделью и образцом реальной ткани.

Данная работа не только имеет интересный теоретический результат, но и применяется в задачах, для которых важен физически аккуратный расчет освещенности в сцене. Единожды рассчитанная ФВР нити может использоваться для генерации ДФО тканей с разнообразными переплетениями. Полученные физически обоснованные ДФО тканей используются для физически точных расчетов освещенности в трехмерных сценах, содержащих объекты, покрытые тканями. ДФО тканей могут использоваться, например, для анализа освещенности интерьера салона самолета.

Модель была реализована на языке C++. Код интегрирован в программный комплекс, разработанный коллективом отдела компьютерной графики и вычислительной оптики Института прикладной математики им. М.В. Келдыша РАН для моделирования сложных оптических явлений.

Литература

1. Ying-Qing Xu, Yanyun Chen, Stephen Lin, Hua Zhong, Enhua Wu, Baining Guo, and Heung-Yeung Shum. Photorealistic Rendering of Knitwear Using the Lumislice., SIGGRAPH 2001, pp. 391–398.

2. Sattler M., Sarlette R., Klein R. Efficient and Realistic Visualization of Cloth. Proceedings of the Eurographics Symposium on Rendering, 2003.

3. Illingworth J.W. The optical properties of textile fibers // Textile Recorder, August, 1942, pp. 29–32.

4. Волобой А.Г., Лобалзо Н.А. Метод сравнения результатов оптического моделирования ткани с физически измеренными данными // Новые информационные технологии в автоматизированных системах: тр. науч.-технич. сем. М., 2008. С. 3–9.

5. Волобой А.Г., Галактионов В.А., Гнездилова Н.А., Дмитриев К.А., Ершов С.В. Об одном подходе к визуализации тканей // Информационные технологии и вычислительные системы. 2007. № 3. С. 71–78.


Постоянный адрес статьи:
http://swsys.ru/index.php?id=2322&page=article
Версия для печати
Выпуск в формате PDF (4.21Мб)
Статья опубликована в выпуске журнала № 3 за 2009 год.

Назад, к списку статей