Tutorial on modelling cloth (навчальна стаття з моделювання тканини), p s karthikeyan, p s

Цей навчальний посібник про моделювання тканини (її поведінки) в різних ситуаціях: тканина, накинута на тверде тіло, тканина, драпіровані на манекенниці, вільно висить тканину, тканину, що знаходиться в повітрі і т.д. Ми дамо загальний короткий огляд різних методів. Ми будемо мати справу з одним методом докладно і покажемо, як зробити власну модель симуляції одягу, використовуючи цей метод.

Можна класифікувати більш ранні зусилля вчених з моделювання складних складок і драпіровок тканини, визначивши різні групи:

Аніматори комп'ютерної графіки. які поглинені тільки драпіруванням і формою тканини з точки зору для отримання природних ефектів, оживляючих картинку. Ними були розроблені моделі тканини, засновані на її поведінці. При цьому в роботі не приділялося уваги фізичним властивостям тканин. Такі моделі не можуть використовуватися для передбачення, яким чином та чи інша тканина поведеться в тої чи іншої ситуації.

Інженери автоматизованого проектування. які моделювали тканину в термінах її механічної поведінки. Проблема моделювання тканини розглядалася як проблема структурної механіки. Наголос робився на вимір традиційних механічних властивостей, наприклад, модуля юнга, відносини Пуассона і т.д. Як виявилося, ці моделі не є адекватними для передбачення драпірування тканини, тому що вони не розглядали внутрішню структуру тканини - переплетення ниток. У нашому навчальному посібнику даний метод не буде розглядатися.

Роботи, які об'єднують два вищезгаданих підходу. Ця робота була проведена в основному завдяки дизайнерам одягу, яким моделювання тканин потрібно з професійної точки зору. Дизайнеру, наприклад, для вдалого проектування інтер'єру, хотілося б порівняти, як буде виглядати, вовняний завісу в порівнянні з бавовняним.

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

Комп'ютерні Моделі Мультиплікація

Комп'ютерні аніматори, що моделюють тканину, не дуже переймалися внутрішніми властивостями тканин, які відрізняються в залежності від типу тканини. Їх технікою було уявити "тканина як матеріал" або "середню тканину", яка вела б себе певним чином, в залежності від заданих обмежень. Наприклад: рендеринг квадратного шматка тканини, накинутого на сферу.

У самому підході можна виділити три частини.

Геометричне моделювання. тканина не моделюється фізично як нова структура. Емпірично розширюються інші теорії механіки. Ці методи дуже швидкі обчислювальному відношенні, але не дуже привабливими візуально.

Фізичне моделювання із застосуванням енергетичних функцій. тканину розглядається як a якась нова структура, модель якої і пропонується. Ці методи - моделі мінімізації енергії. Їх основа - закон природи: кожне тіло прагнути зайняти стійке положення, в якому його потенційна енергія мінімальна.

Кожне тіло має потенційну енергію і кінетичну енергію. Кінетична енергія, як відомо, залежить від його швидкості, і дорівнює (mv 2) / 2. Потенційна енергія тканини - це щось, чого ми не знаємо, але можемо визначити згідно обраної моделі.

Як тільки отримана потенційна і кінетична енергія, наша проблема - наполовину вирішена. Все, що ми повинні зробити, - визначити тканину, використовуючи сітку частинок для дискретизації проблеми. Далі - рівняння руху Лагранжа:

Рівняння Лагранжа - фундаментальне рівняння кінематики, яке використовується для визначення стійкого положення, за умови, що відома енергія тіла. Фізично рівняння означає що:

Для вирішення диференціального рівняння, слід її дискретизувати проблему. Крім того, для повного вирішення потрібно граніченое умова. Граничні умови будуть такі:

Коли час t = 0. тканина знаходиться в положенні спокою. Швидкість всіх точкек дорівнює нулю. Ми можемо довільно визначити просторове гранична умова, оределяющее розташування всіх точок в t = 0. Наприклад, якщо ми накидаємо тканину на куб, то очевидно буде почати з тканини, яка лежить, аркуш паперу на кубі - прямокутник в горизонтальній площині, а потім дозволити їй падати і створювати складки. Див. Фігуру нижче.

Це дає подальший набір i * j умов.

Використання цих граничних умов і рішення диференціальних рівнянь в чисельному вигляді дасть ряд рівнянь, що включають позиції елементів сітки (i, j) для всіх точок сітки.

Рішення цих рівнянь призведе до стійкого положення точок сітки, який становить драп тканини.

Фізичне моделювання з використанням сили Включимо силу в фізичну модель поведінки тканини. Будемо використовувати закон:

де r - вектор положення точки. Ми визначаємо всі сили (внутрішні та зовнішні), які діють на тканину. Діскретізіруем проблему і знову одночасно вирішуємо набір рівнянь, щоб отримати положення частинок в стійкому положенні, як в попередньому методі.

геометричні моделі

Геометричні моделі не розглядають фізичних властивостей тканин. Швидше, вони зосереджуються на зовнішньому вигляді такни, особлива увага приділяється згинах і складкам які представляються геометричними рівняннями. Геометричні методи вимагають в значній мірі призначеного для користувача втручання. Всі вони дуже специфічні. Наприклад, одна техніка може дуже добре уявити тканину, підвішують (фіксується) в декількох точках. Інша техніка може дуже добре уявити складки і згини.

Робота Вейла (Weil)

Вейл 1 був першим, хто моделював тканину будь-яким чином. Його робота 1986 року використовувала просту геометричну модель, яка сталася з теорії кабелю. Він працював над специфічною проблемою підвішування тканин на кінцевому безлічі точок (наприклад, на трьох або чотирьох точках).

Кабель під власною вагою в стійкому положенні формував ланцюгову криву. Ця крива описувалася рівнянням: y = a cosh (x / b)

Ту ж логіку можна поширити на тривимірний простір для тканини. Тканина, підвішена на кінцевому числі точок - логічне розширення ланцюгової кривої в площині. Таким чином ми можемо використовувати систему ланцюгових кривих, щоб представити тканину.

Нехай, тканину підвішена на точках. Володіємо ланцюгові криві між двома діагоналями, які, зрозуміло, перетинаються. Все, що потрібно зробити - це знайти результуючу криву, але щоб спростити роботу - ігноруємо нижню з двох кривих.

На даному етапі ми маємо грубу каркасну модель форми тканини. Далеес слід покращувати форму, ділячи тканину на менші і менші трикутники і маючи в своєму розпорядженні в них ланцюгові лінії. Залежно від необхідної точності моделюється форми, визначається момент припинення ітерацій.

Інший геометричний иетода

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

Для промальовування висить тканини, знаходимо висоту всіх точок в положенні рівноваги. Ми розглядаємо чотирикутник, який зафіксований в 4 точках. Нехай це буде квадрат. Квадрат розділяється а кінцеве число осередків. Ми розглядаємо тільки точки які "падають" всередину чотирикутника. У межах же ми беремо точку, найближчу до лінії, безпосередньо з'єднує фіксовані вершини.

Ми маємо ефективно дискретизованного проблему. Все, що ми повинні зробити тепер - найдти висоту всіх точок в нашій сітці, які лежать в чотирикутнику.

Перший крок - знайти форму кордонів, тому що це найлегше.

Яка найбільш ймовірна форма, яку тканину прийме між двома вершинами? Це, найімовірніше, ланцюгова лінія. Причини вибору ланцюгової лінії в якості форми:
  1. Тканина є легкою і на кожну вершину не надто впливає вага тканини в інших вершинах.
  2. Використовуємо припущення 1 між двома вершинами, якщо єдина ефективна сила, що діє на тканину - вага тканини навколо і між вершинами. Це може бути досить точно наближене до кабелю. Навіть якщо наближення є неправильним, ми всього лише малюємо кордон тканини як кабель.

Ми розширюємо цю логіку на всі вершини багатокутника. Так тепер ми маємо ряд ланцюгових кривих, які дають кордон тканини. Ми повинні визначити форму проміжних ділянок тканини.

Проблема тепер скорочена до виявлення маршруту для кривої AB до CD з граничною умовою нашої AD і BC на гранях для всіх точок. Це можна розглядаються як як усереднення ефекту цих 4 граничних умов для всіх точок.

На кожну внутрішню точку впливають тільки його сусідні 4 точки. Hi, j = / 4,

де Hi, j - висота точки в (i, j).

Використовуючи граничну умову, можна отримати перше наближення місця розташування всіх точок. Але ітерації триватимуть, поки не буде жостігнута стійке положення. Це може бути визначено як abs (Hi, j k - Hi, j k + 1)

де minvalue встановлюється відповідно бажаної точності.

Тепер ми маємо місце розташування всіх точок. Щоб промальовувати форму тканини ми розміщуємо багатокутник між 4 точками і виконуємо трасування променів в сцені.

Недоліки методу:
  1. Ми повністю ігноруємо факт, що тканину розтягується
  2. Припущення є просто емпіричними і не обгрунтовані

Встановлюючи ланцюгову криву між 2 вершинами ми використовуємо рівняння ланцюгової лінії

Ми маємо дві точки і дві константи a, b. Використовуючи дві точки, ми обчислюємо a і b.

Ми моделювали квадратний шматок тканини. Наша ланцюгова лінія зменшується до y =  a; cosh (x) для всіх 4 кордонів. Після заповнюються внутрішні точки.

Посилання відносяться до моделювання тканин

інші посилання