26.  Каркасна модель та прибирання невидимих ліній

Каркасна та твердотільна моделі зображень використовуються для надання на екрані зображень тривимірних об'єктів

Каркасна модель це відображення векторного подання прозорого об'єкту. Приклад такого зображення кубу приведено на малюнку:

Кожна вузлова точка (а це в нашому випадку вершини куба) задається координатами точки у тривимірному просторі. Завдання опису тривимірних обєктів виконується матричними методами в однородній (гомогенній) системі координат. Для тривимірних обєктів це матриця 4х4. Методи опису тривимірних обєктів та виконання перетворень матричними методами розглянуто у додатку

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

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

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

Приклад, який показує рух площини наведено на мал. Площина 1 перетинає ті ребра, які ми бачимо (точки перетину зафарбовано зеленим кольором). Точки перетину знаходяться шляхом розв'язання рівнянь ліній (ребра) та площини 1. Позначено ту частину куба, яка виходить за площину 1. Площина 2 перетинає ребра, які ми не бачимо (точки перетину позначено синім кольором). Ребра затіняються відповідними гранями куба.

НЕ нашли? Не то? Что вы ищете?

Зображення об'єкту на якому вилучено лінії, яких ми не бачимо, показано на мал.

Щоб зображення виглядало краще, грані можна зафарбувати.

27.  Твердотільна модель та її використання

Подальші кроки створення реалістичних (твердотільних) зображень пов'язані з врахуванням наступного:

Місця розміщення джерела (джерел) світла та його (їх) характеристик;

Місця розміщення приймача світла та його характеристик. Звичайно це око, яке має певні світлові характеристики;

Властивостей об'єкту (об'єктів).

Галузь комп'ютерної графіки, що будує, перетворює, відображує такі об'єкти має назву - "твердотільна графіка" (Solid Graphics). При твердотільному моделюванні користувач вибирає положення джерел світла у тривимірному просторі та світлові характеристики джерел. Звичайно джерела можуть бути різними, і точечні, і розподілені, і лампи накалювання, і галогенні, і люмінісцентні. Засоби оцінювання сили світла чи світлового потоку та спектральних характеристик різних джерел світла різні. Теоретично ці розрахунки робляться у світлотехніці.

28.  Створення твердотільної моделі з використанням "світлових трубок"

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

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

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

Параметрів, які враховуються;

Кількості "світлових трубок", що піде від поверхні об'єкту;

Розміру (діаметр) "світлових трубок".

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

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

Діаметр "світлових трубок" фактично задає якість передачі форми об'єкту. І чим менший діаметр, тим більша реалістичність передачі форми і тим більше обчислень. Доречі, куля при збільшенні діаметру трубки перетворюється у футбольний м'яч.

З використанням "світлових трубок" будуються зображення у популярній комп'ютерній грі DOOM.

Висновок

Використання "світлових трубок" для побудови твердотільних зображень є універсальним засобом, але для створення зображень складних об'єктів він вимагає досить значних обчислювальних ресурсів.

29.  Полігональне уявлення тривимірних об'єктів

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

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

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

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

Проблеми високої глибинної складності при великій кількості полігонів, особливо для гірського ландшафту місцевості.

Складність візуалізації аморфних об'єктів (об'ємні хмари, дим і т. п.).

Проблеми пріоритетів, визначення і зміни рівнів детальності, кліпування багатокутників пірамідою видимості і т. п.

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

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

Полігональні технології є основними при використанні такого сучасного інструменту як OpenGL.

Описати можливості OpenGL можна через функції його бібліотеки. Усі функції поділимо на п'ять категорій:

Функції опису примітивів - мають об'єкти нижнього рівня ієрархії (примітиви), які здатна відображати графічна підсистема. У OpenGL як примітиви виступають точки, лінії, багатокутники тощо.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12