Тривимірна
графіка знайшла широке застосування в таких областях, як
наукові розрахунки, інженерне проектування,
комп'ютерне моделювання фізичних об'єктів. В якості прикладу
розглянемо найбільш складний варіант тривимірного моделювання - створення
рухомого зображення реального фізичного тіла.
У спрощеному вигляді для просторового моделювання об'єкта потрібно:
• спроектувати та створити віртуальний каркас («скелет»)
об'єкта, найбільш повно відповідає його реальній формі;
• спроектувати і створити віртуальні матеріали, за
фізичними властивостями візуалізації схожі на реальні;
• привласнити матеріали різних частин поверхні об'єкта (на
професійному жаргоні - «спроектувати текстури на об'єкт»);
• налаштувати фізичні параметри простору, в якому буде діяти
об'єкт,
• задати освітлення, гравітацію, властивості атмосфери,
властивості взаємодіючих об'єктів і поверхонь;
• задати траєкторії руху об'єктів;
• розрахувати результуючу послідовність кадрів;
• накласти поверхневі ефекти на підсумковий
анімаційний ролик.
Для створення реалістичної моделі об'єкта
використовують геометричні примітиви (прямокутник, куб,
куля, конус та інші) і гладкі, так звані сплайнів поверхні. Вид
поверхні при цьому визначається розташованої в просторі сіткою опорних точок. Кожній
точці присвоюється коефіцієнт, величина якого визначає ступінь її впливу на
частину поверхні, що проходить поблизу точки. Від взаємного розташування
точок і величини коефіцієнтів залежить форма і «гладкість» поверхні в
цілому. Спеціальний інструментарій, який дозволяє обробляти примітиви, які
є об'єктом, як єдине ціле, з урахуванням їх взаємодії на основі заданої
фізичної моделі.
Деформація об'єкта забезпечується
переміщенням контрольних точок, розташованих
поблизу. Кожна контрольна точка пов'язана з прилеглими опорними
точками, ступінь її впливу на них визначається віддаленістю. Інший метод
називають сіткою деформації. Навколо об'єкта або його частини розміщується
тривимірна сітка, переміщення будь-якої точки якої викликає пружну деформацію
як самої сітки, так і оточеного об'єкта.
Ще одним способом побудови об'єктів з примітивів служить
твердотільне моделювання. Об'єкти представлені твердими тілами, які при
взаємодії з іншими тілами різними способами (об'єднання, віднімання, злиття та
інші) зазнають необхідну трансформацію. Наприклад, віднімання з
прямокутного паралелепіпеда кулі приведе до утворення в паралелепіпеді
напівкруглої лунки.
Після формування «скелета» об'єкта необхідно покрити його поверхню
матеріалами. Все різноманіття властивостей в комп'ютерному моделюванні
зводиться до візуалізації поверхні, тобто до розрахунку коефіцієнта прозорості
поверхні і кута заломлення променів світла на межі матеріалу і
навколишнього простору. Для побудови
поверхонь матеріалів використовують п'ять основних фізичних моделей:
• поверхні з дифузним відображенням без відблисків
(наприклад, матовий пластик);
• поверхні зі структурованими мікронерівностями (наприклад,
металеві);
• поверхні зі спеціальним розподілом мікронерівностей з
урахуванням взаємних перекриттів (наприклад, глянець);
• модель, що дозволяє додатково враховувати поляризацію
світла;
• модель, що дозволяє коригувати напрями відображення і
параметри заломлення світла.
Зафарбування поверхонь здійснюється методами Гуро (Gouraud) або
Фонга (Phong). У першому випадку колір примітиву розраховується лише в
його вершинах, а потім лінійно інтерполюється по поверхні. У другому
випадку будується нормаль до об'єкту в цілому, її вектор інтерполюється по
поверхні складових примітивів і освітлення розраховується для кожної точки.
Світло, що йде з поверхні в конкретній точці в бік спостерігача,
представляє собою суму компонентів, помножених на коефіцієнт, пов'язаний
з матеріалом і кольором поверхні в даній точці. До таких
компонентів належать:
• світло, що прийшло із зворотного боку поверхні, тобто
переломлений світло;
• світло, рівномірно розсіюється поверхнею;
• дзеркально відбите світло;
• відблиски, тобто відбите світло джерел;
• власне світіння поверхні.
Властивості поверхні описуються в створюваних масивах текстур
(дво-або тривимірних). Таким чином, у масиві містяться дані про ступінь
прозорості матеріалу; коефіцієнті заломлення; коефіцієнти зміщення компонентів
(їх список вказана вище); кольорі в кожній точці, кольорі відблиску, його
ширини і різкості; кольорі розсіяного (фонового) освітлення; локальних
відхиленнях векторів від нормалі (тобто, враховується шорсткість
поверхні).
Наступним етапом є накладення («проектування») текстур на певні
ділянки каркаса об'єкта. При цьому необхідно враховувати їх взаємний вплив
на кордонах примітивів. Проектування матеріалів на об'єкт - завдання важко
формалізуються, вона схожа на художньому процесу і вимагає від виконавця
хоча б мінімальних творчих здібностей.
З усіх
параметрів простору, в якому діє створюваний об'єкт, з точки зору візуалізації
найважливішим є визначення джерел світла. У тривимірній графіці прийнято
використовувати віртуальні еквіваленти фізичних джерел.
• Аналогом рівномірного світлового фону служить так званий
розчинений світло (Ambient Light). Він не
має геометричних параметрів і характеризується тільки кольором та
інтенсивністю. Приклад в природі - природна освітленість поза
видимості Сонця і Місяця.
• Віддалений не точковий джерело званий
віддаленим світлом (Distant Light). Йому присвоюються конкретні
геометричні параметри (координати). Аналог у природі - сонце.
• Точкове джерело світла (Point Light Source) рівномірно
випромінює світло во. всіх напрямках і також має координати. Аналог у
техніці - електрична лампочка.
• Спрямований джерело світла (Direct Light Source) крім місця
розташування характеризується напрямком світлового потоку, кутами розчину
повного конуса світла і його найбільш яскравої плями. Аналог у техніці -
прожектор.
Після завершення конструювання та візуалізації об'єкта
приступають до його «пожвавлення», тобто завданням параметрів
руху. Комп'ютерна анімація базується на ключових кадрах. У
першому кадрі об'єкт виставляється у вихідне положення. Через певний
проміжок (наприклад, у восьмому кадрі) задається нове положення об'єкту і так
далі до кінцевого положення. Проміжні значення обчислює програма за
спеціальним алгоритмом. При цьому відбувається не просто лінійна апроксимація,
а плавну зміну положення опорних точок об'єкта відповідно до заданих
умов.
Ці умови визначаються ієрархією об'єктів (тобто законами їх
взаємодії між собою), дозволеними площинами руху, граничними кутами поворотів,
величинами прискорень і швидкостей. Такий підхід називають методом
інверсної кінематики руху. Він добре працює при моделюванні механічних
пристроїв. У випадку з імітацією живих об'єктів використовують так
звані скелетні моделі. Тобто, створюється якийсь каркас,
рухливий у точках, характерних для модельованого об'єкта. Рухи
точок прораховуються попереднім методом. Потім на каркас накладається
оболонка, що складається з змодельованих поверхонь, для яких каркас є набором
контрольних точок, тобто створюється каркасна модель. Каркасна модель
візуалізується накладенням поверхневих текстур з урахуванням умов
освітлення. У ході переміщення об'єкта виходить вельми правдоподібна
імітація рухів живих істот.
Найбільш досконалий метод анімації полягає у фіксації реальних
рухів фізичного об'єкта. Наприклад, на людині закріплюють у контрольних
точках яскраві джерела світла і знімають заданий рух на відео-або
кіноплівку. Потім координати точок з кадрів переводять з плівки в
комп'ютер і привласнюють відповідних опорних точок каркасною
моделі. У результаті руху імітованого об'єкта практично не відрізняються
від живого прототипу.
Процес розрахунку реалістичних зображень називається рендеринга (візуалізацією). Більшість
довременного програм візуалізації засновані на методі зворотного трасування
променів (Backway Ray Tracing). Його суть полягає в наступному.
1. З точки спостереження сцени посилається
в простір віртуальний промінь, по траєкторії якого повинне прийти
зображення в точку спостереження.
2. Для визначення параметрів приходить променя всі об'єкти
сцени перевіряються на перетин з траєкторією спостереження. Якщо перетину
не відбувається, вважається, що промінь потрапив в фон сцени і приходить
інформація визначається лише параметрами фону. Якщо траєкторія
перетинається з об'єктом, то в точці дотику розраховується світло, що йде в
точку спостереження відповідно до параметрів матеріалу.
3. Спочатку прораховується переломлений і відбите світло,
потім перевіряється видимість з точки перетину всіх джерел світла та
інтенсивність світлового потоку. Також обчислюються наявність, різкість і
ширина відблисків від кожного джерела світла.
4. Отримані в результаті підсумкові значення кольору і
інтенсивності обробляються з урахуванням траєкторії променя і параметрів
атмосфери, і присвоюються точці об'єкту як значення візуалізації для
спостерігача. Потім процес повторюється для всіх елементів сцени. З метою
спрощення розрахунків перетин перевіряють не для кожної точки, а для
примітиву в цілому. Іноді навколо об'єкта створюють просту
віртуальну геометричну фігуру (паралелепіпед, куля), розрахунок
перетинів для об'єкта виконують тільки при перетині траєкторії спостереження з
фігурою в цілому.
Застосування складних математичних моделей дозволяє імітувати такі
фізичні ефекти, як вибухи, дощ, вогонь, дим, туман. Проте їх застосування
в повному обсязі вимагає величезних обчислювальних ресурсів, і тому
в персональних комп'ютерах зазвичай використовують спрощені
варіанти. По завершенні рендеринга комп'ютерну тривимірну анімацію
використовують або як самостійний продукт, або як окремих частин або кадрів
готового продукту.
Особливу область тривимірного моделіровааіяв режимі реального часу
складають тренажери технічних засобів - автомобілів, судів, літальних і
космічних апаратів. У них необхідно дуже точно реалізовувати технічні
параметри об'єктів і властивості навколишнього фізичного середовища. У
простіших варіантах, наприклад при навчанні водінню
наземних транспортних засобів, тренажери реалізують на персональних
комп'ютерах.
Найдосконаліші на сьогоднішній день пристрої створені
для навчання пілотування космічних кораблів і військових літальних
апаратів. Моделюванням і візуалізацією об'єктів в таких тренажерах зайняті
кілька спеціалізованих графічних станцій, побудованих на
потужних процесорах і швидкісних відеоадаптерах з апаратними
прискорювачами тривимірної графіки.
Комментариев нет:
Отправить комментарий