logo
Навч Посібник з КомпГр _ 3

Тривимірні примітиви

Примітиви (primitives) — основні об'ємні геометричні форми, будівельні блоки програм тривимірної графіки. Вони за умовчанням вже готові до участі в моделюванні, крім того, їх можна змінювати за допомогою булевих операцій. Хоча багато примітивів можна створити шляхом обертання або витискування плоских форм, в більшості програм вони присутні вже в завершеному варіанті, тим самим полегшуючи процес моделювання. До основних об'ємних примітивів відносяться куби, піраміди, конуси, сфери і тора. Як і у двомірних форм, рівень роздільної здатності цих примітивів піддається зміні, тому при збільшенні кількості сторін і кроків, використовуваних для визначення примітивів, їх зовнішній вигляд стає більш згладженим. Такі примітиви, як конуси або півсфери, мають плоский розділ, званий верхівкою (вершиною – cap (англ.). Деякі програми дозволяють задавати певний вид верхівки або навіть зовсім її прибирати.

Основні тривимірні примітиви,

а) Куб. 6) Циліндр, в) Труба, г) Сфера, д) Тор. е) Конус

Додаткові тривимірні примітиви, доступні в деяких програмах, мають скошені або закруглені краї і складно модельовані форми, а) Згладжений куб. би) Вал. у) Згладжений циліндр. г)Торовыйузел д) Капсула. е) Зіркоподібний многогранник

Надмірне, часто недоречне використання початкових (незмінених) примітивів є однією з найбільш поширених помилок новачків. Основою для тривимірних об'єктів краще вибрати менш ідеальні двомірні форми. Примітиви швидше підійдуть як будівельні блоки для створення складних форм або на задньому плані сцени, де додаткові деталі так чи інакше втрачаються. Крім того, примітиви добре використовувати на передньому плані після трансформації або модифікації їх зовнішнього вигляду. У деяких програмах можна зустріти набір додаткових, "витонченіших" примітивів, які, можливо, доречніші на передньому плані, оскільки володіють викривленими або закругленими краями, а не що грубо "витесали", видавали їх комп'ютерне походження [1].

Зафарбовування поверхонь здійснюється методами Гуро (Gouraud) або Фонга (Phong). У першому випадку колір примітиву розраховується лише в його вершинах, а потім лінійно інтерполюється по поверхні. У другому випадку будується нормаль до об'єкту в цілому, її вектор інтерполюється по поверхні примітивів і освітлення розраховується для кожної крапки.

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

Наступним етапом є накладення (“проектування”) текстур на певні ділянки каркаса об'єкту. При цьому необхідно враховувати їх взаємний вплив на межах примітивів. Проектування матеріалів на об'єкт – завдання що важко формалізується, вона схожа на художній процес і вимагає від виконавця хоч би мінімальних творчих здібностей.

Після завершення конструювання і візуалізації об'єкту приступають до його “пожвавлення”, тобто завданню параметрів руху. Комп'ютерна анімація базується на ключових кадрах. У першому кадрі об'єкт виставляється в початкове положення. Через певний проміжок (наприклад, у восьмому кадрі) задається нове положення об'єкту і так далі до кінцевого положення. Проміжні значення обчислює програма по спеціальному алгоритму. При цьому відбувається не просто лінійна апроксимація, а плавна зміна положення опорних точок об'єкту відповідно до заданих умов.

Ці умови визначаються ієрархією об'єктів (тобто законами їх взаємодії між собою), дозволеними площинами руху, граничними кутами поворотів, величинами прискорень і швидкостей. Такий підхід називають методом інверсної кінематики руху. Він добре працює при моделюванні механічних пристроїв. У випадку з імітацією живих об'єктів використовують так звані скелетні моделі. Тобто, створюється якийсь каркас, рухомий в крапках, характерних для модельованого об'єкту. Рухи крапок прораховуються попереднім методом. Потім на каркас накладається оболонка, що складається із змодельованих поверхонь, для яких каркас є набором контрольних крапок, тобто створюється каркасна модель. Каркасна модель візуалізується накладенням поверхневих текстур з урахуванням умов освітлення. В ході переміщення об'єкту виходить вельми правдоподібна імітація рухів живих істот.

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

Процес розрахунку реалістичних зображень називають рендерінгом (візуалізацією). Більшість сучасних програм рендерінгу засновані на методі зворотного трасування променів (Backway Ray Tracing). Застосування складних математичних моделей дозволяє імітувати такі фізичні ефекти, як вибухи, дощ, вогонь, дим, туман. Після закінчення рендерінгу комп'ютерну тривимірну анімацію використовують або як самостійний продукт, або як окремі частини або кадри готового продукту.

Особливу область тривимірного моделювання в режимі реального часу складають тренажери технічних засобів – автомобілів, судів, літальних і космічних апаратів. У них необхідно дуже точно реалізовувати технічні параметри об'єктів і властивості навколишнього фізичного середовища. У простіших варіантах, наприклад при навчанні водінню наземних транспортних засобів, тренажери реалізують на персональних комп'ютерах.

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