Санкт-Петербургский государственный университет
Факультет прикладная математика – процессов управления
Кафедра вычислительных методов механики деформируемого тела

Каласов Айгум Каласович

Выпускная квалификационная работа специалиста

Программный комплекс для примерки одежды

Направление 010501

Прикладная математика и информатика

Заведующий кафедрой,
доктор физ.-мат. наук,
профессор Пронина Ю. Г.

Научный руководитель,
кандидат физ.-мат. наук,
доцент Костырко С. А.

Рецензент,
главный инженер, отдел инженерно-технического обеспечения,
“Днепропетровское областное статистическое управление” Пожидаев Е. С.

Санкт-Петербург

2016

СОДЕРЖАНИЕ

Введение ....................................................................................................................... 3

Глава 1. Симуляция одежды при взаимодействии с недеформируемой
поверхностью ………………………………………….............................................. 11

1.1. Постановка задачи .................................................................................... 11

1.2. Дискретная модель ткани и ее физические свойства............................. 11

1.3. Создание соединительных швов ............................................................. 18

1.4. Взаимодействие ткани с недеформируемой поверхностью.................. 20

1.5. Результат .................................................................................................... 22

1.5.1. Виртуальная сцена, основные параметры ................................ 23
1.5.2. Визуализация изображений для web-service ............................ 29

Глава 2. Web-service .................................................................................................... 31

2.1. Постановка задачи ..................................................................................... 31

2.2. Взаимодействие данных из 3Ds Max и web сервиса .............................. 31

2.3. Функционал сайта, демонстрация ............................................................ 32

Заключение ................................................................................................................... 41

Список литературы ...................................................................................................... 42

Приложение .................................................................................................................. 47

ВВЕДЕНИЕ
Сегодня насчитывается огромное количество инновационных идей тем или иным образом оптимизирующих бизнес процессы. Вместе с тем некоторые промышленные предприятия придерживаются старых методик. В качестве отправной точки рассмотрим текстильную промышленность, большинство фабрик и заводов которой автоматизированы вплоть до лазерной нарезки ткани. После нарезки лекала вместе с тканью отправляются на конвейер для ручной обработки. В данной работе речь пойдет об инновационном решение, позволяющем оптимизировать процесс при индивидуальном пошиве, когда параметры для базового лекала и смоделированных частей высылаются заказчиком на производство перед нарезкой ткани. Параметры тела каждого из клиентов дизайнера, конструктора измеряются в течение 15 секунд, с помощью аппаратного комплекса для примерочной. Большинство студий по индивидуальному пошиву одежды работают в следующем режиме: клиент примеряет одежду, после чего менеджер производит ручную корректировку в различных участках на основе драпировки ткани, полученную информацию вносят в таблицу и высылают на фабрику. При мужском пошиве, например, на снятие мерок, примерку и утверждение костюма уходит от 2 часов, процесс также подразумевает дополнительные ежемесячные материальные затраты. Есть смысл установить в примерочной оборудование для получения трехмерной модели клиента, поведение ткани при взаимодействии с которой можно моделировать на основе физического метода.

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

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

Огромное количество подходов к моделированию ткани можно разделить на две категории. Геометрические методы, в которых основной упор сделан на такие моменты, как складки, сгибы, описываемые уравнениями, тем не менее в геометрических моделях не учитывают физические свойства ткани. Используя физические методы, напротив, можно проследить отличия в поведении ткани, изменяя некоторый набор свойств. Физический подход, безусловно, более привлекателен в задачах моделирования одежды. Он предполагает наличие дифференциальных уравнений, в которых будут фигурировать константы, полностью характеризующие свойства материала. Для каждого типа ткани данные коэффициенты подсчитаны экспериментальным путем. Из многообразия работ этой тематики, мы выделили статью Huamin Wang, James F. O’Brien “Data-Driven Elastic Models for Cloth: Modeling and Measurement” [4], в которой используют различные значения коэффициентов и демонстрируют результаты проделанных экспериментов по растяжению ткани.

Рисунок 1. Подсчет коэффициентов в зависимости от угла наклона волокна ткани.

Далее используем полученные коэффициенты для подстановки в выражения сил взаимодействий. Ткань авторы представляют в виде дискретной модели, каждая из точек которой взаимодействует с соседними. Это и является одним из отличий различных подходов в этой тематике. Рассмотрим, например, статью Калифорнийского университета: “Folding and Crumpling Adaptive Sheets” Rahul Narain, Tobias Pfaff [5], где бумага представлена в виде точек, которые образуют примитивы: треугольники. Авторы описывают внутренние силы взаимодействия и применяют ньютоновскую модель и закон Гука, выдвигая в качестве основного предположения, то что каждая точка взаимодействует с соседней.

Рисунок 2. Реконструкция сетки при создании нескольких складок.

Более подробно о дискретной модели ткани, возможных перемещениях и силах взаимодействия написано в статье студии Pixar: “Cloth and Fur Energy Functions” Michael Kass [6].

Рисунок 3. Дискретная модель ткани.

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

Во второй части статьи авторы описывают поведение примитивов при растяжении, сдвиге и изгибе. Определяют аффинное преобразование, после чего вычисляют энергию.

В работах студии Pixar огромное внимание уделено контактной задаче, а именно оптимальным условиям, наложенным на примитивы ткани. В определенный момент объект либо проникает в плоскость, либо соприкасается с ней. В случае проникновения, мы можем задать перемещение объекта на поверхность или постепенно изменять шаг для получения того же результата. После чего изменяем скорость точки дискретной модели в зависимости от нормали. Однако для определения проникновения или контакта, нужно проделать значительную работу по оптимизации условий. Более подробно данный процесс мы опишем во второй части первой главы.
Манекены для визуализации, приведенные в этой работе, сделаны с помощью программного обеспечения Agisoft Photoscan с последующей ретопологией и художественной корректировкой. Алгоритм работы программы можно разбить на следующие этапы: калибровка камер, распознавание особых точек, получение облака точек, построение полигональной модели, текстурирование.

Как правило, для представления 2D-координат точки на плоскости используется вектор-столбец вида

,

а для задания положения 3D-точки в мировых координатах

.

Выражения записаны в расширенной нотации однородных координат, распространенной в задачах деформации твёрдых тел.

В модели камеры-обскуры матрица камеры используется для проецирования точек трёхмерного пространства на плоскость изображения:

,

где - произвольный масштабный коэффициент,

.

Матрица внутренней калибровки содержит 5 значимых параметров [2], которые соответствуют фокусному расстоянию, углу наклона пикселей и принципиальной точке (точка пересечения плоскости изображения с оптической осью, совпадающая с центром фотографии; в реальных камерах, в большинстве случаев, бывает немного смещена из-за оптических искажений). В частности, и соответствуют фокусному расстоянию, измеренному в ширине и высоте пикселя, и - координатам принципиальной точки, а

,

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

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

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

В работе можно выделить следующие цели и задачи:

Построение дискретной модели ткани:
представить ткани в виде точек, связанных между собой пружинами; описать уравнения с учетом сил.

Моделирование соединительных швов:
определить характеристики шва, отличные от ткани; задать правило сшивания изделий.

Поведение ткани при взаимодействии с недеформируемой оболочкой:
описать условия проникновения и прикосновения к областям модели; оптимизировать проверку условий путем сегментации области.

Web-service:
реализовать сайт для загрузки итоговых изображений после визуализации; путем наложения слоев предоставить клиентам возможность выбора изделий одежды и примерки на манекене.

На данный момент из подобных комплексных решений на рынке можно выделить:

Trimirror, Dressformer

Lookwish

Trimirror. Dressformer.
Данный комплекс позволяет примерять одежду на трехмерную шаблонную модель. Ткань смоделирована на основе физического подхода, что позволяет просматривать напряжение в различных участках модели одежды. Из минусов можно выделить значительную задержку при смене одежды и реалистичность представленных изделий, так как разработчики реализовали web версию приложения на основе WebGL, что накладывает ряд ограничений. Ручной ввод параметров для корректировки шаблонной модели дает погрешность при драпировке ткани, то есть виртуальная посадка изделия выглядит нереалистично относительно естественной.

Рисунок 4. Интерфейс комплекса Trimirror

Lookwish.
Виртуальная примерочная позволяет накладывать изображения одежды на шаблонный 2D манекен. В приложении нет привязки к реальным параметрам клиента и размерам одежды.

Рисунок 5. Интерфейс приложения Lookwish.

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

Глава 1. Моделирование одежды при взаимодействии с недеформируемой поверхностью.

1.1. Постановка задачи.

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

1.2. Дискретная модель ткани и ее физические свойства.

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

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

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

Рис. 6. Дискретная модель ткани с измененной индексацией
(в соответствии с программой).

Рис. 7. Пример дискретной модели боди на основе выкройки.

Запишем систему дифференциальных уравнений [приложение Б] с начальными условиями:

где и ; внутренняя сила, с которой частица воздействует на соседнюю. Рассмотрим на примере двух частиц и

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

Опишем подробнее взаимодействие на уровне нити: растяжение/ сжатие. Ткань достаточно легкая, то есть ее вес в удаленных узлах оказывает пренебрежимо малое влияние на рассматриваемую частицу. Предположим, что на каждую внутреннюю частицу влияют 4 соседних.

Силу растяжения/сжатия будем вычислять следующим образом:

где – расстояние между частицами, – линейный коэффициент растяжения/сжатия, - расстояние между частицами в состояние покоя. Откуда мы получаем внутреннюю силу воздействия частицы на соседнюю.

Вернемся к системе дифференциальных уравнений с начальными условиями

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

Рис. 8. Метод Эйлера. Иллюстрация расчета будущего состояния системы
методом Эйлера на одном шаге.

Моделируя поведение ткани, мы вводим параметр T с интервалом [0;500] для создания анимации.

Рис.9. Деформированная прямоугольная поверхность ткани ().

Перед тем как описывать зависимость моделирования поведения ткани от её физических свойств, внесем несколько дополнений [36], которые повлияют на реалистичность деформированной поверхности и временные затраты при решении системы.

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

с начальными условиями . M - матрица инерции (диагональная матрица, которая описывает распределение масс ткани), С – матрица демпфирования. Введем обозначение и перепишем систему уравнений следующим образом:

Количество частиц как правило велико (в методе из раздела 2 взят лишь прямоугольный кусок ткани, который состоит из 400 частиц) и каждое вычисление силы требует дополнительные временные затраты, поэтому для решения системы воспользуемся схемой с перешагиванием:

Метод второго порядка точности и в сравнении с классическим явным методом Эйлера, обладает большей устойчивостью, позволяя на порядок увеличить шаг интегрирования [37]. Далее займемся оптимизацией модели для большей реалистичности.

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

Рис. 10. Типы деформируемых ребер. Взаимодействия растяжения-сжатия, сдвига и изгиба обозначены связями 1, 2 и 3 соответственно.

Силу растяжения-сжатия будем вычислять аналогично тому, как это сделано в разделе 2 статьи Ландовский В.В. “Компьютерное моделирование ткани” [36] (рис. 11а). Моделирование взаимодействий изгиба и сдвига представим через растяжение-сжатие. В этом случае взаимодействие сдвига заменим растяжением-сжатием частиц, образующих диагональ ячейки (рис. 11б), а в случае изгиба введем дополнительные взаимодействия отталкивания через узел (рис. 11в).

Рис.11. Взаимодействие частиц.

Далее повторно рассчитываем внутреннюю силу, с которой одна частица воздействует на другую. Остановимся на представлении через растяжение-сжатие взаимодействий изгиба и сдвига. Запишем силы перечисленных взаимодействий:

Рис. 12. Типы взаимодействий.

Для представления конкретной ткани, достаточно вычислить ее механические и физические свойства и подставить коэффициенты. Взять для пробной визуализации данные параметры можно из системы Kawabata. В настоящее время есть множество работ, в которых использованы подобные расчеты [38], включая свойства волокон ткани (табл. 1).

Волокно (нить)	Диаметр (микрометр)	Модуль Юнга (ГПа)	Предел прочности на растяжение	Деформация при разрыве
хлопок	91	304	106641	51
шерсть	411	3.40.1	13537	2712
ПЭТ	17.00.2	10.50.4	86831	211
вискоза	13.00.5	232	54592	122

Таблица 1. Механические свойства волокон различных тканей.

1.3. Создание соединительных швов

Перейдем к моделированию швов, которое, безусловно, отличается от симуляции ткани. В приложении Б мы опустили моделирование швов, рассматривая поверхность ткани без учета сшивания её с другой деталью выкройки. При моделировании поведения сложных поверхностей (футболка, плащ, другая одежда), стоит вплотную заняться симуляцией соединительных швов. На этом этапе сталкиваемся с особенностями характеристик шва, которые отличаются от основных – для ткани. Процесс осложняется тем, что, как правило, в местах соединения, у деталей оказывается разное количество частиц, что не позволяет применять методы, используемые для целостной ткани. Рассмотрим метод, описанный в работе Ландовского В. В. и Ландовской И. Е. [37].

Во время реализации шва учитываются расположения частиц двух «сшиваемых» деталей. По ширине шов состоит из 3 частиц, потому что это позволяет смоделировать параметры шва, такие как растяжение-сжатие, изгиб и сдвиг, что влияет на «жесткость» шва. Частицы шва расположены так, что в начальном состоянии соответствуют расположению крайних частиц деталей на «сшиваемых» сторонах. Если сшиваемые детали по линии соединения не содержат «совпадающих» частиц, то шов по длине будет состоять из частиц, где — количество частиц на линии соединения первой части выкройки, а — количество частиц на линии соединения второй части (рис. 13).

Рис.13. Модель до начала “сшивания”.

Далее указываем, какие частицы должны быть соединены между собой, и начинаем первый этап сборки. Так как расстояния между частицами шва различны, во время вычисления используем нормирующий коэффициент, что дает одинаковое воздействие сил на частицы. При моделировании «сшивания» внешние силы не применяются, а рассматривается только взаимодействие с объектом. Силы для сшивания применяются только к частицам, находящимся на границах деталей и шва, что гарантирует, соединение двух деталей изделия в одно по линии шва (рис. 14).

Рис.14. Модель боди после сшивания и взаимодействия с манекеном.

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

1.4. Взаимодействие ткани с недеформируемой поверхностью

При вычислении нового положения частиц, приходится проверять, взаимодействовала ли какая-либо частица с поверхностью трехмерного тела, которая на этом этапе представлена сеткой с четырехугольными примитивами (рис. 15). Если в некоторый момент времени частица оказалась внутри тела или на его поверхности, то необходимо скорректировать ее положение и скорость.

Рис.15. Модель манекена.

Данный метод [38] позволяет симулировать поведение ткани при взаимодействии с твердым телом с недеформируемой поверхностью. Переопределим для удобства обозначения в дискретной модели ткани следующим образом (рис.16).

Рис.16. Дискретная модель ткани.

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

.

Рассмотрим следующий случай:

или

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

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

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

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

1.5. Результат
1.5.1. Виртуальная сцена, основные параметры

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

Сцену мы конструировали исходя из реальных параметров фотостудии, что позволит верно расположить источники света (рис. 17). На фронтовой части слева от объекта мы разместили источник мягкого света (softbox), над объектом и позади него расположены основные источники квадратной формы со стороной в 40см для создания теней по всему силуэту манекена. Помимо искусственного света для контраста присутствует естественный источник меньшей интенсивности (солнце) в совокупности с глобальным освещением. Более подробная информация о принципах освещения и их алгоритмах в сцене 3Ds Max находится в документации.

Рис.17. Виртуальная сцена.

Важно учитывать электромагнитные свойства материала, на который падет свет. Если рассмотреть материал ткани, можно заметить, когда луч света падает под углом, текстура ткани практически не видна, данный участок подсвечен ярким светом.

Уравнения Френеля определяют амплитуды и интенсивности преломлённой и отражённой электромагнитных волн при прохождении через плоскую границу раздела двух сред с разными показателями преломления.

Рис.18. Параметры уравнения Френеля.

При падении на плоскую границу различают две поляризации света. s-Поляризация — это поляризация света, для которой напряжённость электрического поля электромагнитной волны перпендикулярна плоскости падения (т.е. плоскости, в которой лежат и падающий, и отражённый луч).

где – угол падения, – угол преломления,

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

– амплитуда волны, которая падает на границу раздела,

– амплитуда отраженной волны,

– амплитуда преломленной волны

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

Углы падения и преломления для связаны законом Снеллиуса.

относительный показателем преломления двух сред.

Коэффициент отражения

Коэффициент пропускания

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

p-Поляризация — поляризация света, для которой вектор напряжённости электрического поля лежит в плоскости падения.

Запишем коэффициенты отражения и пропускания:

В частном случае нормального падения света исчезает разница в коэффициентах отражения и пропускания для p- и s-поляризованных волн.

Рис.19. График коэффициентов отражения, пропускания в зависимости от значения угла падения в градусах по горизонтальной оси и от коэффициента отражения в процентах по вертикальной оси.

Для человеческой кожи и ткани мы используем “SSS шейдер” с техникой, описывающей распространение света через полупрозрачные тела, так как данные материалы не являются диэлектриками, которые в свою очередь имеют лишь поверхностные отражения. В реальности часть света проникает внутрь некоторых материалов. Суть подповерхностного рассеивания состоит в симуляции распространения света в полупрозрачных сплошных телах (объектах, материалах). Подповерхностное рассеивание описывает механизм распространения света, при котором свет, проникая внутрь полупрозрачного тела через его поверхность, рассеивается внутри самого тела, многократно отражаясь от частиц тела в случайном направлении и на нерегулярные углы.

Свет выходит из объекта в точке, отличной от точки вхождения в объект. Чтобы понять, каким образом, в какую сторону будут рассеиваться фотоны, рассмотрим способ расчета функции внутреннего рассеяния (ФВР или BSSRDF) нитей путем моделирования рассеяния и поглощения света в их объеме с помощью метода Монте-Карло [57], где нити в тканях представляют собой рассеивающую среду. В работе “Физически обоснованная модель распространения света в ткани и ее валидация” Волобой А.Г. [56] представлен способ получения двунаправленной функции отражения (ДФО или BRDF) нитей из ФВР путем интегрирования ФВР по поверхности нити, представленной цилиндром.

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

Рис.20. Фотография реальной ткани, освещенной с внешней, внутренней стороны и виртуальная модель аналогичной ткани, освещенной с внешней, внутренней стороны соответственно.

1.5.2. Визуализация изображений для web-service

В разработанной 3D сцене мы создаем плоскую картинку – цифровое растровое изображение для web сервиса. В данной работе вся сцена создана в программе Autodesk 3Ds Max, к которой мы подключили плагин Vray. Данный плагин представляет из себя систему рейтрейсного (рис.20) рендеринга (визуализацию изображения). То есть алгоритм, основанный на исследование оптических систем путём отслеживания взаимодействия отдельных лучей с поверхностями. В узком смысле — технология построения изображения трёхмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику).

Рис.21. Алгоритм трассировки (рейтрейсинг) лучей.

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

Визуализатор Vray позволяет производить рендер в режиме “выбор/selected”, то есть создается изображение лишь выделенного объекта, с учетом геометрических и физических свойств иных объектов в сцене, с помощью создания маски. Что дает возможность комбинировать слои на сайте, для которого заранее подготовлены изображения в формате png (рис. 22).

Рис.22. Результат симуляции нижнего белья в формате png.

Глава 2. Web-service

2.1. Постановка задачи

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

2.2. Взаимодействие данных из 3Ds Max и web сервиса

Получив данные о параметрах тела клиента, облако точек, текстуру его трехмерной модели, мы запускаем предварительный просчет симуляции одежды. После того как все слои готовы, клиент получает полноценный доступ к сайту и личному кабинету. При выборе той или иной одежды на сайте (рис. 23), формируется составное имя. Имена предварительно создаются при режиме “выбора” в системе рендеринга. Данная процедура представляет из себя переключатель между разделами и подразделами на сайте для демонстрации различных комбинаций изделий:

skirt_NN_material_NN_color_NN_ body_NN_material_NN_color_NN_..._XX,

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

Рис.23. Интерфейс web сервиса.

2.3. Функционал сайта, демонстрация.

Основной функционал сайта доступен по электронному адресу dressapp.com.

Заключение

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

Создание своей библиотеки шейдеров с измеренной BSSRDF на основе технологии подповерхностного рассеивания;

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

Изменение алгоритма симуляции ткани и дискретной модели;

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

Рис.24. Недостаток неравномерной сетки при сглаживании.

Вместе с тем большинство объектов, с которыми взаимодействует ткань, имеют радиальную форму, то есть при хаотичной треугольной сетке, созданной на основе модификатора Garment maker в 3Ds Max, например, есть возможность показать более реалистичный результат. Аналогичный подход к созданию сетки используется в статье студии Pixar: “Cloth and Fur Energy Functions” Michael Kass [6]. Подобная сетка создана с помощью триангуляции Делоне, что дает неравномерную деформацию, в противном случае мы часто получаем симметричный результат, что выглядит нереалистично. Однако важно понимать, что прежнюю математическую модель нужно доработать. Также внести изменения в уравнения для учета направления нити. Объединить преимущества двух подходов можно, установив связь между копиями одного и того же изделия одежды. То есть по итогу симуляции одной копии, мы приближаем вершины сетки, благоприятной для сглаживания, к полученной поверхности.

Рис.25. Связь сетки с квадратными примитивами, приближенной к равномерной, и сетки, полученной с помощью модификатора Garment Maker.

Комбинирование методов для получения облака точек по изображениям;

При реконструкции трехмерной модели возникает необходимость создания интегрированной системы, которая могла бы сочетать в себе сильные стороны различных подходов, за счет чего компенсировать слабые стороны каждого из подхода в отдельности, путем выбора наиболее подходящих алгоритмов для различных участков сложной сцены. За основу такой системы есть смысл взять алгоритмы класса «Shape from Motion» на основе декомпозиции матриц, который подробнее рассмотрен в [50]. Причиной подобного выбора стали следующие достоинства алгоритмов:

1. относительно невысокая сложность и объем данных для обработки,
полученных из большого количества изображений;
2. согласованная обработка данных;
3. возможность достраивать и уточнять ране созданную модель при получении новых данных о сцене;
4. высокая точность построения модели трехмерной сцены;
5. возможность реконструкции сцены с движущимися объектами.

Другие подходы можно интегрировать в такую систему различными способами. Алгоритмы, в основе которых лежит декомпозиция матриц восстанавливают пространственные координаты только для особых точек сцены, поэтому имеет место задача интерполяции – на основе найденных пространственных координат необходимо построить поверхности сцены. Так алгоритмы класса «Shape from Stereo» могут быть применены для реконструкции поверхностей, которые имеют выраженную текстуру. Алгоритмы «Shape from focus and defocus» хорошо работают с поверхностями, у которых текстура зависит от масштаба. Есть возможность использовать их совместно. Что касается восстановления поверхностей, текстур которых слабо различима, то тут применимы алгоритмы класса «Shape from shading». Откуда вытекают минимум два подхода для интегрирования остальных методов реконструкции 3D сцены:

1) Применение описанных выше методов может заменить задачу интерполяции на задачу реконструкции формы части сцены, границы которой могут быть получены из ранее полученной модели. Для объектов, находящихся близко, первичную оценку расстояний можно получить благодаря методам стерео [13], [51]. Также можно произвести грубое разделение сцены на области по признаку удаленности и уже для них использовать наилучший подход для реконструкции. Для движущихся объектов выделение можно произвести, используя стерео или дефокусировку с совмещенной камерой [52], что также облегчит обработку выделенных областей трэкером особых точек [53].

2) Интерполяцией есть возможность получить начальное приближение поверхностей сцены (меш). Это приближение может уточняться описанными выше методами вплоть до получения плотной карты глубины реконструируемой сцены. Метод уточнения можно выбирать, основываясь на анализе текстур и расстояния от камер до уточняемой части сцены. Это расстояние может быть оценено как дистанция от вычисленного положения камеры до поверхности, задаваемой мешем.

Для областей, текстура которых слабо выражена, применимы алгоритмы класса «Shape from Shading», для неоднородных областей – алгоритмы [28]. На практике наличие начального приближения значительно повышает скорость сходимости. В случае наличия близких к камере поверхностей с мелкой текстурой особо интересным является подход [13].

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

Детекторы особенностей делятся на несколько категорий – по типу особенностей, которые они ищут. К примеру, детекторы на контурной основе находят контуры на изображении и ищут точки, обладающие особыми свойствами, например, стыки, концы контуров или точки, в которых кривизна кривой контура приобретает максимальное значение. Аналогичный подход был описан в [27], где используются точки перегиба плоской кривой. Детекторы на основе интенсивности находят особые точки, путем изучения изменения интенсивности. Таким детектором является, например, уголковый детектор Харриса [28], он частично инвариантен к преобразованиям поворота и к изменению освещения, но не к масштабу.

В целях создания детектора, инвариантного к масштабу была предложена концепция блобов (Blobe). Блобами называют каплевидные окрестности с особой точкой в центре. Большинство таких детекторов связано с автокорреляционной матрицей [28], [29], [30]. Однако более новые детекторы, такие как SIFT [31], используют фильтр лапласиан гауссианов (LoG) или разности гауссианов (DoG).

Действие камеры можно рассматривать как проецирование точек трехмерного пространства на плоскость изображений, где эти же точки уже будут представляться в виде , путем определения (в модели камеры-обскуры, – фокусное расстояние [32]. Так в модели камеры-обскуры проекция точки трехмерного пространства на плоскость изображения выглядит как

.

Таким образом, камера может представляться матрицей , которая преобразует набор точек трехмерного пространства в точки изображения [33], а
где – это матрица проективного преобразования размерностью 3x4. Такая матрица содержит информацию о камере, включая как внутренние параметры, а именно фокусное расстояние, угол наклона пикселей и координаты принципиальной точки, так и внешние параметры, которые определяют преобразование координат точек сцены из мировой системы координат в систему координат, связанную с камерой [34], [35]. Матрица полностью калиброванной камеры выглядит следующим образом:

где содержит внутренние параметры камеры, R и t параметры поворота и переноса. Внутренние параметры представляются в виде верхнетреугольной матрицы

где и соответствуют фокусному расстоянию, которое измеряется в ширине и высоте пикселя, это угол наклона пикселя и – координаты принципиальной точки [35], как описано на рисунке 7. Принципиальной точкой называется точка пересечения главной оси (оптической оси) с плоскостью изображения. Угол наклона пикселя s зависит от физического угла между вертикальной и горизонтальной осями датчика (ненулевой для неквадратных пикселей). Пропорции изображения определяются отношением вертикальной и горизонтальной составляющей фокусного расстояния (альфаx/альфаy).

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

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

Рис.27. Облако точек преобразовано в полигональную модель (19313 вершин).

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

Рассмотрим две кривые: (красная), (зеленая). Идея метода заключается в приближении точек одной кривой к точкам другой, вычисляя перебором ближайшую вершину по норме, удлиненной в сторону нормали:

Рис 28. Алгоритм приближения: двумерный случай (кривые , b: (x1, y1))

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

.

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

Рассмотрим квадратичную форму

где – ортогональная матрица поворота:

где – вектор из .

Квадратичная форма зависит от двух переменных , найдутся некоторые числа , что после присваивания функции квадратичной формы к единице, получим следующее уравнение:

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

Если приравнять квадратичную форму к единице, по смыслу мы получаем уравнение эллипса с перпендикулярными осями, одна из которых направлена как вектор нормали, приложенный к точке кривой a. Так как в нашем случае уравнение эллипса вида

можно сделать вывод, что одна из осей больше растянута (коэффициенты и взяты экспериментальным путем). При правильном масштабировании и сдвиге модели, данные коэффициенты дают устойчивые результаты [Приложение А].

Рис 29. Результат приближения: двумерный случай (кривые , )

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

Рис 30. Результат приближения шаблонной модели в прикладной программе WrapX.

Подобная процедура позволяет нам вычислять заготовленные заранее параметры тела, для конструирования выкроек и дает возможность определять нужные участки для дальней симуляции одежды.
На основе проделанной работы стоит задача создать единый итеративный процесс, когда одежда в определенных участках крепится к базовому манекену при допустимом расстоянии от недеформируемой поверхности, чтобы не сползать при изменении параметров. После чего запускаем процесс приближения базовой модели к полученному по изображениям объекту, вычисляя одновременно деформацию ткани на каждой итерации. Это позволит синхронизировать предварительный просчет в программном обеспечении 3Ds Max с web сервисом.

Список литературы

Руководство пользователя Agisoft PhotoScan. – Режим доступа: http://www.ognelis.ru/files/catalog/products/agisoft/photoscan-pro_0_9_1_ru.pdf. - (Дата обращения: 17.03.15)

Курс компьютерного зрения, структура и движение. – Режим доступа: https://docviewer.yandex.ru/?url=ya-mail%3A%2F%2F2490000003164285446%2F1.2.2&name=sfm.pdf&c=549080d5c204- (Дата обращения: 03.12.14)

Курс компьютерного зрения, локальные особенности. – Режим доступа: http://courses.graphicon.ru/files/courses/vision/2011/lectures/cv2011_05_features.pdf- (Дата обращения: 03.12.14)

Huamin Wang, James F. O’Brien “Data-Driven Elastic Models for Cloth: Modeling and Measurement” [Электронный ресурс]. – Режим доступа: http://graphics.berkeley.edu/papers/Wang-DDE-2011-08/Wang-DDE-2011-08.pdf - (Дата обращения: 12.01.15)

“Folding and Crumpling Adaptive Sheets” Rahul Narain, Tobias Pfaff [Электронный ресурс]. – Режим доступа: http://graphics.berkeley.edu/papers/Narain-FCA-2013-07/Narain-FCA-2013-07.pdf - (Дата обращения: 15.01.15)

“Cloth and Fur Energy Functions” Michael Kass [Электронный ресурс]. – Режим доступа: : http://cs.mcgill.ca/~kry/comp559W13/pbm2001.pdf - (Дата обращения: 12.02.15)

P.S. Tsai, M. Shah. Shape from shading with variable albedo. // Optical Engineering, April 1998, Vol. 37 No. 4, P. 121–1220 - (Дата обращения: 03.03.15).

Сивухин Д.В. Общий курс физики. Том 4. Оптика. – М.: ФИЗМАТЛИТ, 2005. 792 с - (Дата обращения: 03.03.15).

R. Zhang, P.S. Tsai, J. E. Cryer, M. Shah. Shape from shading: A survey. // IEEE Transactions on Pattern Analysis and Machine Intelligence, August 1999, Vol. 21 Issue 8, P. 690–706 - (Дата обращения: 03.03.15).

A. Pentland. Shape information from shading: a theory about human perception // Second International Conference on Computer Vision, December 1988, P. 404–413 - (Дата обращения: 03.03.15).

R. Zhang, P.S. Tsai, J. E. Cryer, M. Shah. Analysis of shape from shading techniques. // IEEE Computer Society Conference on Computer Vision and Pattern Recognition, June 1994, P. 377–384 - (Дата обращения: 03.03.15).

P.S. Tsai, M. Shah. Shape from shading using linear approximation // Imageand Vision Computing, October 1994, Vol. 12 Issue 8, P. 487–498 - (Дата обращения: 03.03.15).

Y. Xiong, S. Shafer. Depth from focusing and defocusing. http://www.cs.cmu.edu/~yx/papers/IUW93.ps.Z - (Дата обращения: 02.03.15).

V. Roberto, A. Fusiello, E. Trucco. Experiments with a new area-based stereo algorithm // Lecture Notes in Computer Science, 1997, Vol. 1310, P. 669–676 - (Дата обращения: 02.03.15).

S.T. Bernard. A stochastic approach to stereo vision // Proceedings of the 5th National Conference on Artificial Intelligence, August 1986, P. 676–680 - (Дата обращения: 02.03.15).

A. Koschan, V. Rodehorst. Towards real-time stereo employing parallel algo-rithms for edge-based and dense stereo matching // Proceedings of the IEEE Workshop on Computer Architectures for Machine Perception CAMP'95, September 1995, P. 234–241 - (Дата обращения: 02.03.15).

S. Roy, I. J. Cox. A maximum-flow formulation of the n-camera stereo corre-spondence problem // IEEE. Proceedings of International Conference on Computer Vision, January 1998, P. 492–499 - (Дата обращения: 02.03.15).

J. E. Cryer, P.S. Tsai, M. Shah. Integration of shape from shading and stereo // Pattern Recognition, January 1995, Vol. 28 Issue 7, P.1033–1043 - (Дата обращения: 02.03.15).

C.F. Hall, E.L. Hall. A nonlinear model for the spatial characteristics of the human visual system // IEEE Transactions on Systems, Man, and Cybernetics, March 1977, Vol. 6, P. 161–170 - (Дата обращения: 02.03.15).

T. Kanade, M. Han. Scene reconstruction from multiple uncalibrated views // Technical report, The Robotics Institute, Carnegie Mellon University, January 2000 - (Дата обращения: 04.03.15).

A. Azarbayejani, T. Jebara, A. Pentland. 3d structure from 2d motion // IEEE Signal Processing Magazine, May 1999, Vol. 16, P. 66–84 - (Дата обращения: 02.03.15).

G. S. Bestor. Recovering Feature and Observer Position by Projected Error Refinement // PhD thesis, Computer Scince Department, University of Wisconsin - Madison, August 1998 - (Дата обращения: 02.03.15).

C. J. Poelman, T. Kanade. A paraperspective factorization method for shape and motion recovery // IEEE Transactions on Pattern Analysis and Machine Intelligence, March 1997, Vol. 19 Issue 3, P. 206–218 - (Дата обращения: 02.03.15).

J. Costeria, T. Kanade. A multi-body factorization method for motion analysis // Technical report, School of Computer Science, Carnegie Mellon University, September 1994 - (Дата обращения: 02.03.15).

C. Tomasi, T. Kanade. Shape and motion from image streams: a factorization method (orthographic method) // International Journal of Computer Vision, November 1992, Vol. 9 Issue 2, P. 137–154 - (Дата обращения: 02.03.15).

T. Morita, T. Kanade. A sequential factorization method for recovering shape and motion from image streams // IEEE Transactions on Pattern Analysis and Machine Intelligence, August 2002, Vol. 19 Issue 8, P. 858–867 - (Дата обращения: 02.03.15).

F. Mokhtarian, A. Mackworth. Scale-Based Description and Recognition of Planar Curves and Two-Dimensional Shapes // IEEE Transactions on Pattern Analysis and Machine Intelligence, September 1986, Vol. 8 Issue 1, P. 34–43 - (Дата обращения: 01.03.15).

C. Harris, M. Stephens. A Combined Corner and Edge Detector // Proceedings of the 4th Alvey Vision Conference, 1988, P. 147–151 - (Дата обращения: 01.03.15).

W. Fцrstner. A framework for low-level feature extraction // Proceedings of the third European conference on Computer Vision, Vol. 2, 1994, P. 383–394 - (Дата обращения: 01.03.15).

T. Tomasi, C. Kanade. Detection and Tracking of Point Features. http://www.lira.dist.unige.it/teaching/SINA/slides-current/tomasi-kanade-techreport-1991.pdf - (Дата обращения: 01.03.15).

D. Lowe. Object recognition from local scale-invariant features. // Proceedings of the International Conference on Computer Vision, 1999, Vol. 2, 41 P. 1150–1157 - (Дата обращения: 01.03.15).

Y. Aloimonos. Perspective approximations // Image and Vision Computing, 1990, Vol. 8 Issue 3, P. 179–192 - (Дата обращения: 01.03.15).

O. Faugeras. Three-dimensional computer vision: A geometric viewpoint. MIT press, 1993 - (Дата обращения: 01.03.15).

R. Hartley, J. Mundy. The relationship between photogrammetry and computer vision // Integrating Photogrammetric Techniques with Scene Analysis and Machine Vision, 1993, Vol. 1944, P. 92–105 - (Дата обращения: 01.03.15).

R. Hartley, A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press. 2003. P. 655 - (Дата обращения: 01.03.15).

Ландовский В.В. Компьютерное моделирование ткани - (Дата обращения: 12.03.15).

Ландовский В.В. Моделирование сборки деталей из тканных материалов на твердотельных поверхностях - (Дата обращения: 12.03.15).

Landovsky V. Integration methods in the problem of modelling of fabric based on particles method. Proc./15th International Conference on Computer Graphics and Applications. Novosibirsk, 2005. p. 234—241 - (Дата обращения: 12.03.15).

Basu - tensile deformation of fibers used in textile industry - (Дата обращения: 12.03.15).

Sismem of Kawabata - (Дата обращения: 12.03.15).

Xianyi Zeng, Yi Li, Da Ruan, Ludovic Koehl(Eds.) Computational Textile - (Дата обращения: 12.03.15).

Gallager R. Metod_konechnykh elementov Osnovy - (Дата обращения: 12.03.15).

Samarsky Vvedenie v chislennye metody - (Дата обращения: 12.03.15).

P.wriggers - computational contact mechanics - (Дата обращения: 12.03.15).

D. Baraff and A. Witkin. Large steps in cloth simulation. Computer Graphics (Proc. SIG-GRAPH), 1998 - (Дата обращения: 12.03.15).

W. H. Press, B. P. Flannery, S. A. Teukolsky and W. T. Vetterling. Numerical Recipes. Cambridge University Press, 1986 - (Дата обращения: 12.03.15).

D. Baraff and A. Witkin. Implicit Methods for Differential Equations - (Дата обращения: 12.03.15).

Huamin Wang, James F. O’Brien, and Ravi Ramamoorthi. ”Data-Driven Elastic Models for Cloth: Modeling and Measurement” - (Дата обращения: 12.03.15).

Doyub Kim, Woojong Koh, Rahul Narain, Kayvon Fatahalian, Adrien Treuille, James F. O’Brien: Near-exhaustive Precomputation of Secondary Cloth Effect - (Дата обращения: 25.03.15).

Чепрасов Д. Е. Квалификационная работа: Восстановление 3-х мерного облака точек по неупорядоченной коллекции изображений - (Дата обращения: 25.03.15).

V. Kolmogorov, R. Zabih. Computing Visual Correspondence with Occlusions using Graph Cuts // International Conference on Computer Vision, July 2001, Vol.2, P. 508–515 - (Дата обращения: 25.03.15).

M. Watanabe, S.K. Nayar, M. Noguchi. Real-time focus range sensor // IEEE. Proceedings of International Conference on Computer Vision, June 1998, P. 492–499 - (Дата обращения: 25.03.15).

T. Kanade, C. Tomasi. Shape and motion from image streams: a factorization method – part 3. Detection and tracking of point features. http://www.pnas.org/content/90/21/9795.full.pdf - (Дата обращения: 25.03.15).

S. Birchfield, C. Tomasi. Multiway Cut for Stereo and Motion with Slanted Surfaces // Proceedings of the Seventh IEEE International Conference on
Computer Vision, September 1999, P. 489–495 - (Дата обращения: 25.03.15).

Henrik Wann Jensen, Stephen R. Marschner, Marc Levoy, Pat Hanrahan //
A Practical Model for Subsurface Light Transport - (Дата обращения: 25.03.15).

Волобой А.Г //Физически обоснованная модель распространения света в ткани и ее валидация - (Дата обращения: 08.05.16).

А.А. Гарбуль1 , Д.Д. Жданов1 , В.А. Майоров2 , В.Г. Соколов2 1 ГОИ им. С.И. Вавилова, 2 ИПМ им. М.В. Келдыша // Недетерминированная трассировка луча в задачах анализа светорассеивания и проектирования осветительных систем - (Дата обращения: 08.05.16).

Приложение

Приложение А: 2D аппроксимация.
Алгоритм написан на Mathematica, позволяет устремлять точки одной кривой к точкам другой по норме.

Приложение Б: моделирование полотна ткани 20x20 вершин.
Алгоритм написан на Mathematica для простейшего случая, с целью сравнить результат симуляции с полученными раннее.

http://graphics.berkeley.edu/papers/Wang-DDE-2011-08/Wang-DDE-2011-08.pdf

http://graphics.berkeley.edu/papers/Narain-FCA-2013-07/Narain-FCA-2013-07.pdf

http://www.pixar.com/companyinfo/research/pbm2001/pdf/notesa.pdf

http://www.agisoft.com/

https://www.khronos.org/registry/webgl/specs/1.0/

http://lib2.podelise.ru/docs/60102/index-4706-13.html

Kawabata Evaluation System for Fabrics – это стандартное оборудование для измерения физических и механических свойств конкретного тканого материала.

http://www.autodesk.ru/products/3ds-max/overview

https://en.wikipedia.org/wiki/Softbox

http://docs.autodesk.com/3DSMAX/15/ENU/3ds-Max-Help/index.html

Преломление света — статья из Большой советской энциклопедии (3-е издание).

http://graphics.stanford.edu/~henrik/papers/bssrdf/bssrdf.pdf

http://www.chaosgroup.com/en/2/vray.html

https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/3DSMax/files/GUID-A83EFE96-DB1E-4C50-93D9-CBA62538E6D3-htm.html

http://www.russian3dscanner.com/