Upload
martin-stankovski
View
1.191
Download
0
Embed Size (px)
Citation preview
УНИВЕРЗИТЕТ „СВ. КЛИМЕНТ ОХРИДСКИ“ - БИТОЛА
ТЕХНИЧКИ ФАКУЛТЕТ - БИТОЛА
ПРОФ. Д-Р ИГОР НЕДЕЛКОВСКИ
КОМПЈУТЕРСКА ГРАФИКА
(3D МОДЕЛИРАЊЕ И АНИМАЦИЈА)
2
Со решение на Наставно-‐ научниот совет при Техничкиот факултет – Битола, бр. 02-‐426/10 од 26.06.2007 одобрен е да се печати како учебник ракописот под наслов
Компјутерска графика
(3Д моделирање и анимација)
Рецензенти:
Проф. д-‐р Марјан Гушев, Природно-‐ математички факултет – Скопје
Проф. д-‐р Александар Маркоски, Технички факултет – Битола
Врз основа на Законот за авторското право и сродните права се забранува издавање, репродукција, дистрибуција вклучувајки изнајмување и позајмување, јавно изложување, јавно соопштување и преработка, без претходна писмена согласност на авторот.
© 2008, Игор Неделковски
CIP – Каталогизација во публикација
Матична и универзитетска библиотека "Св. Климент Охридски" -‐ Битола
004.92/.93(075.8)
НЕДЕЛКОВСКИ, Игор
Компјутерска графика: (3Д моделирање и анимација)/ Игор Неделковски. – Битола : Универзитет "Св. Климент Охридски", Технички факултет -‐ Битола, 2007. – 93 стр. : илустр. во бои; 30 cm
Библиографија: стр. 96
ISBN 9989-786-02-Х
а) Компјутерска графика – Високошколски учебници б) CorelDraw (програмски пакет) – Високошколски учебници в) Adobe Photoshop (програмски пакет) – Високошколски учебници COBISS.MK – ID 18061121
3
ПРЕДГОВОР
Во овој учебник се дадени основните концепти на креирањето на 3D модели, нивната визуелизација и анимација. Учебникот се базира на непрограмерски пристап, што значи не навлегува во сферата на програмирањето на апликации од областа на компјутерската графика, ниту пак се занимава со математичките основи на компјутерската графика.
Овој учебник не е ниту упатство за користење на некој софтверски пакет за 3D моделирање и анимација. За успешно совладување на одреден софтвер за 3D моделирање и анимација потребно е да се знаат принципите врз кои функционира компјутерската графика воопшто. Доколку се знаат овие принципи тогаш е многу полесно да се навлезе во тајните на одреден специфичен софтвер.
Затоа, овој учебник дава преглед и основно објаснување на принципите, техниките и методите кои се користат во апликациите од областа на компјутерската графика. Истиот е во согласност со наставната програма со предметот Компјутерска графика кој се слуша на студиските програми по Техничка информатика и Графичко инженерство на Техничкиот факултет – Битола при Универзитетот ”Св. Климент Охридски” – Битола.
Во приготвувањето на учебникот голем допринос дадоа Јове Парговски, студент на постдипломски студии, како и Билјана Стојановска и Катерина Ѓорѓиевска, студентки-‐ демонстратори на додипломски студии на Техничкиот факултет – Битола, за што искрено им се заблагодарувам.
Почит и голема благодарност за дадените забелешки и сугестии и кон рецензентите на овој учебник д-‐р Марјан Гушев, редовен професор на Институтот за информатика, Природно-‐ математички факултет, Универзитет “Св. Кирил и Методиј” – Скопје и д-‐р Александар Маркоски, вонреден професор на Техничкиот факултет, Универзитет “Св. Климент Охридски” – Битола.
На крај, голема благодарност за покажаниот интерес кон компјутерската графика, и кон Вас читателите на овој учебник и очекување за корисни сугестии и забелешки кои би допринеле кон подобрување на евентуалните идни изданија.
Авторот
4
5
СОДРЖИНА
ОСНОВИ НА ГЕОМЕТРИСКАТА ГРАФИКА 7
1.1 ВОВЕД 9 1.2 ОСНОВНИ КОНЦЕПТИ НА ГЕОМЕТРИСКАТА ГРАФИКА 12 1.2.1 ГЕОМЕТРИСКИ ЕЛЕМЕНТИ 12 1.2.2 ГЕОМЕТРИЈА И КАРАКТЕР НА СЕЛЕКТИРАЊЕТО 13 1.2.3 РАСТЕРИЗАЦИЈА НА ГЕОМЕТРИСКИ СЛИКИ 14 1.3 АЛАТКИ ВО ПРОГРАМИТЕ ЗА ГЕОМЕТРИСКА ГРАФИКА 16 1.3.1 РАБОТА СО ЛИНИИ И КРИВИ 16 1.3.2 ЦРТАЊЕ СО ПОМОШ НА ПРАВИ И КРИВИ 19 1.3.3 БУЛОВИ ОПЕРАЦИИ 20 1.3.4 ИМПОРТИРАЊЕ НА РАСТЕРСКИ СЛИКИ 21 1.4 КОМПОЗИЦИЈА 22 1.4.1 ПОСТАВУВАЊЕ НА ЕЛЕМЕНТИТЕ 22 1.4.2 РАБОТА СО ГРУПИ И СЛОЕВИ (LAYERS) 22 1.4.3 ГОЛЕМИНА И СКАЛИРАЊЕ 23 1.4.4 КОМБИНИРАЊЕ НА РАСТЕРСКА И ГЕОМЕТРИСКА ГРАФИКА 24
КРЕИРАЊЕ НА 3D ГРАФИКА 27
2.1. ВОВЕД 29 2.2 КОНЦЕПТИ 30 2.2.1 МОДЕЛИРАЊЕ И РЕНДЕРИРАЊЕ 30 2.2.2 ШТО Е ТОА МОДЕЛ? 30 2.2.3 ШТО Е ТРЕТА ДИМЕНЗИЈА КАЈ ПРОГРАМИТЕ ЗА 3D МОДЕЛИРАЊЕ? 31 2.2.4 КРЕИРАЊЕ НА 3D ГЕОМЕТРИСКИ МОДЕЛ 32 2.3 АНАТОМИЈА НА 3D ПРОГРАМИТЕ 33 2.4 СЛОЖУВАЊЕ НА 3Д МОДЕЛ 35 2.4.1 ДЕКОМПОЗИЦИЈА 35 2.4.2 КОМПОЗИЦИЈА 35 2.4.3 ХИЕРАРХИЈА 36 2.4.4 СПОЕВИ (JOINTS ) 38 2.5 ОСНОВНИ ОПЕРАЦИИ ЗА 3D МОДЕЛИРАЊЕ 39 2.5.1 ПРИМИТИВИ 39 2.5.2 ПРЕСЛИКУВАЊА 40 2.5.3 БУЛОВИ (BOOLEAN) ОПЕРАЦИИ 41 2.6 РЕПРЕЗЕНТАЦИЈА НА ОБЈЕКТИТЕ 42 2.7 ДИГИТАЛНА ГЛИНА И 3D ОБЛИКУВАЊЕ 43 2.8 АЛГОРИТАМСКО ГЕНЕРИРАЊЕ НА ОБЛИЦИ 44 2.8.1 МОДЕЛИРАЊЕ НА ПРИРОДАTA 44 2.8.2 СИСТЕМИ ОД ЧЕСТИЧКИ 48 2.9 КОМПОЗИЦИЈА 48 2.9.1 ПОСТАВУВАЊЕ НА ОБЈЕКТИТЕ ВО СЦЕНАTA 48 2.9.2 ГОЛЕМИНА И СКАЛИРАЊЕ 49
6
РЕНДЕРИРАЊЕ НА 3D ГРАФИКА 53
3.1 ВОВЕД 55 3.2 КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ 55 3.2.1 БОЈА – АПСОРБИРАЧКИ КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ 55 3.2.2 РЕФЛЕКСИРАЧКИ КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ 57 3.2.3 ТРАНСМИСИСКИ КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ 58 3.2.4 ТЕКСТУРИ 59 3.3 НАЧИНИ НА ОСВЕТЛУВАЊЕ 61 3.4 ВИРТУЕЛНИ КАМЕРИ И ПОГЛЕДИ 63 3.5 РЕНДЕРИРАЊЕ 66 3.5.1 ЖИЧАНО (WIREFRAME) РЕНДЕРИРАЊЕ 66 3.5.2 МОДЕЛИ НА ДИРЕКТНО ОСВЕТЛУВАЊЕ 67 3.5.3 МОДЕЛИ НА СЕНЧЕЊЕ (SHADING) 67 3.5.4 ГЛОБАЛНИ МЕТОДИ ЗА ОСВЕТЛУВАЊЕ 68 3.5.5 СПЕЦИЈАЛНИ ЕФЕКТИ 74 3.5.6 НЕРЕАЛНО РЕНДЕРИРАЊЕ 75
АНИМАЦИЈА 77
4.1 ВОВЕД 79 4.2 ИЛУЗИЈА НА ДВИЖЕЊЕ 79 4.3 АНАТОМИЈА НА ПРОГРАМИТЕ ЗА АНИМАЦИЈА 80 4.4 ТЕХНИКИ НА АНИМАЦИЈА 83 4.4.1 КЛУЧНИ РАМКИ (KEY FRAMES) 83 4.4.2 ПАТЕКИ НА ДВИЖЕЊЕ (МOTION PATHS) 86 4.4.3 СНИМАЊЕ ВО РЕАЛНО ВРЕМЕ 86 4.4.4 MORPHING 87 4.4.5 ТРАНЗИЦИИ 88 4.4.6 АВТОМАТИЗИРАНО ДВИЖЕЊЕ 89 4.4.7 КОРИСТЕЊЕ НА ХИЕРАРХИЈА 93 4.4.8 MOTION BLUR 93 4.4.9 ДОЛОВУВАЊЕ НА ДВИЖЕЊЕ (MOTION CAPTURE) 94
КОРИСТЕНА ЛИТЕРАТУРА 99
7
ГЛАВА 1
ОСНОВИ НА ГЕОМЕТРИСКАТА ГРАФИКА
8
9
1.1 ВОВЕД
Компјутерската графика се базира врз два вида програми: растерски и геометриски (векторски). Кај растерската графика, сликата е составена од голем број на елементи, наречени пиксели. Секој пиксел има своја одредена положба и обоеност, па така преку комбинација на големиот број на пиксели се добиваат и различните елементи на сликата. Квалитетот на сликите кај растерската графика, зависи од бројот на пиксели кои што се користат за опишување на сликата (просторна резолуција), а воедно и бројот на бои кои што пикселот е во можност да ги прикаже (длабина на боите). Нормално, поголема просторна резолуција значи употреба на поголем број на пиксели за опишување на сликата, односно можност за прикажување на поостри детали.
10 x 7 60 x 40
200 x 132 500 x 329
Слика 1.1. Промена на просторната резолуција (бројот на пиксели) на растерска слика. Со зголемување на бројот на пиксели, се подобрува и приказот на елементите на сликата
Во однос на квалитетот на боите, може да се каже дека тој директно зависи од бројот на битови користени за опишување на секој пиксел. Така за наједноставна црно -‐ бела слика, каде што пикселите се или црни или бели, се користи по еден бит за опишување на секоја состојба на пикселот, односно 0 – црна и 1-‐ бела. Доколку сакаме мазен тонски преод помеѓу пикселите, тогаш потребно е да се додадат дополнителни сиви вредности помеѓу црната и белата, т.е. 28 = 256 сиви нивоа кај Grayscale сликите. Кај Grayscale сликите како што може да се види од претходниот случај, се користат по 8 бита, односно по 1 бајт за опишување на секој пиксел. Аналогно на ова, RGB слика користи по 3, а додека пак CMYK по 4 бајти за опишување на секој пиксел.
10
Црно – бела слика
Пикселите се или црни или бели. За опишување на бојата на секој пиксел се
користи по еден бит
Grayscale слика
За обојување на пикселите се користат 28 = 256 нијанси на сива, односно се користи по еден бајт за опишување на
бојата на секој пиксел.
RGB Слика
Составена е од 3 Grayscale канали, т.е. по еден за секоја боја. За опишување на бојата на пикселот се користат по 3
бајти
CMYK Слика
Составена е од 4 Grayscale слики. За опишување на бојата на пикселот се
користат по 4 бајти
Слика 1.2. Употреба на различна длабина на боите, и различни колор модови кај растерските слики
Геометриски базираниот програм е изграден од апстрактни геометриски облици, односно геометриски описи на линии, криви, квадрати, кругови и сл. Ова значи дека секој објект кај геометриските слики е објект сам за себе, за чие што опишување се користат различни математички облици и функции. Така на пример, круг исцртан кај растерска програма, може да се замисли како мозаик од пиксели, при што секој пиксел има своја одредена положба и обоеност. Квалитетот на приказот на кругот, како што е споменато претходно зависи од бројот на пиксели, а воедно и можноста за прикажување на бои на тие пиксели. Предноста на растерскиот пристап е таа што се има поголема слобода во однос на употребата на бои. Ова значи дека секој пиксел, било тоа тој да се наоѓа на линијата, надворешноста, или пак внатрешноста на кругот, има свое сопствено обојување кое што е независно од истото на околните пиксели. Негативна страна, се релативно големите документи, кои што нормално имаат потреба од поголем мемориски простор, а
11
со тоа и подолго време на процесирање. За разлика од ова, геометриски базираните програми, поради тоа што користат геометриски описи за исцртување на елементите, даваат значително помали документи, со одредени ограничувања во однос на изборот на бои. Така на пример, доколку се исцрта круг во геометриски базирана програма, самата програма внатрешно генерира код, кој што меѓу другото, му кажува на компјутерот дека се работи за круг, со дефинирана локација на неговиот центар, дефиниран радиус, дебелина на линијата, обоеност на линијата, обоеност на внатрешноста и сл.
Предностите и недостатоците кои што ги имаат растерските и геометриските програми, го одредуваат и полето на нивна примена. Самите тие на некој начин меѓусебно се надополнуваат, но со текот на времето е воочлив и трендот на нивно комбинирање. Така, полека почнува да се губи првобитната класификација на растерски и геометриски базирани програми, па денес елементи на растерска графика може да се сретнат кај геометриските програми, а исто така и обратно, како на пример употребата на Pen алатките во програмата Adobe Photoshop.
Со оглед да суштината на оваа книга е 3D моделирањето и анимација, кои се геометриски базирани, во понатамошниот дел акцентот е ставен врз геометриската графика.
Програмите за геометриска графика генерално можат да се класифицираат како програми наменети за графички дизајн и програми за инженерско проектирање.
Денешните професионални програми за графички дизајн и припрема за печатење, како на пример Adobe Illustrator, Adobe InDesign, CorelDRAW и сл., се карактеризираат со голема контрола врз линиите и кривите, дефинирање и композиција на облици, а воедно и професионални можности за сложување на текст. Тие исто така поседуваат и моќни алатки за подесување на боите при припремата за печатење. Покрај овие високо професионални програми, постојат и низа други поедноставни програми за графички дизајн, кои што претежно се наменети за аматерскиот пазар. Иако не се толку моќни, овие програми се поевтини и често пати полесни за употреба во споредба со професионалните пакети.
Другиот тип геометриски базирани програми се програмите наменети за проектирање со помош на компјутер (CAD – Computer Aided Design). Овие програми поседуваат поусовршени алатки за цртање и контрола врз линии, криви, како и за дефинирање и композиција на облици. CAD програмите се користат за изработка на сложени, високо прецизни цртежи, планови во инженерството, индустрискиот дизајн, архитектурата и други области на техниката. Тие често бараат помоќни компјутери и повеќе RAM отколку стандардните програми за графички дизајн. Денес, многу од карактеристиките на традиционалните CAD програми, пр. интелигентно и прецизно спојување на линии и облици, или пак автоматско прикажување на димензиите на геометриските елементи, се прифатени и во програмите за графички дизајн.
12
1.2 ОСНОВНИ КОНЦЕПТИ НА ГЕОМЕТРИСКАТА ГРАФИКА
Секој дел од било кој дигитален цртеж се состои од геометриски елементи -‐ линии и криви (отворени или затворени), и бои кои што се применети врз геометриските елементи и просторот кои што тие го зафаќаат.
1.2.1 ГЕОМЕТРИСКИ ЕЛЕМЕНТИ
При цртањето и манипулацијата со објектите во геометриски базираните програми, воопшто не размислуваме за броеви и математички равенки и функции. Меѓутоа во овие програми (геометриски базираните) секоја линија, крива или облик се опишуваат со математички (геометриски) функции во однос на координатен (x, y, z) систем. Местоположбите на самите точки исто така се дадени во облик (x, y, z).
(а) (б)
Слика 1.3. (а) Во растерски базираните програми, линијата едноставно е серија од дискретни пиксели. Во овој случај повлечена е линија помеѓу точките (1,1) и (6,6). Промени
во линијата може единствено да се направат преку менување на индивидуалните вредности на пикселите. (б) Кај геометриски базираните програми, линијата
претставува континуиран математички опис. Оваа линија е дефинирана за секоја локација помеѓу точките (1,1) и (6,6), а не само кај индивидуалните пиксели. Било какви
промени во линијата, предизвикуваат промени во нејзиниот математички опис.
На пример, суштината на кодот за цртање на црна линија би можел да се изрази како "нацртај линија (се применува значи равенка на права) од точка (1,1) до точка (6,6), со дебелина од 1 pt, во црна боја". Ваквиот тип на геометриско опишување на елементите се применува и кога го селектираме објектот на екранот и потоа вршиме модификации врз него. Овде важно е да се запомни дека ваквиот тип на геометриско опишување се извршува секогаш кога нешто цртаме или модифицираме во геометриски базираните програми, без разлика на сложеноста на елементот кој го цртаме или модифицираме.
13
1.2.2 ГЕОМЕТРИЈА И КАРАКТЕР НА СЕЛЕКТИРАЊЕТО
Процесот за селекција кај геометриски базираните програми е различен од процесот на селекција во растерските програми. На слика 1.4. прикажани се геометриска и растерска верзија од една иста слика, при што извршена е правоаголна селекција и поместување на селектираниот елемент. Кај геометриските програми, при селектирањето на филџанот со кафе, се селектира само тој објект, при што тој може да се одвлече на друга локација, без да се направат измени во другите елементи на сликата. За разлика од ова, кај растерските програми, секој елемент на сликата (пиксел) е елемент сам за себе, односно тој има своја одредена местоположба и обојување. Правоаголно селектирање на дел од сликата кај програмите за растерска графика, резултира со селекција на множество од пиксели во склоп на правоаголникот, по што сите тие заедно се одвлекуваат на друга локација. При ова поединечните елементи (пикселите) се независни еден од друг, односно не постои поврзаност помеѓу нив.
Слика 1.4. Кај програмите за геометриска графика, можните селекции зависат од тоа, кои линии и криви биле искористени за креирање на сликата. Кај програмите наменети за
растерска графика, можните селекции зависат од можностите на алатката за селектирање
Кај геометриски базираните програми самите корисници, можат во било кое време да го селектираат било кој графички елемент, и тоа или со кликање на сликата на екранот, или пак преку избор на именуваните објекти од листа на објекти. Исто така можни се и трансформации на селектираните предмети, преку пренесување, ротирање, скалирање, извртување, и сл.
14
1.2.3 РАСТЕРИЗАЦИЈА НА ГЕОМЕТРИСКИ СЛИКИ
Геометрискиот опис на елементите во рамките на програмите за дигитален дизајн и проектирање, не е директно видлив. Самите геометриски слики, мора да се претворат во растерски тип, со цел на нивно прикажување на монитор кој е растерски базиран уред. Предизвикот во претворањето на описот на геометриски-‐ базираниот предмет, во растерска слика, лежи во пресметка на соодветните вредности на пикселите, во зависност од местоположбата на предметот. Исто така, отпечатувањето на геометриски базирана слика, значи дека таа прво мора да се претвори во растерски облик. Нормално, самата конверзија на геометриските слики во растерски облик, може значително да влијае врз нивниот квалитет. Наједноставниот пристап на растеризација, вклучува пресметка на осветленоста на геометриската форма, во зависност од местоположбата на секој пиксел. Сепак, доста често ваквиот процес резултира и со незадоволителни резултати. Добар пример за ова е слика 1.5 каде што самите линии добиваат облик на скалила.
Геометриска линија Растеризирана геометриска линија
Слика 1.5 Едноставно растеризирање на геометриски дефиниран објект. Сите пиксел локации кои што се покриени од страна на линијата се подесени да бидат црни, а додека
пак останатите бели. Резултат на ова се скалилата кои што се добиваат помеѓу пикселите.
Aliasing и Antialiasing. Назабениот (скалестиот) облик на линијата на слика 1.5 претставува добар пример на aliasing. Малиот број на елементи на сликата (пиксели), кои што се користат за претставување на кругот, не се доволни за негов непрекинат приказ. Намалувањето на разликите помеѓу скалилата, е можно преку зголемување на бројот на пиксели, потребни за опишување на кругот.
15
Ефектите од aliasing, се особено видливи при ниски резолуции на сликата, или пак при преглед на сликата на екран со ниска резолуција. Зголемувањето на резолуцијата на приказот, едноставно ги надминува можностите на човековото око, при што тоа не е повеќе во можност, да ги забележи екстремно малите скалила помеѓу пикселите.
Со цел на елиминирање на ефектите од Aliasing, се користи и методот прикажан на слика 1.6. Во овој случај, преку употреба на пиксели со средни тонски вредности, односно преку намалување на контрастот помеѓу линијата и позадината, се намалува и ефектот на скалести рабови. Ваквата постапка се нарекува antialiasing.
Геометриска линија Употреба на Antialiasing врз растеризираната линија
Слика 1.6 Примена на Antialiasing при растеризација на геометриски објекти. Овој метод на растеризација не ги зема предвид вредностите само на локациите на пикселите, туку исто така се вклучуваат и местата околу секој пиксел. Тонските вредности на пикселите ја рефлектираат пропорционалната покриеност од страна на линијата. Така, доколку целокупната површина е покриена, пикселот добива црна боја. Нормално, во останатите случаи, во зависност од покриеноста, пикселот добива одредена нијанса на сива боја. (50%
покриеност = 50% сива)
Аntialiasing методите, ги мерат вредностите во близина на линијата, и во зависност од покриеноста на површината, го обојуваат соодветниот пиксел со соодветна нијанса на сиво. Мерењето се постигнува со разни типови на филтри. Методот искористен на слика 1.6 одговара на квадратен филтер, понапредни методи користат триаголни или Гаусови филтри.
16
1.3 АЛАТКИ ВО ПРОГРАМИТЕ ЗА ГЕОМЕТРИСКА ГРАФИКА
Суштината на самите програми, а со тоа и самите алатки кај геометриската графика, значително се разликуваат од истите на растерските програми. Во голем број на случаи дизајнерите кои што се навикнале на работа со растерски програми, тешко ги совладуваат соодветните алатки кај геометриските.
1.3.1 РАБОТА СО ЛИНИИ И КРИВИ
Визуелниот речник на програмите за дигитален дизајн и проектирање е целосно формиран од линии, криви и начини за третирање на просторите кои тие ги затвораат. При работа во овие програми може да се создаваат прави линии и одредени типови на криви. Областите затворени од линиите и кривите може да бидат исполнети со чисти бои, градиенти, шари или пак тие може да се користат за маскирање и исекување на други елементи.
Јазли. Јазлите претставуваат точки на елементите (прави или криви) кои што може да се селектираат. Јазлите можат да се додаваат при креирањето на нови елементи, или пак може да се додаваат на веќе постоечка крива, со нивно сместување помеѓу веќе постојните јазли. Секој јазол може да спои единствено една влезна и една излезна крива или линија.
Слика 1.7 Јазли. Црните точки на кривата претставуваат јазли
Патеки. Патека е секој елемент (права, крива, множество од прави/криви и сл.) кој што минува низ непрекината низа од јазли. Математичкиот назив на овие криви е интерполациони криви. Тие може да бидат и отворени и затворени патеки, кои што внатрешно може да бидат обоени со некоја боја, или пак градиент. Патеките може да бидат во облик на едноставна линија со дадена дебелина и боја, а исто така често се користат и патеки во различен облик, нацртани со различни шари, различни типови на четки и сл.
Слика 1.8 Обојување на отворени и затворени патеки
17
На слика 1.8 претставени се различни начини на исполнување на патеките. Внатрешната област на патеката може да биде исполнета со чиста боја, со нијанси, градиенти, шари и сл.
Патеките исто така може да се користат и за прикривање или исекување на различни области од слики. Кога ќе се искористи ваква патека видлив останува само графичкиот дел внатре во патеката, а останатиот дел од сликата е отсечен или маскиран.
Слика 1.9 Маскирање на растерски слики со помош на патеки
Spline криви. Геометриски базираните програми често пати користат специјални криви наречени spline-‐ови, кои што се креираат со помош на математичка техника, која што ја подредува кривата во зависност на сет на претходно зададени точки. Во најголем број на случаи корисникот претходно кликнува на местата каде што треба да се постават точките, по што програмот врз основа на тие точки креира соодветна крива. Подолу во текстот се изнесени три вида на spline криви. Ваквите криви најчесто се користат во програмите за 3D дизајн, како на пример: LightWave 3D, 3D Studio, Maya и сл. Матматичкиот назив на овие криви е апроксимативни криви.
Некои типови на spline-‐ови минуваат во близина на точките, но не минуваат низ ниедна од нив (слика 1.10-‐а). Ваквиот тип на криви се нарекуваат B-‐spline-‐ови и тие ги спојуваат местоположбите на контролните точки, без да минуваат низ ниедна од нив, со што се создаваат само прицврстени точки кои што се користат за прецизирање на местоположбата. Иако се тешки за скицирање, овој тип на криви може да биде користен во задачи како на пример при анимација за креирање на патека на движење помеѓу одреден број на предмети. Одредени верзии на B-‐spline-‐ови се познати и како Nonuniform Rational B-‐Spline (NURBS). Овие криви се едни од најчесто користените криви во компјутерската графика. Останатите видови на криви, минуваат низ некои, но не сите контролни точки (слика 1.10-‐б), такви се на пример Bezier-‐овите криви. Постојат и други видови на криви кои што минуваат низ сите нивни контролни точки (слика 1.10-‐в). Како што може да се види од слика 1.10 (а и б) истото множество на јазли, може да се употреби за креирање на различни типови криви, нормално во зависност од типот на искористениот spline.
18
Слика 1.10 Различни типови на spline-ови (а) B- spline. (б) Beizer крива, (в) Catmull-Rom spline
Bezier-‐овите криви, кои што го добиле името по францускиот инженер Pierre Bezier, нудат директна контрола врз локацијата на кривата, преку употреба на јазли-‐ котви, низ кои минува кривата. Тие исто така овозможуваат и контрола врз закривеностите помеѓу јазлите, преку употреба на контролни точки кои што се појавуваат при селектирањето на некој јазол-‐ котва. Bezier-‐овите криви се особено корисни и флексибилни, но бараат работа со контролни точки кои што се наоѓаат надвор од патеката, што често пати и ги збунува корисниците. Контролните точки кај Bezier-‐овите криви, се наоѓаат на краевите од линиите кои што започнуваат од секој јазол-‐ котва, и се издолжуваат во правец на кривата од таа точка (слика 1.11-‐а). Правецот на линијата претставува правец на кривата. Нејзината должина дава навестување за тоа како кривата продолжува по нејзиниот сегашен правец кон следниот јазол (слика 1.11-‐б).
(а) (b)
Слика 1.11 Употреба на контролни точки при подесување на промените во закривеноста. (а) Линиите помеѓу јазолот и контролната точка ја покажуваат насоката на кривата при нејзиното влегување и излегување од јазолот - котва. Растојанието од јазолот до контролната точка е пропорционално со насоката на кривата. (б). Поголемо јазол-
контролна точка растојание прави поизразено свиткување на кривата. Важно е да се има предвид дека при менувањето на местоположбите на контролните точки,
местоположбите на сите јазли- котви остануваат непроменети.
19
1.3.2 ЦРТАЊЕ СО ПОМОШ НА ПРАВИ И КРИВИ
Цртање со помош на јазли. И правите и кривите зависат од соодветните серии на јазли. Така техниките за цртање со помош на јазли се базираат на различни стратегии за поставување на тие јазли. Некои алатки за цртање, дозволуваат единствено одреден тип на јазли, а додека пак други овозможуваат избор на јазол при планирањето на патеката. Нормално, при ова може дополнително да се внесуваат јазли во зависност од потребите. Методите внесување јазли се кликнување и повлекување, или кликнување и ослободување на копчето на глувчето при секоја посакувана положба на јазол (слика 1.12-‐а), или пак кликнување за поставување на јазол и повлекување за регулирање на закривеноста на патеката пред поставувањето на нов јазол (слика 1.12-‐б). Значи при самото цртање мора да се донесе одлука во однос на тоа дали методот за формирање на кривата треба да нагласи брзо поставување на јазол, прилагодување на кривата при процесот на цртање или пак некои други карактеристики.
Слика 1.12 Креирање на патеки. (а) Повтореното кликнување создава испрекршена линија која што е составена од множество на прави линии (б) Со кликнување и повлекување на контролните точки, корисникот може да ја обликува закривената патека при секој нов јазол. (Комбинација од кликнување и кликнување + влечење може да се искористи за
креирање на патеки составени од прави и криви). (в) Патеките може да се исцртуваат и како цртање со слободна рака. Во овој случај контролните точки и јазлите се избираат
автоматски во зависност од претходно дефинираните подесувања.
Често пати се јавува потребата од цртање без чести запирања и поставувања на јазли, туку едноставно исцртување како со слободна рака. Така постојат и алатки кои што дозволуваат цртање на криви, на сличен начин како при цртање со слободна рака. Кривата на слика 1.12–в, е добиена со кликнување и држење на копчето од глувчето при исцртувањето на линијата. Програмите кои што ја имаат оваа опција овозможуваат претходно да се дефинира фреквенцијата на поставување на јазли, од што воедно зависи и обликот на закривеностите. Исто така можно е и подоцнежно дотерување на оваа крива преку додавање или одземање на јазли.
20
Нумерички влез. Друг начин на исцртување на патеки е и преку нумерички влез преку тастатура. Така доколку се земе за пример програмата AutoCad, познато е дека во оваа програма, покрај стандардните начини на исцртување, можно е и исцртување преку тастатура. Доколку се знаат соодветните кратенки, односно команди за исцртување на некој објект, а воедно и неговите параметри и координати, тогаш можно е комплетно исцртување на овој објект со помош на тастатурата. Ваквиот пристап на исцртување, иако на некој начин изгледа посложен од претходно споменатите, е особено погоден во случаите каде што прецизноста на исцртаните објекти, е од особена важност.
Цртање со алатки осетливи на притисок. Исцртаните линии преку внесување на јазли имаат униформна ширина и боја. Како резултат на ова, сите претходно исцртани линии имаат сличен карактер, и на некој начин даваат едноставен дизајн. Постојат и алатки осетливи на притисок, односно алатки кои што го менуваат обликот на исцртаната крива во зависност од сигналот добиен од влезниот уред. При ова важно е да се има предвид дека, во процесите на дигитален дизајн, покрај глувчето и тастатурата можат да се користат и други специјализирани влезни уреди. Добар пример за ова се екраните кои што реагираат на допир, или пак таблите за скицирање кои што доаѓаат заедно со помошно пенкало, со помош на кое директно може да се црта на таблата, и тој сигнал да се пренесе до компјутерот. Во овој случај, различниот притисок со помош на пенкалото, резултира со крива со различна дебелина на екранот, со што на некој начин се симулира и процесот на рачно скицирање.
Дополнително уредување на исцртаните патеки. Ретки се случаите во кои што со само еден обид може да се добие посакуваната крива или објект. Самите алатки нудат голема прецизност и слобода во цртањето или скицирањето на елементите, но тие исто така често пати се и доста сложени за работа. Не треба да се очајува доколку од прво не се добие посакуваниот елемент. Алатките за цртање се прилично флексибилни и самите апликации овозможуваат подоцнежно уредување на исцртаните елементи. Преку додавање или пак одземање на јазли, нивно преместување, спојување, а воедно и преку менување на локацијата на контролните точки, подоцнежното модифицирање на исцртаните елементи е прилично лесно.
1.3.3 БУЛОВИ ОПЕРАЦИИ
Доста често во компјутерската графика одредени посложени елементи се добиваат преку комбинација на неколку веќе постоечки поедноставни облици. Ваквите комбинации, се нарекуваат Булови операции (Boolean Operations), и своето име го добиле според математичарот George Boole. Комбинирањето на елементите може да се изврши на повеќе начини, односно преку унија (собирање на објектите заедно), пресек (зачувување само на областа заедничка на двата објекти), разлика (одземање на објектите еден од друг), исклучување (формирање на област која содржи се, освен областа на пресек) и сл. На слика 1.13 претставена е примена на Буловите операции.
21
(а) (б) (в) (г) (д) (ѓ)
Слика 1. 13 Булови операции. (а) Унија (weld, union); (б) Скратување на правоаголникот за делот со кој што се поклопува со кругот (Trim); (в) Пресек помеѓу двата елементи (Intersect); (г) Поедноставување на елементите – исфрлување на деловите од
пресекот (Simplify); (д) Front minus back; (ѓ) Back minus front
Важно е да се има предвид дека операциите на комбинација на два или повеќе елементи, се сретнуваат под различни имиња во различните програми. Сепак, нивната функција воглавно е иста, и самите тие овозможуваат голема слобода при процесите на дизајн и проектирање.
1.3.4 ИМПОРТИРАЊЕ НА РАСТЕРСКИ СЛИКИ
Друг доста важен аспект кај програмите за дигитален дизајн и проектирање е можноста за импортирање (внесување) на растерски слики. Внесувањето на растерска слика во векторски базирана програма, не значи дека таа слика се претвора во геометриски облик. Оваа слика може да се скалира, ротира, извртува, маскира и сл., но не може да се уредува пиксел по пиксел. Доколку се јави потреба за ова, во голем број на случаи, геометриските програми соработуваат со соодветни растерски програми, во кои што може да се вршат потребните корекции, по што сликата повторно се враќа во програмот за дизајн.
Важно е да се има предвид дека далеку полесно е да се конвертира геометриска во растерска слика, отколку обратното. Конверзијата од растерска во векторска слика, бара употреба на специјализирани програми, како на пример CorelTrace, Adobe Streamline и сл. Ваквите процеси најчесто се употребуваат при дигитализација на едноставни скици и технички цртежи, а додека пак нивната примена врз сложени слики во боја, скоро е невозможна.
22
1.4 КОМПОЗИЦИЈА
1.4.1 ПОСТАВУВАЊЕ НА ЕЛЕМЕНТИТЕ
Кај програмите за дигитален дизајн постојат повеќе помошни алатки кои овозможуваат лесно поставување на елементите на работната површина. Како поважни, може да се споменат водилките (Guidelines), линијарите по краевите на работната површина (Rulers), помошните мрежи (Grids) и сл. Сите овие елементи не се отпечатуваат со крајниот дизајн, и овозможуваат голема прецизност при поставувањето на различните елементи на страната. Линијарите и помошните мрежи имаат постојана местоположба, и тие може единствено да се менуваат во однос на користените метрички единици кај линијарите, односно фреквенцијата, метричките единици и растојанието кај помошните мрежи. Водилките претставуваат исклучително корисни елементи, кои што лесно се поставуваат со помош на глувчето, или пак преку нумерички влез преку тастатура.
Слика 1.14 Помошни елементи, корисни за прецизно поставување на елементите на работната површина
Една од поважните опции при работата со овие елементи е и Snap опцијата (погодување), која што автоматски со голема прецизност го фиксира предметот, на соодветно назначената област, линија, пресек и сл.
Предметите поставени на работната површина, исто така можат прецизно да се дистрибуираат, порамнуваат и сместуваат, преку употреба на посебни команди. Подредувањето и порамнувањето на различните елементи на сликата, може да биде во зависност од самата работна површина, или пак релативно во однос на некој од елементите. Дистрибуцијата на елементите, го зема саканиот елемент, и во зависност од внесените вредности, го дистрибуира односно распределува во одредена низа.
1.4.2 РАБОТА СО ГРУПИ И СЛОЕВИ (LAYERS)
Секој нацртан елемент во програмите за дигитален дизајн има свој одреден редослед. Тој или се наоѓа пред или пак зад некој друг елемент. Кога два елементи се наоѓаат на иста локација, едниот го преклопува другиот, при што на некој начин се добива впечаток на
23
длабочина. Со поставување на елементите еден врз друг, во зависност од нивните особини, доаѓа и до маскирање на елементите кои се во позадина.
(а) (б) (в)
Слика 1.15 Работа со слоеви. (а) Елементите се поставени така што се поклопуваат и јасно може да се види нивниот редослед. (б) На кругот и шестоаголникот им се нанесуваат особини на линеарна транспарентност (50%). (в) Трите елементи се
центрирани еден во однос на друг, кругот ја задржува својата линеарна транспарентност, а додека пак на шестоаголникот му се нанесува радијална
транспарентност.
Сложените проекти на дигитален дизајн, скоро секогаш се составени од голем број на помали елементи, кои што сите посебно носат одредени особини или пак ефекти. Менаџирањето и управувањето со овие елементи е особено важно, а воедно добрата организација значително го олеснува процесот на дизајн.
Сите програми за дигитален дизајн и проектирање нудат можност за групирање на елементите. Групирањето, односно креирањето на групи од елементи кои што делуваат единствено, овозможува истовремено уредување на сите тие елементи. Групирањето, не треба да се меша со процесите комбинирање на различни елементи (пр. унија, пресек и сл.), со групирање не се врши спојување на патеките и внатрешните делови на елементите. Групата од објекти, исто така може доста лесно да се поместува, ротира и сл., при што се задржуваат просторните врски помеѓу различните елементи. Елементите кои што се групирани, ја задржуваат својата поврзаност, но групата како целина се третира како еден предмет кој што мора да се постави пред или зад другите елементи од страната.
Менаџирањето со елементите, вообичаено е далеку полесно доколку секој елемент посебно или пак група елементи се постави во свој посебен слој (Layer) – опција што ја нуди секој програм за дигитален дизајн. Вака дефинираните слоеви, може лесно да го менуваат својот редослед, можно е менување на особините на секој слој посебно, или пак можно е нивно исклучување, при што тие може да се направат невидливи или да не се печатат. Добра опција при работата со слоеви е и нивното заклучување, со што тие се заштитуваат од несакани промени.
1.4.3 ГОЛЕМИНА И СКАЛИРАЊЕ
Кај геометриски базираните програми, димензиите на елементите на работната површина, не играат некоја голема улога. Таа само е добар показател за големината на соодветните елементи, во случаите кога тие се отпечатуваат на хартија. Елементите во геометриските програми, може да се отпечатуваат со било која резолуција, при што не доаѓа до некоја промена во големината на документот.
24
Во геометриски базираните програми големината на документот зависи од визуелниот статус на сликата, а не од димензиите на поединечните елементи. Нормално, со секој нов елемент, расти и големината на документот, но таа не би се променила доколку истите тие елементи се скалираат (зголемат или намалат). Доколку како за наједноставен пример се земе скалирање на круг, тогаш при описот на кругот, геометриската програма едноставно само ќе ја смени соодветната вредност на радиусот.
Одредени програми, нудат различни опции за скалирање на елементите. Елементите кои што се исполнети со некоја шема (Pattern), може да се скалираат на неколку начини (слика 1.16). Кај левиот скалиран круг, во Pattern опцијата, овозможена е трансформација на шемата, заедно со трансформацијата на кругот. Кај десниот скалиран круг, оваа опција не е овозможена, па така самата шема си ги запазува претходно дефинираните вредности.
Слика 1.16 Особини на скалирањето. Кај левиот скалиран круг, овозможена е опцијата на трансформација на шемата, заедно со трансформацијата на елементот.
Со овозможувањето на трансформацијата на шемата заедно со трансформацијата на елементот, доколку се изврши непропорционално скалирање, тогаш тоа би се одразило и врз самата шема.
Слика 1.17 Непропорционално скалирање
1.4.4 КОМБИНИРАЊЕ НА РАСТЕРСКА И ГЕОМЕТРИСКА ГРАФИКА
Програмите базирани на геометриска графика имаат значително послаби можности во споредба со растерските во случаите кога се зборува за колор ефекти. Доколку, во дизајнот е потребно да се вметне некоја сложена колор графика, или пак фотографија, геометриски базираните програми ја имаат опцијата за нивно импортирање во растерски облик. Современите геометриски базирани програми, не само што овозможуваат импортирање на растерски слики, туку и примена на некои од стандардните геометриски алатки врз нив.
25
Со развојот на компјутерските програми, нормално растат и нивните можности. Веќе неколку години, може слободно да се каже дека почетната строга класификација на растерски и геометриски базирани програми, почнува да ја губи својата смисла. Програмите кои што денес егзистираат на пазарот, било тие да се растерски или пак геометриски базирани, вклучуваат во себе голем број на алатки, кои што можат да се сретнат и кај двата вида на програми.
26
27
Глава 2
КРЕИРАЊЕ НА 3D ГРАФИКА
28
29
2.1. ВОВЕД
Со помош на 3D графиката, инженерите и дизајнерите можат за прв пат во историјата на човештвото брзо да креираат, набљудуваат и менуваат 3D облици, без при тоа да користат 3D материјали. Со 3D графиката тие можат да конструираат апстрактни 3D простори, градби и комбинирани објекти, задавајќи им притоа различни „материјални особини“, како што се рефлексивност (одбивање, прекршување), транспарентност, текстури и светлосни ефекти, кои што можат да се контролираат.
Тродимензионалната графика ги револуционизира методите на работа кај многу професии, вклучувајќи ги теоретската математика, авионскиот и автомобилскиот дизајн, симулација на летови, архитектура, маркетинг, видео игри, па дури и холивудската индустрија. Замислете дека се обидувате да изградите нова куќа. Техничките цртежи на повеќето луѓе не им овозможуваат интуитивно да ја замислат самата форма на куќата. Архитектонските скици можат да ја претстават куќата од различни перспективи, но секоја нова перспектива вклучува и навраќање во целост кон таблата за цртање. Физички модел во размер, ќе му овозможи на набљудувачот да го разгледа од повеќе гледни точки, но е напорно да се изработи, тешко да се промени, премногу мал за да се испитува и може да се наоѓа само на едно место во исто време. Спротивно на тоа, 3D компјутерската програма им овозможува на дизајнерите да создадат 3D модели и да ги набљудуваат од било која гледна точка. Овие модели можат исто така да бидат разменувани меѓу заинтересираните странки на различни географски локации во исто или различно време.
Слика 2.1 Различни гледни точки на 3D модел на куќа. Благодарение на ваквиот компјутерски изработен модел, дизајнерите и архитектите можат да га испитуваат
објектот од било која гледна точка- дури и од внатре.
Креирањето и разгледувањето на 3D компјутерски објекти е релативно сложен процес, но дава неверојатни резултати. Дел од проблемот лежи во самата комплексност на 3D графиката и во тешкотијата при работењето со 3D информации на 2D екран со 2D влезна единица (на пр. глувче). Многу од пречките се надминуваат преку изучување на специфичните изрази од вокабуларот кај 3D програмите и разбирање на некои од основните концепти кои придонесуваат истите да функционираат. Непознатите технички термини и изрази, вообичаени кај 3D програмите, како примитиви (primitives), полигонални мрежи (polygonal meshes), пресликување на профил (sweeping a profile), Gouard-‐ово сенчење (Gouard shading), рекурзивно зрачење (ray tracing) и сл., ќе се појаснат со изучувањето на ова и наредното поглавје. Колку повеќе од наведените принципи ќе изучите, толку ќе биде полесно да се приспособите кон било која 3D програма, па дури и кон некоја што не сте ја користеле претходно.
30
2.2 КОНЦЕПТИ
3D програмите подразбираат употреба на скоро сите концепти и методи опишани во претходното поглавје, а кои што се користат за креирање на 2D цртежи. Нормално тие исто така вклучуваат и нови елементи карактеристични за третата димензија.
2.2.1 МОДЕЛИРАЊЕ И РЕНДЕРИРАЊЕ
Кај 2D геометриските програми се користи 2D геометрија со цел на дефинирање на 2D облици, по што постојните 2D геометриски описи се растеризираат и се создаваат слики за растерски-‐ базираните екрани и печатари. Во 3D програмите се користи 3D геометрија за дефинирање на 2D и 3D облици. Разликата помеѓу 2D и 3D програмите во основа лежи во самата репрезентација на додадената димензија и описот на ефектите кои што светлината ги предизвикува врз површината на објектот. 3D тематиката најчесто се дели во две различни области, односно моделирање и рендерирање.
При моделирањето се креираат 3D објекти, на сличен начин како што се креираат и 2D објекти во соодветните програми за дигитален дизајн. При процесот на рендерирање се врши растеризација на овие модели, при што самиот овој процес е далеку посложен отколку кај 2D програмите. Кај 3D рендерирањето компјутерот мора да ја проектира 3D информацијата на 2D рамнина, со цел на пресметување и прикажување светлосните ефекти на површината од објектот. Потребното процесирачко време потребно за оваа операција е директно поврзано со сложеноста на површината која што се рендерира, па така доста често и на моќна компјутерска конфигурација можат да и бидат потребни часови па дури и денови за завршување на одредена задача.
2.2.2 ШТО Е ТОА МОДЕЛ?
Моделот претставува верзија од некој објект, концепт или пак феномен кој што содржи некои од неговите важни карактеристики. На пример, архитектонскиот модел ја претставува формата на некоја градба, нејзините делови, како и нејзиниот целосен визуелен приказ. Овој модел може да биде со различен размер од вистинската градба, може да не го опишува, на пример, водоводниот систем и инсталацијата, да ги нема карактеристиките на реалниот градежен материјал употребен за изградба на објектот, а честопати е и целосно празен внатре. Оној што го конструира овој модел мора да одлучи кои од карактеристиките на реалниот објект ќе ги прикаже во него. Употребата на модели е пресудна во повеќе полиња, и тоа од физиката на честичките, па се до сценското уредување во големите Холивудски филмови.
Добар модел е оној кој што доловува информации и односи кои се пресудни за некоја одредена намена, без разлика на тоа дали таа намена е функционална или естетска. Добриот модел му овозможува на својот креатор да осмисли идеи кои би биле тешки, ако не и невозможни, да се замислат кога би се соочил со реалниот феномен и со целата негова комплексност. На пример, генералот може да осмисли воена стратегија користејќи соларници на кујнска маса.
Геометриските модели не мораат да се базираат на физички геометриски форми. Информациите за хиерархијата во една компанија можат да бидат претставени со помош на организациона табела, а податоците од берзата или некој научен експеримент можат да бидат претставени како графикони и дијаграми во две или три димензии. Научната визуелизација вообичаено се однесува на создавањето на слики (прикази) базирани врз
31
голем број на податоци (некои геометриски а некои не), како на пример брзина и насока на ветрот над трупот од еден автомобил. Во овој случај, во софистицираните лаборатории движењето и брзината на ветрот над автомобилот се мерат или пресметуваат, по што добиените информации се употребуваат во соодветни 3D апликации. Нормално, колку подобро се опишани условите од реалниот свет, толку подобар е и самиот модел, односно поверодостојно би се прикажало неговото однесување при различни услови. Во случајот со автомобилот, добар модел би помогнал во предвидувањето на можните проблеми, што би довело до поголема аеродинамичност, а со тоа и поголема стабилност на автомобилот, а воедно меѓу другото и помала потрошувачка на гориво.
Слика 2.2 Визуелизација и испитување на воздушните струења во автомобилската индустрија
2.2.3 ШТО Е ТРЕТА ДИМЕНЗИЈА КАЈ ПРОГРАМИТЕ ЗА 3D МОДЕЛИРАЊЕ?
3D програмата прикажува слика на 2D екран, па нормално се поставува и прашањето: што кај неа претставува трета димензија? Еден од одговорите е тоа да 3D програмите моделираат 3D геометрија (форми на објекти) како и 3D светлосни интеракции. Еден предмет моделиран во 3D може да се движи, ротира и скалира во 3D просторот. Откако ќе се рендерира, предметот може да има рефлексии, сенки, и други 3D светлосни ефекти. Овие ефекти зависат од просторот. Кај 3D програмите, додадена е нова оска кон х, у -‐координатниот систем кој се користи кај 2D графиката. Третата димензија или длабина е создадена со додавање на z оска, нормална во однос на x и у оските.
Исто така покрај моделирањето на геометриски објекти во 3D просторот, 3D програмите можат да моделираат други аспекти од 3D светот. Моделирањето на однесувањето (behavioral modeling) го моделира однесувањето на објектот, како на пример паѓањето на камен на земјата, движењето на копје низ воздухот, или неговото судирање со други објекти. Ова моделирање исто така се користи при анимирање на ликови кои што можат да зборуваат, со цел на реално прикажување на изразите на лицето и наборите на кожата.
Примарна цел на истражувањата во областа на 3D графиката во изминатите неколку децении, е прецизното моделирање на 3D реалниот свет. За реализација на оваа цел, несомнено потребно е подобро научно спознавање на голем број на феномени, како на пример природата на светлината и нејзината интеракција со различните материјали, математичко разбирање на облиците и структурата на комплексните форми на предметите во природата, а воедно и предметите изработени од човекот. Совршен 3D
32
модел е оној модел кој што идеално би ги отсликувал сите карактеристики на реалниот свет. Нормално, ова ја наложува потребата од моделирање и вклучување на голем број на процеси, меѓу кои голем дел се и од хаотична (непредвидлива) природа, со што пак значително се зголемува комплексноста на самиот модел. Постојат граници до кои што моделите прецизно го отсликуваат реалниот свет, а кои што граници директно зависат и од капацитетот (моќноста) на работната станица (компјутерот). Овие граници постојано се поместуваат со претставувањето на нови модерни компјутерски конфигурации, но притоа овие конфигурации се и прилично скапи. Вистинската умешност на дизајнерот, инженерот или уметникот лежи во максималното искористување на постојните ресурси, со цел на што поуспешно симулирање на реалните услови.
2.2.4 КРЕИРАЊЕ НА 3D ГЕОМЕТРИСКИ МОДЕЛ
Иако програмите за 3D геометриско моделирање може да изгледаат доста сложено, во главно секое моделирање е засновано на шест задачи (чекори) прикажани на слика 2.3. Овие фази при креирањето на моделот се еден практичен начин на разбирање на било која 3D програма и го креираат концептот на ова и наредното поглавје. Во пракса, овие чекори често се изведуваат паралелно. На пример, материјалот за рендерирање може да се избере за време на процесот на склопување на компонентите, бидејќи и самиот изглед на материјалот влијае врз изборот на компоненти. Исто така потребно е да се изврши и рендерирање на моделот пред неговото комплетирање, со што може подобро да се имаат предвид резултатите од завршното рендерирање, а со тоа и соодветниот избор на материјали.
(1) (2) (3)
(4) (5) (6)
Слика 2.3 Задачи при 3D моделирање. 1.Создавање на едноставни елементи на моделот 2.Нивно склопување во посложени објекти 3.Подредување на објектите во 3D сцена
4.Избирање на материјали 5.Подесување на светлата 6.Избирање на поглед/и и методи за рендерирање
33
3D програми базирани на примероци - волуменска визуелизција
Исто како што и 2D програмите се делат на растерски и геометриски базирани, така и 3D програмите можат да се поделат на геометриски (оној тип што е опишан во ова поглавје) и растерски програми базирани на примероци (raster или sample-‐ based). Растерски базирана 3D графика е онаа графика која што се базира на 3D еквивалент на пиксел, односно точка во 3D просторот со придружни вредности наречена воксел (voxel-‐ volume element). 3D програмите базирани на примероци имаат потреба од огромно процесирачко време, па така и голем број од денешните персонални компјутери немаат доволно процесорска моќ за да можат да третираат таква графика во реално време. Затоа, вакви можности ретко се сретнуваат кај денешните програми за 3D моделирање кои се геометриски базирани. Сепак, ваквиот тип на програми имаат одредени предности, и тие воглавно се употребуваат во медицината, инженерството и други полиња за волуменска визуелизација и моделирање на внатрешноста на објектите. Така на пример, во медицината внатрешноста на човековото тело се визуализира преку употреба на sample-‐ based податоци добиени со помош на медицинска опрема како на пример CAT (Computer Aided Tomography) или пак MRI (Magnetic Resonace Imaging) скенери. Внатрешноста на објектите е исто така занимлива и за инженерите, кои што сакаат да ги увидат ефектите од притисокот или пак температурата врз употребените материјали.
Иако во моментот не се достапни за повеќето корисници, 3D sample-‐ based опциите како што е волуменското обликување, сликање во 3D и употребата на 3D техники на отсликување на внатрешноста на објектот секако ќе бидат дел од комерцијалните 3D програми во иднина.
2.3 АНАТОМИЈА НА 3D ПРОГРАМИТЕ
Општ е впечатокот дека кај интерфејсите на 3D програмите недостасува стандардизацијата која што се среќава кај 2D апликациите. Описот на основните чекори при моделирање даден на слика 2.3, претставува еден вид на водич во елементите кои се сретнуваат кај 3D програмите. Понекогаш овие задачи се разделуваат и на неколку модули или пак потполно независни апликации. Една 3D програма може да користи еден програмски модул за создавање на моделите, а друг различен модул за нивно рендерирање. Некои програми содржат различни апликации за креирање на едноставни облици, нивно сложување во сцена, рендерирање и создавање на анимација.
Имајќи го предвид гореспоменатото, во продолжение ќе бидат опишани некои вообичаени елементи на интерфејсите, кои што се користат во програмите за 3D моделирање.
The world. Како и областа за цртање кај 2D програмите, the world е работната површина во која што објектите се создаваат. Ова всушност е координатен систем со x, y и z оски, односно една димензија плус во споредба со 2D програмите. Во повеќето 3D програми, истовремено можат да се отворат повеќе погледи кон работната површина на екранот. Исто така 3D програмите овозможуваат и независно зачувани 3D објекти да бидат импортирани во било која работна површина во секое време.
Палета со алатки (Tool palette или tool bar). Кај палетата со алатки најчесто се сретнуваат алатки за поместување (moving), ротирање (rotating) и скалирање (scaling) на објекти и погледи. До иконите за основно креирање на објекти -‐ со избирање на претходно креирани облици или конструирање на едноставни објекти -‐ вообичаено може исто така да се пристапи директно од главната палета со алатки. Корисникот често пати
34
може да се префрли од еден мод во друг, како на пример од моделирање во рендерирање, со помош на соодветни копчиња од палетата со алатки.
Слика 2.4 Интерфејс на 3D програмот Maya
Помошни палети. Поради тоа што една 3D програма има голем број елементи (можности), на располагање можат да бидат и голем број на други помошни палети. Нормално, преголемата употреба на овие палети, може значително да го оптовари екранот, со што се смалува и погледот врз самата работна површина. Исто како и кај 2D програмите, и во овој случај се препорачува вклучување на само оние помошни палети, кои што се неопходни за соодветниот проект.
Менија. Исто како и кај 2D програмите, пристапот до основните опции во однос на отворање на нов документ, зачувување на постоечки, копирање на објекти и сл., се постигнува преку соодветни менија. Менијата се особено погодни поради тоа што не зафаќаат голем простор од работната површина, односно по потреба тие лесно може да се спуштаат, по што може да се пристапи кон саканата опција. Сите опции кои што се сретнуваат во помошните палети, вообичаено се содржат и во менијата.
Област со помошни информации за корисникот. Сложеноста на 3D програмите произлегува од големиот број на елементи и нивни карактеристики кои што на некој начин го збунуваат корисникот. Стандардна практика кај 3D програмите, а се почеста и кај 2D, е употребата на посебни области во кои што се прикажуваат помошни информации во однос на селектираната алатка, опција или пак постапка на креирање на одреден елемент. Овие области нудат кратки и поедноставени информации, а често пати за подетални информации корисникот го насочуваат кон соодветна web база на податоци.
35
2.4 СЛОЖУВАЊЕ НА 3Д МОДЕЛ
2.4.1 ДЕКОМПОЗИЦИЈА
Доколку еден објект не е невообичаено едноставен, и тој содржи компоненти кои се разликуваат едни од други, тогаш за одредување на компонентите потребни за креирање на објектот потребно е да се изврши декомпозиција.
За корисниците навикнати на 2D графика, декомпозицијата подразбира комплетно нов начин на размислување за објектите. Наместо да се црта еден 3D објект од одредена гледна точка, при 3D компјутерското моделирање мора да научи како да направи сложена форма од прости компоненти, кои на крај се состојат од основни геометриски елементи (пр. елементите на моделот на птицата од слика 2.3).
Еден комплексен облик може да биде моделиран на безброј начини, а изборот зависи од тоа каков изглед и функција треба да има дигиталниот модел кој се создава. Доколку еден модел содржи голем број детали, не мора да значи дека е подобар. Процесот на создавање на објектот како во компјутерската уметност така и во традиционалното моделирање бара од дизајнерот да избере кои аспекти на објектите и средината да ги претстави, а кои да ги игнорира. При тоа треба да се нагласи дека еден модел може да се креира на различни начини, т.е. до целта да се стигне по различни патеки. Значи, не постои „правилен“ метод за изработување на одреден модел. Методот кој го избираме, зависи од повеќе фактори, вклучувајќи ги и моќта на постојниот софтвер, а воедно и начинот на кој што сакаме да му пристапуваме на тој објект во иднина. Значи умешноста на дизајнерот се состои во тоа да ги примени оние операции кои ќе му овозможат наједноставно креирање на моделот, но можност за идна манипулација со објектот согласно потребите за креирање на замислената сцена
2.4.2 КОМПОЗИЦИЈА
Процесот на композиција на објектот е потполно спротивен на процесот на декомпозиција. По концептуалното осмислување на предметот кој што треба да се моделира, и создавањето на потребните елементи, потребно е и овие елементи да се склопат во крајниот облик. Кај посложените објекти, прво се сложуваат помошните делови, а потоа се комбинираат во посложени делови се додека објектот не е комплетен.
Интуитивното и прецизно позиционирање на 3D објекти на 2D екран, преку 2D влезни единици, како на пр. глувчето, сѐуште претставува предизвик. Глувчето може да се движи само во 2D рамнина, а сепак треба да ги менува позициите на објектите во 3D просторот. Уште еден проблем претставува тоа што погледот врз овие објекти е ограничен на 2D екран, па така тешко е да се определи длабината. Затоа дизајнерите кои работат во 3D простор најчесто гледаат во повеќе погледи одеднаш (Слика 2.5).
36
(а) (b) (c)
Слика 2.5 Залажувачки 2D погледи кај една 3D композиција: a) Птицата и вазната изгледаат како да се правилно поставени на површината од масата. b) Но, поглед од поинаков агол покажува дека не е така. c) Заради ваквите проблеми, креаторите кои
работат во 3D простор најчесто гледаат во повеќе погледи одеднаш.
2.4.3 ХИЕРАРХИЈА
Компонентите на 3D моделот најчесто имаат структурирани релации (врски). Така на пример да го земеме повторно моделот на птица. При креирањето на овој модел се поставува прашањето, на кој начин може да се поврзат компонентите, за подоцна (при анимацијата) да не мора тие да се придвижуваат одделно, при поместувањето на птицата. Исто така се наметнува и прашањето, на кој начин може да им се дозволи на некои делови да се движат независно од другите (на пример, да направиме клунот на птицата да се отвора и затвора). Одговорот на овие прашања лежи во самата хиерархија на елементите.
Хиерархијата во 3D компјутерската графика е структура која што ги организира компонентите на моделот, според нивната способност да вршат контрола едни врз други. Таа може да се претстави со стеблест дијаграм.
Хиерархиите често се опишуваат во облик на стеблести дијаграми, чија што структура наликува на превртено дрво (слика 2.6). На врвот од овој дијаграм (дрвото) се наоѓа корен (root). Секој јазол (node), вклучувајќи го и коренот е родител (parent) на јазлите под него, кои се нарекуваат потомци или деца (children). Компонентите без деца се нарекуваат лисја (leaves).
Слика 2.6 Стеблест дијаграм
37
Еден популарен начин на прикажување на хиерархијата е поврзан-на (connected-‐to) методот, кој покажува на кој начин се поврзани компонентите на моделот. Слика 2.7 прикажува поврзан-‐на хиерархија за едноставен модел на птица. Промените на објектот влијаат на неговите деца но не на неговиот родител, додека пак промените на коренот на објектот влијаат врз сите останати објекти во хиерархијата. Така на пример, со придвижување на торзото се движи и целата птица, но придвижувањето на клунот, кој е лист, не влијае на ништо друго.
Слика 2.7 Поврзан-на хиерархија на едноставен модел на птица. Торзото е коренот. Опашката, нозете и вратот се поврзани директно на торзото. Стапалата се поврзани на нивните соодветни нозе, и пувката на птицата, главата и клунот се сите поврзани на
вратот. Очите се поврзани на главата
Функционалноста на моделот зависи од одлуките за поврзување на хиерархијата. Ако, на пример, стапалата на птицата беа поврзани директно со торзото од слика 2.7, тогаш тие немаше да останат поврзани на нозете ако тие се придвижеа. Кога имаме едноставни модели лесно можеме да се снајдеме со дизајнирањето на хиерархијата, но кога моделите се составени од поголем број на делови, начинот на кој тие се поврзани е пресуден за функционалноста на самиот модел.
Имплементацијата на хиерархијата варира од програма до програма. Единствената концептуална разлика е тоа што некои апликации им дозволуваат на корисниците да ги вклучат само актуелните компоненти кои се нацртани на екранот во нивната хиерархија. Други програми овозможуваат додавање и употреба на апстрактни објекти, кои пак претставуваат колекции од други објекти. На слика 2.8 коренот Птица или јазлите Горен дел на телото, Среден дел на телото, итн. се апстрактни објекти, кои не нацртани на екранот како објекти туку се облици составени од колекција од други компоненти, меѓу кои одреден број и самите се апстрактни, односно составени од колекции. Овој начин на претставување на хиерархијата е познат под името составен-‐од (composed-‐of) хиерархија.
Составен-од (composed-‐of) хиерархијата завршува со лисја кои всушност се вистинските геометриски објекти кои се нацртани на екранот. Со други зборови, само на апстрактните објекти им е дозволено да имаат деца.
38
Слика 2.8 Составен-од хиерархија на едноставен модел на птица, со користење на апстрактни јазли. Птицата, апстрактен објект, е составена од горен дел на телото,
среден дел и долен дел, сите исто така колекција од апстрактни објекти. Средниот дел е составен од геометриски објект, торзо. И горниот и долниот дел се состојат од повеќе составен- од објекти и на крајот следуваат геометриските компоненти на птицата
Секој од претходно споменатите пристапи има свои предности и недостатоци, а некои од апликациите овозможуваат и комбинации од двете карактеристики. Предности на поврзан-‐на хиерархијата се едноставноста и фактот што оваа хиерархија често ја рефлектира акцијата што ја презема креаторот за да воспостави споеви помеѓу деловите на моделот. Но, неприсутноста на апстрактни објекти може да биде недостаток кога дизајнерот врши концептуализација, уредување и анимирање на сложени модели.
Кај составен-‐од хиерархијата апстрактните објекти можат да бидат селектирани и трансформирани, ефектите од трансформацијата се проследуваат надолу во хиерархијата до листовите (геометриските објекти). На пример, ако коренот Птица во слика 2.8 се зголеми, целиот модел на птицата ќе се зголеми. Ако апстрактниот објект Горен дел од телото се ротира, вратот, главата, клунот, очите и пувката сите заедно ќе се заротираат. Додека пак во поврзан-‐на хиерархијата, трансформирањето на некој објект влијае само на неговите деца, а не на неговиот родител. На пример, ако се придвижат очите, тоа нема да влијае врз ниту еден друг дел од птицата.
2.4.4 СПОЕВИ (JOINTS )
Хиерархиската структура исто така е и основа за дефинирање на споевите (joints), кои што претставуваат релации помеѓу деловите на моделот, кои прецизно определуваат како еден дел може да се движи релативно во однос на друг.
На пример, при моделирање на човек деловите од човековото тело треба да останат поврзани кога телото ќе се придвижи, но не треба да бидат сосема неподвижни. Главата треба да биде во можност да се врти за околу 180°, но не и за 360°. Кога главата се врти, телото треба да стои мирно, а не да се врти заедно со главата. Колку што се подетални и пореалистични споевите, толку е полесно да се постави и пореално да се анимира моделот.
39
Споевите се дефинираат преку ограничување на поместувањето и ротацијата на еден објект во однос на друг. На слика 2.9 се опишани неколку познати типови на споеви. Лизгачки (slider) спој -‐ овозможува објектите транслаторно да се движат по една оска, но не по другите, и не можат воопшто да се ротираат. Точкест спој (Pin joint) овозможува ротација на објектите околу една оска, но не и транслација. Топчест спој (ball joint) овозможуваат ротација околу сите три оски, но не и транслација.
Слика 2.9 Познати типови на споеви. Безбедносната брава е slider, а бравата за отворање е pin joint, вратата ротира исто така на pin joint, а рамото е ball joint.
2.5 ОСНОВНИ ОПЕРАЦИИ ЗА 3D МОДЕЛИРАЊЕ
Основните операции за 3D моделирање може генерално да се поделат во три категории: користење на примитиви, пресликувања, и булови операции. Процесот на моделирање најчесто вклучува комбинирање на овие операции.
2.5.1 ПРИМИТИВИ
3D примитиви (3D primitives) се едноставни 3D облици кои не содржат дополнителни 3D облици. Иако 3D примитивите можат да бидат изградени од 2D облици, кај 3D програмите тие се претходно изработени и дефинирани, и се повикуваат преку соодветни менија. На слика 2.10 прикажани се некои од најчесто сретнуваните 3D примитиви. 3D дизајнерите, ги користат 3D примитивите како корисни појдовни точки при креирањето на покомплексни објекти. Потоа така дефинираните покомплексни објекти, можат да се употребат како примитиви. На пример, бананата може да биде корисен примитив во еден 3D проект, во кој што сакаме да изработиме модел на растителниот свет во Јужна Америка.
40
Слика 2.10 3D Примитиви
2.5.2 ПРЕСЛИКУВАЊА
Основни 3D облици можат да се креираат и со цртање на 2D геометриски облик, познат како профил (profile), а потоа врз него да се изведе операцијата sweep (пресликување), со што се опишува соодветен 3D облик. Операцијата sweep врз еден профил може да се изведува по права или закривена патека, односно процес познат како извлекување (extrusion) или пак околу оска со што се добива ротиран (revolved) облик. Операцијата scaling extrusion (скалирано извлекување) користи скалирани профили (профили во одреден размер). Процесот на извлекување може да се надополни преку користење на повеќе различни профили, во процес познат како lofting (или skinning).
Во самиот процес на извлекување 2D профилот се придвижува по права или закривена патека, со што се добива 3D облик. Краткото извлекување по права линија често се користи за создавање на едноставни 3D површини, кои што може и да претставуваат составен детаљ од поголеми, покомплексни облици.
Операцијата revolve како резултат дава симетрични облици, слични на оние изработени со грнчарско тркало (на пр. вазни). Еден единствен профил може да послужи за изработка на голем број на облици добиени преку revolve опцијата, кои што зависат од позицијата на оската на ротација. Иако во природата ретки се оние предмети кои се совршено симетрични во однос на оската на ротација, голем број 3D предмети кои што човекот ги изработува, се создадени на овој начин.
(а) (b) (c)
Слика 2.11 а) Куќата е креирана со операцијата extrude b) Рачката на предметот е креирана со операцијата curve extrusion c) Чашата е креирана со операцијата revolve
41
Lofting им овозможува на дизајнерите освен објекти со симетричен облик и единствен попречен пресек, да креираат објекти кои можат да се опишат со серија попречни пресеци. Примери за вакви објекти се од авионските крила, па се до природни 3D облици кои што тешко можат да се дефинираат со употреба на пресликување со извлекување. На пример, рака може да се дефинира како серија од елипси кои што варираат по големина, и кои што можат да се обложат со некој материјал (кожа или сл.).
Слика 2.12 Lofting
2.5.3 БУЛОВИ (BOOLEAN) ОПЕРАЦИИ
Многу од предметите во реалниот свет можат да бидат моделирани преку комбинирање на едноставни облици т.е. на пример додавање или одземање на два или повеќе примитиви или други 3D облици. Додавањето и одземањето на облици, претставува дел од групата на булови операции, кои можат да се извршуваат врз цврстите тела. Ваквиот пристап овозможува користење на буловите операции за унија (union), разлика (difference), и пресек (intersection) на 3D објекти (Слика 2.13).
(а) (б) Слика 2.13 Булови операции врз цврсти тела. а) Двете почетни форми; б) Од лево кон
десно: унија, пресек, сфера минус коцка, и коцка минус сфера.
На слика 2.14 претставен е процес на моделирање со булови операции.
a) b) c) d)
Слика 2.14 Основа за масичка, изработена со помош на одземање на сфери од коцка. Би било доста тешко, па дури и невозможно, овој облик да се создаде на било кој друг начин
42
2.6 РЕПРЕЗЕНТАЦИЈА НА ОБЈЕКТИТЕ
При креирањето на објекти, користениот софтвер за 3D моделирање мора да избере метод за опишување на геометријата на објектот. Најчесто употребуваниот метод користи полигони (polygons), односно затворени 2D облици како правоаголници и триаголници составени од прави линии кои не се сечат меѓусебно. Полигонална мрежа (Polygonal mesh) претставува опис на еден објект со рамни, повеќеаголни полигони кои се меѓусебно поврзани. Полиедар (Polyhedron) претставува затворена полигонална мрежа.
Сите 3D програми ги разбираат полигоните и повеќето од 3D податочните формати се засновани на полигонални описи. Кај објекти со облик на коцка и други многу покомплексни облици со рамни површини, бараните облици се опишуваат доста прецизно со помош на полигоналното претставување. Меѓутоа, за закривени (заоблени) форми, како на пр. сфери и цилиндри, полигоналното претставување може само приближно да ја опише бараната површина.
(a) (b)
c) d)
Слика 2.15 Полигонални модели и модели базирани на криви a) Два полигони b) Зголемување на резолуцијата кај полигонално претставување на еден заоблен модел с)
Spline-базирана птица d) Polygonal-mesh птица
Полигоналните модели на заоблени објекти може да се рендерираат за да изгледаат мазно, но за попрецизно моделирање на заоблена површина потребни се вистински заоблени облици, а не линеарни апроксимации. Моделите базирани на криви (spline модели) овозможуваат подетално и пореално рендерирање на заоблените облици. Бидејќи тие се базирани на реални криви, а не линии, може да им се пристапи и да се промени нивниот облик на начин што не е можен кај полигоналните мрежи. Претставувањето со помош на криви е далеку попрецизно од полигоналното, но бара покомплексни пресметки, а со тоа и повеќе процесорско време, со што е побавно за работа.
Програмите кои што овозможуваат креирање и зачувување на облици базирани на криви, често пати користат полигонална репрезентација во по неквалитетен (draft) мод на рендерирање, со цел на побрзо функционирање. Во овие програми често пати се подесува
43
полигоналната резолуција, за да се добие во квалитет на изгледот за сметка на времето за рендерирање и обратно. На слика 2.15-‐b се прикажани различни полигонални резолуции кај една сфера и се споредени со модел базиран на криви.
Некои операции, како на пример буловите, не можат лесно да се изведат кај spline модели. Некои од 3D програмите кои што нудат такви операции, бараат поедноставување или конверзија на spline базираните презентации на објектите, во полигонална мрежа, пред да можат да се извршат таквите операции. Ова се прави со цел на поедноставување на пресметките и забрзување на работата на програмата. Важно е да се напомени дека доколку еден spline-‐ базиран објект се трансформира во полигонален, обично не може повторно да се врати назад во попрецизна заоблена презентација.
2.7 ДИГИТАЛНА ГЛИНА И 3D ОБЛИКУВАЊЕ
Повеќето од предметите во реалниот свет, особено оние во природата, не изгледаат како збирка од геометриски примитиви или пак пресликувања, извлекувања и сл. Нормално, потребно е повеќе од само комбинација на едноставни геометриски примитиви, доколку сакаме да го моделираме реалниот свет.
Еден поинаков пристап на модифицирање на едноставни објекти познат како дигитална глина (digital clay) или 3D обликување (3D Sculpting), овозможува моделирање преку поместување на јазлите на полигонална мрежа (drag and drop операција). Со притискање и повлекување на јазлите и поврзување на линиите од полигоналната мрежа, било кој повеќеаголен објект може да се обликува во нови извртени или изобличени форми.
Слика 2.16 Обликување со „дигитална глина“. Оваа едноставна 3D ѕвезда (лево) е деформирана со придвижување на врвовите од нејзината полигонална мрежа
Некои вообичаени деформации за кои ќе биде потребно повеќе време доколку се изведуваат точка по точка, често пати во програмите за 3D моделирање се достапни како готови алатки. Тие можат да вклучуваат и операции како извртување (twisting), наведнување (bending) и сплескување (splashing).
Слика 2.17 Вообичаени деформации со сплескување (squashing), наведнување (bending) и
извртување (twisting),.
44
Операции базирани на дигитална глина може да се користат и врз spline-‐ базираните модели. Исто како што може да се креираат комплексни контури со spline криви, комплексни површини може да се опишат со spline мрежа, односно 2D површини ограничени со четири spline-‐ови (слика 2.18 а). Јазлите можат да се придвижуваат кон рабовите и внатрешноста/ надворешноста на мрежата со цел површината да се деформира и да се креираат различни контури кои тешко можат да се добијат со полигонални деформации или сложувања на основни геометриски форми (слика 2.18 b и c). Со зголемување на „резолуцијата“ на самата мрежа (додавање на нови јазли), може да се моделираат детални површини. Со користење на оваа техника може да се креираат облаци, вода, или нерамни површини како на пр. парче од набрана ткаенина. Техниката со spline мрежи често се употребува кај дизајнот на автомобили и авиони и кај дизајнирањето на површини за CAM (Computer Aided Manufacturing). Spline базираните мрежи можат да бидат и затворени и да се создадат 3D облици.
Слика 2.18 Употреба на spline мрежа a) spline мрежа формирана од 2D површини ограничени со четири spline-ови b) Манипулација на некои од јазлите
c) Комплетен spline базиран лик
2.8 АЛГОРИТАМСКО ГЕНЕРИРАЊЕ НА ОБЛИЦИ
Постојат важни разлики помеѓу креирањето на модел рачно (да се дизајнира секоја компонента одделно и да се одреди нејзината положба и да се ограничат релациите) и користењето на алгоритамски 3D процеси.
2.8.1 МОДЕЛИРАЊЕ НА ПРИРОДАTA
Се до доцните 1970-‐ти и раните 1980-‐ти, моделирањето на природата било целосно надвор од можностите на 3D графиката, бидејќи било многу тешко реалистичното моделирање на облици од природата, како на пример дрвја, растенија, цвеќиња, планини, вода и сл. Еден начин на моделирање на дрво е преку поставување на стотици, па дури и илјади гранки и лисја на стебло, како на слика 2.19, но таквиот пристап бара голема посветеност, напор и време.
Техниките на алгоритамско и процедурално генерирање на облици, им овозможуваат на дизајнерите да креираат 3D објекти и сцени кои што е непрактично или пак невозможно
45
да се креираат на друг начин. Овие техники во 3D графиката овозможуваат да се креираат апстрактни, но реалистични геометриски форми.
Слика 2.19 3D модел на дрво. Како ли е моделиран?
Фрактали (Fractals). Се до откривањето на фракталите, голем број на облици од природата не можеле геометриски да се опишат. Фракталите симулираат структури од природата на неспецифичен начин. На пример, техниката на фракталите (во принцип) не може да се искористи за да се направи копија на планина што ја имаме видено. Со користење на оваа техника можеме да креираме облик кој личи на планина. Ако сакаме да направиме модел на некоја специфична планина прецизно, ќе мора тоа да го направиме рачно.
Францускиот математичар Benoit Mandelbrot ги развил фракталите како геометриски начин за прикажување на неправилни "негеометриски" форми како дрвја, крајбрежја и облаци, врз основа на нивните карактеристики на само-сличност (self-similarity).
Ова се однесува на тоа да структурата на една секција, е слична на структурата на целиот објект. На пример структурата на обично дрво може да се претстави со стебло и две гранки. Таа форма потоа се намалува, и може да се искористи за претставување на индивидуални гранки. Помали гранки може да се создадат со заменување на секоја гранка со нова намалена гранка од која што излегуваат две помали гранки (слика 2.20). Со понатамошна поделба и заменување, се создава дрво со бесконечно многу нивоа на намалени само-‐слични детали.
46
Слика 2.20. Четири итерации од фрактал дрво креирано со едноставно делење и замена на слични делови. Почетната форма (лево) се скалира и се користи за замена на половина од
секоја гранка. Овој процес неколкупати се повторува, а различните нијанси на сиво служат за полесно препознавање на гранките.
Бесконечен број на само-‐слични елементи е потребен за да се добие вистински фрактал, но во компјутерската графика со неколку серии, или итерации, на само-‐слични форми може да се креираат повеќе варијации на реалистични растенија и дрвја.
За да се направи планина, на пример, дизајнерот може да зголемува или спушта одредени точки на рамна површина, со влечење или туркање на површината на рамнината. Потоа деформираната површината се дели на индивидуални полигони, а потоа секој полигон се заменува со веќе деформираната површина (полигони) во помал размер, за да се создадат се помали и помали вдлабнатини и височини. После само неколку итерации на овој процес, се добиваат изненадувачки реалистични објекти (слика 2.21). Промените по случаен избор се подобрени со правила за креирање кои се базирани на вистинските формации на земјата.
(а) (b)
Слика 2.21 Планина креирана со помош на фрактали. (a) Првата рамнина неколку пати се разделува и сите јазли независно еден од друг или се подигнуваат или спуштаат. Овој процес неколку пати се повторува со што лесно се добиваат терени слични на планина.
Графтали (graftals). Друг пристап за креирање на форми од природата е со користење на графтали. Графталите се креираат со итеративна замена на делови од почетната структура, со нејзини еднакви или варирани копии или нови елементи.
47
Слика 2.22 Дрво добиено со помош на фрактали и графтали
Фракталите и графталите може да создадат убедливи растенија или планини со копирање на неколку едноставни геометриски форми. За разлика од формите од природата кои се моделирани рачно (кои може да имаат илјадници геометриски облици), овие методи зафаќаат мал мемориски простор, а и двете техники се визуелно ефективни и технички ефикасни.
Симулација на растење (Growth simulation) може да создаде посложени растенија преку комбинирање на поголем број на правила за биолошкото растење добиени преку изучување на вистинските растенија. Со ваков систем, дизајнерите можат да креираат растенија кои растат и цветат при допир со светлина и поминување на одредено време, и кои што личат на одредени форми на растенија од реалниот свет (Слика 2.23). Иако повеќето апликации од овој тип генерираат реалистични објекти и пејзажи, истите принципи и методи би можеле да се искористат за генерирање на форми кои изгледаат природно, но не претставуваат некој 3D објект од реалниот свет.
Слика 2.23 Алгоритамски генерирани растенија комбинирани со комплексни правила за растење на распоред на растенијата
48
2.8.2 СИСТЕМИ ОД ЧЕСТИЧКИ
Повеќето облици кои се среќаваат во природата, преку ефектот на само сличност може релативно лесно да се креираат, но некои други 3D феномени сѐуште не може лесно да се моделираат со било кој од пристапите кои што беа дискутирани до сега. На пример, чад, оган и меурчиња не се едноставни и индивидуални објекти како стол, дрво или пак само-‐слични структури како на пр. растение, и за нив треба да се размислува како за нехомогена материја.
Овие феномени успешно може да се прикажат со системи од честички (particle systems), или алгоритамски контролирани маси од индивидуални облици кои што автоматски се креирани со хиерархии, кои можат да го контролираат движењето на целиот систем.
(а) (b)
Слика 2.24 Системи од честички. а) Модел на оган околу обрач b) Моделирање на снег и моделирање на вода со помош на Particle Systems
2.9 КОМПОЗИЦИЈА
Постојат два главни типови на просторна композиција во 3D компјутерската графика. Во првиот 3D објектите се поставени така што креираат 3D сцена. Во вториот се избираат погледи од кои што 2D сликите би можеле да се искористат за статичка работа или анимации.
Процесот на моделирање на објекти и композиција (составување) на сцена во 3D програмите за моделирање, го поттикнува гледањето на светот како организација од одделни конструкции на објекти кои што можат да се дефинираат и анализираат.
2.9.1 ПОСТАВУВАЊЕ НА ОБЈЕКТИТЕ ВО СЦЕНАTA
Претходно поставените цели и намената на моделот кој што го креираме, во голема мера влијаат врз 3D композицијата. Ако крајниот производ треба да биде само една слика снимена од претходно дефинирана местоположба, тогаш композицијата може да се прилагоди според влијанието од таа една слика. Ако крајниот продукт е анимација, веројатната патека на анимацијата или секвенците од местоположби и позицијата на камерата треба да се земат предвид. Ако пак крајниот продукт е 3D свет во кој
49
корисниците би можеле да се движат во кој било правец што ќе го одберат, тогаш композицијата мора да ги задоволи овие потреби на корисниците.
Процесот на составување на крајната 3D сцена ги вклучува истите типови на операции како и при составување на индивидуални објекти, но најчесто е одделна активност. Во некои 3D програми овие два процеси се извршуваат во различни модули, и корисникот може да избере да моделира индивидуални објекти во одделни датотеки и потоа да ги стави во заедничка сцена. Бидејќи објектите најчесто се моделирани надвор од контекст на финалната композиција, по уредувањето и составувањето, може лесно да се забележат голем број од недостатоците на објектите. Така, и комплетниот преглед на објектите на 3D сцената, може да послужи како основа за дополнителното усовршување на поединечните објекти.
2.9.2 ГОЛЕМИНА И СКАЛИРАЊЕ
Големината на 3D документите зависи од бројот и комплексноста на објектите. Како и во програмите за дигитален дизајн, димензиите лесно може да се променат. Ако група на објекти се скалираат (зголемат или намалат) релативно во однос на други објекти, може да се појават истите проблеми со композицијата како и кај 2D програмите, бидејќи релациите помеѓу објектите може да функционираат добро на една големина, но не и на некоја друга.
(a) (b)
Слика 2.25 Зголемувањето во 3D може да креира неочекувани резултати. a) Топката е со иста големина како и коцката. b) Ако топката се зголеми премногу може да се наруши
односот меѓу двата елементи
Скалирањето (зголемувањето или намалувањето) на објекти во 3D програма е поризично отколку во 2D програмите од неколку причини. Промената во релативниот размер на еден објект влијае врз погледите на композицијата од сите можни местоположби, и промената од една местоположба може да не биде забележана кога гледачот ја разгледува сцената од друга местоположба. Во 3D просторот, предвидувањето како зголемувањето на објектот ќе влијае врз интеракцијата со останатите соседни објекти е тешко, бидејќи иако неговата централна точка останува непроменета, неговите граници се движат во нови локации, и можно е тој да ги покрива останатите објекти. При употреба на перспектива, објектот кој што е зголемен се доближува до гледачот но исто така станува поголем релативно во однос на останатите објекти. Зголемувањето на блиски објекти има поизразен ефект отколку зголемување на објект кој што е далеку.
50
ПРИМЕРИ
Примери за примена на операцијата Extrude
Примери за примена на операцијата Curve Extrusion
51
Примери за примена на операцијата Revolve
Примери за примена на операцијата Lofting
52
Примери за примена на Фрактали (Fractals) и симулација на растење
Примери за примена на Системите од честички (Particle Systems)
53
Глава 3
РЕНДЕРИРАЊЕ НА 3D ГРАФИКА
54
55
3.1 ВОВЕД
Второто поглавје – Креирање на 3D графика, беше сконцентрирано кон создавањето на основните елементи на 3D световите, и тоа преку различните опции кои што ги нудат програмите. Елементите во овие светови, воглавно се опишуваат со примитиви и различни математички операции, па така тие зафаќаат помалку мемориски простор, а со тоа и целата работа се одвива со поголема динамика. При креирањето на елементите, ним им се нанесуваат одредени текстури или обојувања, но сепак самите тие се најчесто прикази со помал квалитет, и служат единствено за добивање преглед на тоа каков е взаемниот изглед на елементите на сцената. Процесот на давање на живот на креираните 3D објекти и сцени, односно посложеното обојување, текстурирање, нанесување на слики и сл., т.е. давањето на реален изглед на овие објекти, е опишан во ова поглавје. Рендерирањето на објектите и 3D сцените, ги претвора навидум техничките цртежи и модели, во реални 3D светови. Важно е да се има предвид, да ова е прилично сложен процес, кој во голема мера ги оптоварува ресурсите на компјутерите. Обично за процесите на рендерирање се наложува потребата од појака компјутерска конфигурација, и подобар специјализиран софтвер, што преведено значи поголеми вложувања во опрема. Нормално, ова не секогаш е исплатливо, пред се поради брзото застарување на овие работни станици, па така има и голем број на алтернативни решенија, од кои дел се опишани во ова поглавје. Само како за илустрација, одреден процес на рендерирање во зависност од неговата сложеност, може да потрае од неколку минути, па се до неколку дена и тоа при употреба на неколку најнови мрежно поврзани конфигурации
3.2 КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ
Претходно е споменато да успешното моделирање на објектите во 3D програмите, зависи од тоа колку добро се симулирани условите од реалниот свет. Така, за подобро разбирање на карактеристиките на површините во 3D програмите, потребно е и подобро да се разбере светлината, а воедно и интеракцијата на светлината со објектите. Познато е дека белата светлина ги опфаќа електромагнетните зрачења со бранови должини од приближно 380 до 730 nm. Секоја бранова должина одговара на некоја боја, а сите бои од спектарот комбинирани заедно во еднакви интензитети даваат бела боја, што е докажано со експериментот со призма на Исак Њутн. Поточно е да се каже дека сите бои комбинирани заедно во еднакви интензитети даваат одредена нијанса на сива, при што непостоењето на електромагнетно зрачење резултира со црна, а додека пак максимален интензитет на зрачење со бела боја. Генерално, видливиот спектар може да се подели на 3 дела – црвен, зелен и син, односно на трите бои со чие што мешање се добиваат сите останати.
3.2.1 БОЈА – АПСОРБИРАЧКИ КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ
Бојата на предметите се добива на тој начин што дозрачената електромагнетна енергија – светлината стигнува до нив, и во зависност од обоеноста дел од неа се апсорбира и пропушта, а додека пак останатиот дел се рефлектира. Рефлектираниот дел од светлината, стигнува до човековото око, во кое што исто така постојат три вида на келии, кои што служат за детектирање на дневна светлина и при што секоја ќелија поодделно е осетлива на одреден дел од видливиот спектар. Рефлектираната светлина од објектот ги надразнува фоторецепторите во човековото око, па така по процесирањето на сликата од страна на мозокот се добива и бојата на соодветниот објект. На пример, доколку бела светлина падне врз син објект, тогаш тоа значи да овој објект го апсорбира зелениот и
56
црвениот дел од светлината, така што до човековото око стигнува само синиот дел од спектарот. Доколку пак бела светлина падне врз жолт објект, тогаш тоа значи да овој објект го апсорбира синиот дел од светлината. Црвениот и зелениот дел од дозрачената светлина објектот ги рефлектира, и тие стигнуваат до детекторот, односно човековото око. Со мешање на црвена и зелена се добива жолта, т.е. овие електромагнетни зрачења би ги надразниле фоторецепторите во окото осетливи на овие два дела од спектарот.
Слика 3.1.Различните извори на светлина емитираат електромагнетна енергија (светлина), од која што при контакт со објектите дел се апсорбира, дел пропушта (ако објектот е транспарентен) и дел се рефлектира. Рефлектираниот дел од светлината
стигнува до очите и ги надразнуваа соодветните фотоосетливи клетки.
При моделирањето, односно при одбирањето на боја за некој објект во програм за 3D моделирање, дизајнерот моделира објект кој што ги апсорбира сите бранови должини, освен оние кои што ја произведуваат саканата боја. Така, како и во реалниот живот, при осветлување на жолт 3D моделиран објект, со помош на сина светлина, се добива темна, воглавно безбојна форма. Жолтата боја апсорбира електромагнетни зрачења од видливиот спектар со мали бранови должини – син дел од спектарот, па така доколку до неа пристигне само сина светлина, таа во голема мера неа ќе ја апсорбира, и нема да има светлина која што би се рефлектирала до окото.
Како и во реалниот свет, 3D моделите во компјутерската графика никогаш не се еднобојни. Иако едноставна сива боја и е доделена на сферите покажани на сликата 3.2 (а), сепак едноставно осенчаниот материјал на сферите има варијации на сивата боја. На слика 3.2 (б) користен е стаклен материјал, и крајната боја на сферите повеќе зависи од рефлексијата и сенките од околните објекти отколку од оригиналната боја.
(а) (b)
Слика 3.2 Крајната боја на 3Д објектот е тешко да се предвиди. (a) Пластични сфери. (b) Стаклени сфери.
57
3.2.2 РЕФЛЕКСИРАЧКИ КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ
Воглавно постојат два типа на површинска рефлексија: дифузна и огледална.
Дифузна (мат) рефлексија. Главна карактеристика на дифузните материјали е тоа што нивната осветленост зависи само од аголот под кој што светлината паѓа врз нив, а не од позицијата на набљудувачот. Повеќето памучни и волнени материјали се дифузно рефлексни. Нивните нерамни, случајно порамнети влакна ја расејуваат светлината во сите правци така да осветленоста е приближно иста од било кој агол.
Слика 3.3 Дифузна рефлексија
Огледална рефлексија. Главна карактеристика на огледалните материјали е тоа што тие се однесуваат како огледало, рефлектирајќи светлина само во правец еднаков и спротивен на правецот од кој што светлината паѓа врз нив. Само совршено огледало прикажува исклучиво огледални својства. Повеќето рефлектирачки материјали, како на пример полиран метал или сјајна пластика, кои ја одбиваат светлината под приближно ист агол во спротивна насока, се исто така и делумно дифузни. Огледалните рефлексии, зависат од позицијата на набљудувачот, односно тој мора да биде на вистинската позиција, на агол спротивен на упадната светлина за да ги види нив.
Слика 3.4 Огледална рефлексија
58
Бојата на отсјајот на огледалниот материјал зависи од видот на материјалот. На пример, огледалната рефлексија од пластика има иста боја како и упадната светлина. Така, доколку на црвен пластичен огледален материјал се дозрачи бела светлина, тогаш отсјајот добиен од овој материјал, односно огледално рефлектираната светлина, исто така би имала бела боја. За разлика од ова, огледалната рефлексија од метал е бојата на металот.
Слика 3.5 Дифузен наспроти огледален објект
Преку употреба на дифузна и огледална рефлексија, можат да се креираат голем број на ефекти во 3D програмите. Во секој случај, мора да се има предвид дека кај дифузната рефлексија, светлината се одбива еднакво во сите правци, а кај огледалната, само под агол еднаков и спротивен на тој на упадната светлина. Така објект со огледална рефлексија би изгледал далеку посветол доколку тој се набљудува под агол еднаков и спротивен на тој на упадната светлина, отколку кога би се разгледувал од некој друг агол. За разлика од ова, дифузната рефлексија овозможува иста осветленост и ист изглед на боите независно од аголот под кој што објектот се разгледува.
Слика 3.6 Различни начини на кои што светлината може да се одбива од предметите
3.2.3 ТРАНСМИСИСКИ КАРАКТЕРИСТИКИ НА ПОВРШИНИТЕ
Претходно е споменато дека светлината која што не се рефлектира, може да биде апсорбирана или пак пропуштена низ објектот доколку тој во одредена мера е транспарентен. Пропуштената светлина, ги осветлува и елементите зад објектот, при што на 3D дизајнерите им се отвораат голем број на ефекти кои што ги нуди
59
транспарентноста. Доколку некоја површина се направи да биде 100 % транспарентна, тогаш како и во реалниот свет, таа би станала невидлива.
При поминувањето на светлината низ медиуми со различна густина, таа се прекршува, односно настанува рефракција на светлината. Нормално аголот на прекршување зависи од нападниот агол и разликата во густините на двата гранични медиуми. Така на пример, прекршената светлина прави објектите под водата да изгледаат како да се поголеми и поместени во однос на нивната вистинска положба. Важно е да се има предвид дека некои материјали ја прекршуваат светлината повеќе од другите, односно воздухот има индекс на прекршување околу 1, водата -‐ 1.3, дијамантот -‐ 2.4 итн.
3.2.4 ТЕКСТУРИ
Покрај апсорпциските, рефлексивните и трансмисиските карактеристики, на 3D објектите може да им се додаваат и различни текстурирани ефекти, преку користење на 2D слики. Површините на повеќето објекти од реалниот свет како на пример дрвото, не се со униформна боја, туку имаат големи варијации кои што потекнуваат од составните разлики на боите во материјалот и ефектите од светлината.
Мапирањето на текстури (Texture mapping) дозволува да се поставуваат 2D слики на 3D објекти. Ефектот на ова е сличен на завиткување на насликана хартија или платно околу објектот, но оваа аналогија често пати е и погрешно сфатена, бидејќи текстурното мапирање е далеку пофлексибилно од тоа. Всушност, текстурата може да биде истегната околу целиот модел, а исто така може да биде и скалирана, заротирана и сл.
Слика 3.7 Употреба на текстури при рендерирањето на објектите
Мапирањето на текстури може да биде многу повеќе од симулација на физички материјали -‐ на пример преку користење на фотографски или апстрактни слики. Различните фотографии од слики на човечки лица, амбалажа на некој производ, фасада на куќа и сл., нудат голем број на опции, кои што помагаат во реалната репрезентација на моделираните објекти. Исто така постојат и голем број на опции за корисничко дефинирање на текстури. Може да се каже дека текстурите се пресудни при додавањето на детали во игрите и другите мултимедијални производи, во кои што брзината на работа е од суштинско значење.
3D сликарството (3D painting) претставува примена на текстурирано мапирање кое што овозможува сликање директно врз објектите во 3D-‐светот. Ова значи дека 2D елементи директно се исцртуваат врз 3D-‐објектот. Исцртувањето директно врз 3D форми, дава далеку подобри резултати од креирањето на текстура во одредена апликација, нејзино
60
импортирање и поврзување со 3D објектот, но за сложени текстури не секогаш е изводливо.
Слика 3.8 Сликање врз 3D објекти.
Solid текстурите се текстури кои што се дефинираат за волуменот на објектот, наместо за 2D рамнината. При ова, наместо површина се применува solid материјал. Така на пример доколку solid коцка со мермерна текстура се пресече на половина, новата површина ќе ја покаже структурата на материјалот.
Слика 3.9 Употреба на solid текстура
Во реалниот свет многу материјални текстури имаат 3D карактеристики. На пример структурата на дрвото не е комплетно рамна, и таа има варијации во длабината на нејзината површина, со што ја прифаќа светлината на повеќе комплексни начини отколку што можат да бидат генерирани со едноставно мапирање на текстури. Симулација на нерамни текстури најчесто се прави преку Мапирање на нерамнини (Bump mapping). Битно е да се знае дека ниту еден програм за 3D моделирање не нуди начин за правење на сите материјали1, а воедно и не е ни можно сите материјали да бидат симулирани. Сепак, голем број на програми нудат се поголем број на опции и материјали за рендерирање, со помош на кои 3D моделите се повеќе добиваат реален изглед.
1 Постојат и други техники на мапирање како Мапирање со изместување (displacement mapping), транспарентно мапирање (transparency mapping), Мапирање се употреба на 2D слика за контролирање на рефракцијата или рефлексија на светлината од објектот, итн.
61
3.3 НАЧИНИ НА ОСВЕТЛУВАЊЕ
Во 3D компјутерската сцена може да се прикаже дневна светлина, месечева светлина или пак град преполн со неонски светла, сите овие светла се претходно одбрани и позиционирани од страна на дизајнерот. Во 3D програмите се користат неколку видови на осветлувања, кои што сепак сѐуште само грубо ги симулираат особините на реалните осветлувања. Во продолжение се објаснети некои од типовите кои најчесто се користат во компјутерската графика.
Амбиенталното осветлување (Ambient light) сјае еднаква количина на светлина врз сите површини, со што ги прави сите објекти видливи, и тоа не изгледа како да доаѓа од некој специфичен правец. Амбиенталното осветлување ја имитира осветленоста предизвикана од меѓусебната рефлексија на објектите, која што често пати е премногу тешка да се моделира во детали. Само по себе, амбиенталното осветлување не е премногу возбудливо, и се препорачува и да се употребува заедно со други видови на осветлувања.
(a) (b)
Слика 3.10 Амбентално светло. (а) Поставување на светлото во сцена. (b) Рендерирана сцена
Точкастото осветлување (point sources) емитира светлина од една точка еднакво во сите правци. Тоа веднаш ја променува композицијата создавајќи светли и темни области.
(a) (b)
Слика 3.11 Точкесто светло. (а) Поставување на светлото во сцена. (b) Рендерирана сцена
Рефлекторско осветлување (spotlight) се добива преку блокирање од одредени агли, и насочување на светлината која што ја произведуваат точкестите извори. Рефлекторското
62
осветлување може да симулира голем број на осветлувања, кои што додаваат драматика на сцената. Вообичаено интензитетот на светлината се намалува со оддалеченоста.
(a) (b)
Слика 3.12 Рефлекторско светло. (a) Поставување на светлото во сцена. (b) Рендерирана сцена
Површинското осветлување (area source) емитира светлина од целата површина, а не само од една точка. Површинските извори можат да симулираат осветлување од реалниот свет (на пр. флуоресцентни панели) подобро отколку точкестите извори, но тие сѐуште не ги земаат предвид многуте фактори што ги карактеризираат реалните светлини, односно варијациите во бојата и интензитетот на светлината, добиени со промената на аголот на осветлување. Овие извори на осветлување се исто така потешки за примена бидејќи бараат многу пресметки, поради што и многу комерцијални програми ги немаат во своите палети. Во секој случај, кога изворот на светлината е доволно далеку, неговата површина станува неважна.
(a) (b)
Слика 3.13 Површинско светло. (а) Поставување на светлото во сцена. (b) Рендерирана сцена
Насоченото или оддалечено осветлување (directional or remote lights) симулира извори на светлина кои што се толку далеку, така што нивните светлосни зраци изгледа како да доаѓаат од една насока. Овој тип на осветлување може да нема специфична локација. Тоа ги осветлува сите објекти во сцената со светлина под ист агол, зрачејќи паралелни зраци на неа. Добар пример за ваков вид на осветлување е сонцето. Иако огромно по површина. тоа е толку далеку што светлината што доаѓа од различни делови од неговата површина не влијае на тоа како објектите се осветлени на земјата. Ова
63
осветлување има потреба од помала процесорска моќ, односно само една насока мора да биде пресметана.
(a) (b)
Слика 3.14 Насочено светло. (а) Поставување на светлото во сцена. (b) Рендерирана сцена
3.4 ВИРТУЕЛНИ КАМЕРИ И ПОГЛЕДИ
Раните критичари на фотографијата во минатото тврделе дека таа не вклучува уметнички вештини, бидејќи фотографот само ги "заробува" нештата кои што веќе постоеле. Секој, тие сметале, може да го слика истото како и професионалецот само со застанување на вистинското место. Сепак, овие критичари ја потценија тешкотијата на одбирање на тоа вистинско место и приспособување на камерата да се добие саканата слика. Истото важи и за 3D моделирањето. Одлуките кои што се донесуваат при составувањето на виртуелна фотографија на крајната сцена (одбирање на местоположба, врамување, и сл.) можат да имаат исто толкава тежина како и одлуките што се донесуваат за време на процесот на 3D геометриската композиција.
Како и вистинската камера, виртуелната камера прави слики на основ на нејзината позиција релативно во однос на сцената. Колку од сцената ќе биде доловена во сликата, зависи од тоа колку од сцената е во опфат на погледот (view volume). Овој опфат не се протега до бесконечност туку завршува до некоја задна отсечна рамнина (clliping plane) (слика 3.15). Преку подесување на параметрите на опфатот на погледот, корисникот може да симулира многу аспекти кои што се сретнуваат кај реалната камера, вклучувајќи и:
• местоположба (point of view) -‐локација на камерата во сцената • правец (direction of view) -‐правец во кој што камерата е насочена; • ширина на леќите, или агол на гледање (lens width or viewing angle) – агол во
кој што може да се доловуваат објектите – зависи и од растојанието помеѓу камерата и објектот.
• агол, или ориентација (angle or orientation) на камерата -‐ агол или ротацијата на опфатот на поглед;
• фокусно растојание (focal lenght) – растојание од леќата во кое што објектот се доловува со најголема чистина. Објектите кои што се “надвор од фокусот” изгледаат матно на сликата.
64
Слика 3.15. Параметри на виртуелната камера. (а) Основни компоненти на виртуелната камера. (b) Два погледи на една иста сцена со различни ориентации. (c) Птица во склоп на
волуменот на поглед и проектирана на рамнината со филмот.
(a) (b)
(c) (d)
Слика 3.16 Различни погледи. (а) Поглед на просторија од гледна точка на човек. (б) Оддалечен поглед. (в) Поглед од таван. (г) Поглед на куќата од птичја перспектива.
65
Реалната камера секогаш создава перспективна проекција. Во перспективната проекција претставена е единствена точка на поглед, објектите се смалуваат со нивното оддалечување, и паралелните линии кои што не се паралелни со рамнината на филмот конвергираат (се собираат) кон точка на исчезнување (слика 3.17-‐а). Виртуелната камера обично нуди избор на перспективна или паралелна проекција (parallel projection). Во паралелната проекција, сите линии и рамнини на 3D објектите кои се паралелни една со друга, остануваат паралелни во проекцијата и објектите не се смалуваат со оддалечувањето (слика 3.17-‐b). Иако перспективната проекција нуди повеќе ефективна илузија на 3D просторот, паралелната проекција може да биде подобар избор во случаите кога се важни димензиите на објектите (на пр. во архитектонското и машинското цртање). Паралелната проекција е особено корисна во текот на процесот на моделирање бидејќи полесно е прецизно да се одреди релативното порамнување на објектите во паралелен поглед.
Слика 3.17 Два главни вида на проекција: (а) Перспективна (b) Паралелна
Паралелните проекции се нарекуваат ортографски проекции (ortographic projections) кога тие се долж главните оски на објектот. Погледите кои што не се долж една од главните оски на објектот се викаат аксонометриски проекции. Коса проекција се создава кога насоката на проекција не е вертикална на рамнината на сликата. Обичната камера користи перспективна коса проекција, а техничките илустратори често користат паралелни коси цртежи. Косите проекции не се достапни во повеќето од денешните алатки за 3D моделирање .
(а) (б)
Слика 3.18 Перспективна наспроти паралелна проекција. (а) Перспективна проекција (b) Паралелна проекција. Паралелните проекции се помалку реални но се многу корисни за архитектите и другите вклучени во вистинската конструкција на објектот бидејќи
димензиите можат да бидат измерени директно од цртежите.
66
3.5 РЕНДЕРИРАЊЕ
Најчестото прашање кое што се поставува во главите на корисниците кога тие за прв пат рендерираат сложена 3D сцена е: Зошто ова трае толку долго? Рендерирањето може да трае од неколку секунди до неколку минути, часови или дури и денови. Времето на рендерирање, меѓу другото зависи и од брзината на работната станица, сложеноста на моделот и одбраниот метод на рендерирање.
Одговорот во врска со брзината на рендерирање лежи во тоа што, покрај процесот на растеризација, рендерирањето на 3D сцена често пати вклучува и исклучително сложени задачи на трансформирање на 3D примитивите, така што тие правилно би биле позиционирани на крајната сцена, отстранување на површини кои што не треба да се рендерираат и пресметување на светлинските ефекти. Покрај изборот во однос на паралелна или проекција од перспектива, корисниците немаат контрола врз методите на проекција. Сепак, тие имаат опција на избор на материјалите и методите на осветлување кои што можат драматично да влијаат врз брзината на рендерирање, но и на природата на крајната слика.
3.5.1 ЖИЧАНО (WIREFRAME) РЕНДЕРИРАЊЕ
Наједноставниот и најбрзиот начин за цртање на 3D објекти, е да не се зема воопшто во предвид осветлувањето. Алтернатива е едноставно да се нацртаат структурните компоненти на објектите – вертикалните и поврзувачките линии – со таканареченото жичано (wireframe) рендерирање, во кое што структурата на објектот визуелно е претставена, но површината не е исцртана.
(a) (b)
Слика 3.19 Жичано рендерирање. (а) Жичан модел. (b) Осенчан модел
Просторната кохерентност (spatial coherence), односно способноста за диференцирање на надворешноста на објектот од неговата внатрешност, може да биде подобрена со цртање на само тие линии, кои што ќе бидат видливи ако објектот има непроѕирна површина. Со ова се создава жичано рендерирање со скриени линии (hidden-line wireframe rendering). Жичаното рендерирање најчесто се користи за да обезбеди брзо работење или preview мод, но исто така може да биде искористено и за прикажување на структурата на објектите, без дополнителните информации за својствата на површината. Внатрешните елементи на сложените објекти можат да бидат видливи со жичано цртање на надворешните делови на моделот. За чисто жичано рендерирање не се потребни пресметки за осветлувањето и сенчењето, па затоа тоа е многу брз начин за добивање на
67
preview од сцената. На сликите кои што се направени во жичан модел со скриени линии може да им треба малку подолго време за да се рендерираат.
3.5.2 МОДЕЛИ НА ДИРЕКТНО ОСВЕТЛУВАЊЕ
Моделот на директно осветлување го претставува начинот на однесување на светлината која што взаемно дејствува со објектите. Постојат повеќе модели на претставување на интеракцијата на светлината со површините на објектите. Овде ќе спомнеме два најчесто користени.
Lambertian-ово или дифузно осветлување (Lambertian or Diffuse Lighting). Едноставен модел за однесувањето на светлината, вели дека светлината само го осветлува објектот во директна пропорција на неговиот агол со нормалата на површината. Lambertian-‐овиот закон за дифузно осветлување гласи дека количината на светлина одбиена од површината зависи од аголот помеѓу упадната (влезната) светлина и површините. Овој светлосен модел е доволен за осветлување на едноставни дифузни материјали.
Phong-ово осветлување (Phong Lighting). Малку посложен модел наречен Phong-ово осветлување го зема во предвид аголот на гледачот, како и тој на упадната светлина. Овој модел е користен за рендерирање на огледални рефлексии.
Многу често осветлувањето се врши со комбинација на овие два модели, или и други дополнителни. Битно е да се запомни дека моделите на директно осветлување ја земаат предвид само интеракцијата на светлината со објектите, а не и интеракцијата на објектите помеѓу себе.
3.5.3 МОДЕЛИ НА СЕНЧЕЊЕ (SHADING)
Моделите како Lambertian-‐ово или Phong-‐ово осветлување се користат за пресметување на ефектот од светлината на било која дадена точка на површината на објектот. Идеално, пресметка за осветлувањето би можела да се изврши за секоја точка на површината на објектот, но пресметките за осветлување обично бараат голема процесорска моќ, за овој пристап да биде практичен. Во овие ситуации се користи модел за сенчење (shading model) за генерирање на вредности на боите за цела површина врз база на само неколку пресметки за осветлувањето на одбрани точки (на пр. врвовите на триаголници во полигонална мрежа).
Рамно сенчење (Flat Shading). Во рамното сенчење, осветлувањето се пресметува по еднаш за секој полигон (обично со користење на едноставен Lambertian-‐ов модел на осветлување), и потоа целиот полигон се обојува со таа вредност. Резултатот е модел што изгледа како поплочен бидејќи секој полигон е осенчан посебно, обично различно од неговиот сосед. Како и жичаното рендерирање, рамното сенчење може да се користи за откривање на структурни аспекти на објекти и исто така може да биде естетски ефективно поради поплочените резултати.
Рамното сенчење сепак има некои несакани карактеристики. Како прво површината е претставена со рамни полигони кои што можат само да ја упростат идеално мазната искривена форма. И второ, се наметнува оптички ефект познат како mach banding. Овој ефект ја зголемува перцепцијата на контрастот во близина на рабовите помеѓу површините. Поради тоа, зголемувањето на полигоналната резолуција на објектот го
68
нагласува перципираното поплочување на површината, правејќи таа да изгледа брановидна наместо мазна.
Слика 3.20 Mach banding. (а) Mach banding е причината за скалестиот изглед на оваа сива скала. (b) Иако зголемувањето на бројот на страни доведува до подобрување на
силуетата на објектот, заради ефектот на mach banding тоа исто така и го нагласува за скалестиот изглед на објектот, што може да се забележи на крајниот цилиндар.
Gouraud-ово сенчење (Gouraud Shading). Henri Gouraud во 1971 претстави решение за проблемот со појавување на ефект на поплочување кај рамното сенчењево преку наоѓање на средна вредност на светлосните вредности, со што се создаваат мазни градиенти помеѓу нив. Со Gouraud-овото сенчење, полигоналните објекти добиваат закривен изглед. Меѓутоа главен проблем кај Gouraud-‐овото сенчење е тоа што огледалните рефлексии можат ретко да бидат прикажани.
Phong-ово Сенчење (Phong Shading). Во 1975 год. Phong Bui-‐Tuong го решава проблемот со прикажување на огледалните рефелксии кај Gouraud-‐овото сенчење проблем со метод на сенчење денес наречен Phong-ово сенчење, кој што наоѓа средна вредност на нормалите на површината наместо на светлосните вредности. Меѓутоа, примената на phong-‐овото сенчење бара значително поголеми хардверски ресурси, т.е. потребно е повеќе време за прикажување на објектите осветлени со овој метод.
Слика 3.21 Објект рендериран со Phong-ово, Gourard-ово и Рамно сенчење (од лево на десно)
3.5.4 ГЛОБАЛНИ МЕТОДИ ЗА ОСВЕТЛУВАЊЕ
Методите дискутирани до сега се познати како локални модели за осветлување и тие секој објект го рендерираат како да е единствен на сцената. Глобалните модели за осветлување ги земаат предвид и светлосните интеракции помеѓу објектите, како што се
69
рефлексијата и сенките помеѓу објектите. Најпопуларниот глобален метод користен во денешните програми е рекурзивното пратење на зраците (recursive ray tracing).
Рекурзивното пратење на зраците (Recursive Ray Tracing) ги зема предвид патеките на светлосните зраци, односно начинот на кој што тие се одбиваат во сцената и ги осветлуваат објектите. Пратењето на патеката на секој од големиот број светлосни зраци кои што светлосниот извор ги зрачи на сцената е невозможно, така да се земаат предвид само оние зраци кои што на крај би пристигнале до окото. Со цел на одредување на овие зраци, се работи во обратна насока, односно зраците од окото се пратат (trace) назад до сцената.
Во едноставното пратење на зраците (само по себе локален метод на осветлување), зрак од окото се испраќа до сцената, и тоа за секој пиксел потребен за изградување на крајната слика. Ако еден од зраците пресекува објект во сцената, бојата на површината на објектот во точката на пресек се пресметува со било кој од претходно опишаните светлосните модели. Резултатната вредност се користи за дефинирање на бојата на локацијата на пикселот, низ кој што зракот беше испратен.
Слика 3.22 Едноставен ray tracing. Зраците од окото се упатуваат од гледната точка низ секоја локација на пиксел во сцената. Ако некој зрак наиде на објект, вредноста на неговото осветлување во тој момент е пресметана и придонесува кон изгледот на
сликата на екранот. Ако зракот не наиде на објект, тој пиксел од сликата останува бел (или се поставува на некоја друга боја од позадината).
Рекурзивното пратење на зраците претставува глобален фактор преку проследувањето на зраците од окото. Целта на ова е откривање на ефектот на останатите објекти врз колор вредностите на почетната точка на зракот, преку поставување на следните прашања: Дали други објекти (или делови од површината на самиот објект) фрлаат сенка на таа точка? Дали други објекти се рефлектираат на основната површина на објектот? И, ако основниот објект е целосно транспарентен, дали се видливи други објекти низ него? Слика 3.23 покажува на кој начин зракот од окото може да се искористи за предизвикување на нови зраци со цел на добивање на одговор на претходно поставените прашања.
70
Слика 3.23 Зрак од око кој додава додатни зраци со цел да се определат рефлексиите, сенките и транспарентноста.
Со цел на проценување на ефектот на сенките, зраците од сенките (shadow rays) се следат од точката на сечење на зракот од окото со објектот, кон сите извори на светлина на сцената, со цел на утврдување на тоа дали некои објекти ги блокираат патеките на светлината (слика 3.24). Ако изворот на светлина е блокиран, таа светлина не допринесува за вредноста на бојата на објектот во точката на сечење.
Слика 3.24 Ray trace сенки. Зраци од сенки се испраќаат кон сите извори на светлина во сцената. Ако некој зрак на сенка наиде на друга површина по патот до изворот на светло, тоа светло нема да придонесе кон вредноста на бојата на објектот во оригиналниот пресек со зракот од окото. Ако ниту едно друго светло не допри до таа точка , таа е
целосно во сенка.
Ако објектот е огледално рефлективен, рефлектираниот зрак се одбива под агол еднаков и спротивен на аголот формиран од зракот од окото и површината на објектот. Ако рефлектираниот зрак го сече објектот, вредноста на бојата на објектот во точката на пресек придонесува на огледалната рефлексија во почетната точка на сечење на зракот од окото со објектот (слика 3.25). Бидејќи дифузните површини рефлектираат во сите правци, голем број на дополнителни зраци мора да бидат испратени кон надвор. Поради големиот број на вклучени пресметки, пратењето на дифузните зраци не е достапно во повеќето пакети за рендерирање.
71
Слика 3.25 Ray trace рефлексии. Рефлектиран зрак се одбива под агол еднаков и спротивен на аголот помеѓу зракот од окото и површината. Ако рефлектираниот зрак наиде на
друга површина, таа се рефлектира во оригиналниот објект.
Доколку посакуваните ефекти се транспарентност и прекршување, тогаш зракот од окото се испраќа како трансмисионен зрак низ објектот (прекршен под некој агол доколку постои рефракција) со што се одредува кои објекти се делумно видливи.
Слика 3.26 Ray trace транспарентност и прекршување. Коцката која е најблиску до окото е транспарентна и има голем индекс на прекршување. Зракот од окото се пренесува низ
коцката и транспарентните квалитети и квалитетите на прекршување кај коцката се видливи по рендерирањето со зраци на трансмисија.
Секој одбиен и пропуштен зрак тогаш може да создаде сопствени сенки, рефлексивни и трансмисиски зраци (слика 3.27). Завршниот дел од рекурзивното пратење на зраците, започнува со пресметка на сите зраци кои што треба да се испратат надвор. Следените (пратените) светлосни патеки, се водат наназад до појдовната точка на сечење. Вредностите на взаемните дејствувања долж патот, се додаваат со што се произведува и вредноста на крајниот пиксел.
72
Слика 3.27 Добивање на нови од секој рефлектиран и пропуштен зрак
Рекурзивниот процес во принцип може да трае се додека сите трансмисиони и рефлексиони зраци повеќе не се пресекуваат со никој од објектите. Поради ова пратењето на зраците може да биде екстремно бавно, бидејќи бројот на зраци расте експоненцијално. Така на пример 5 повторувања вклучуваат пресметка на 96 зраци, но 20 повторувања вклучуваат пресметка на повеќе од 3 милиони зраци. За среќа подобрувањата во квалитетот брзо опаѓаат со бројот на одбивања на зраците, бидејќи секој пат кога светлината удира на објект, дел од нејзината енергија се апсорбира. Поради ова секој нареден зрак, има помала важност од неговиот претходник.
Слика 3.28 Слика рендерирана со Ray tracing
Пратењето на зраците предизвикува сложени и убедливи рендерирања на високо рефлексни или транспарентни површини, како на пример стакло и метал. Тоа исто така е и особено погодно за симулирање на огледални површини. Иако резултатите можат да изгледаат како фотографија, пратењето на зраците e сѐуште само поедноставена симулација на светлосната интеракција помеѓу објектите во 3D просторот. На пример, интеракциите на дифузната светлина помеѓу објектите не се пресметуваат, а дури и пресметаните светлосни ефекти не мора да значи дека се точни. Зраците од сенките
73
секогаш се испраќаат директно кон светлосните извори, и не го земаат предвид прекршувањето.
Radiosity претставува глобален модел за осветлување кој што за разлика од претходно спомените методи, вклучува повеќе физика за интеракцијата на светлината и површината. Базиран на термални модели, radiosity го прати начинот на кој што целокупната светлинска енергија во сцената, во дадено време се пренесува помеѓу светлините на сцената и објектите. Секоја површина, вклучувајќи ги и тие на самите светлосни извори, прво се дели на еднакви парчиња (patches). Потоа за секое парче се пресметуваат фактори на формата (form factors), кои што го опишуваат процентот на емитирана или рефлектирана светлина, што допира до него од секое останато парче. Крајната количина на светлина што доаѓа од било кое специфично парче, е количината на светлина што тоа природно ја емитира (ако е светлосен извор), плус процентот на светлина кој што допира до него од секое друго парче. Не е за изненадување фактот, да голем број на пресметки се потребни за добивање на вкупните ефекти од емитираната и рефлектираната светлина за секоја површина во сцената.
По пресметката на факторите за формите и стартувањето на равенките за осветлување објектите се сенчат со дифузен модел на сенчење. Иако radiosity рендерирањето може да има потреба од цела мрежа на компјутери кои што мора да работат цела ноќ, откако пресметките ќе бидат комплетирани, сцената може да се гледа интерактивно, од било која местоположба. Бидејќи зависат од дифузното сенчење, рендерирањата со radiosity не треба да се во тек со промените на аголот на гледање. Оваа особина го прави radiosity совршен избор за архитектонски разгледувања и други 3D околини во кои објектите не се движат.
Слика 3.29 Пример за рендерирање со radiosity.
Веднаш забележлив резултат од radiosity е појавата на разлевање на бојата (color bleeding), или дифузни рефлексии од една површина во друга. Разлевањето на бојата им дава на ликовите визуелна комплексност и повишен реализам. Radiosity овозможува некои прекрасни светлосни квалитети што не се обично можни со пратењето на зраците (ray tracing), вклучувајќи нежни, модулирани сенки што им даваат на сликите изглед и
74
чувство кои не се обично поврзани со компјутерската графика. Како што е прикажано на слика 3.30 рендерирањето со radiosity може да помогне во креирањето на соба исполнета со светлина, вклучувајќи интер-‐објектно разлевање на бојата, нежни затемнувања и нијансирани осветлувања на ѕидовите. Сепак постои недостаток на било какви рефлексии или огледални рефлексии. Бидејќи позицијата на гледачот не се зема предвид, огледалните и провидните површини не можат да се рендерираат со radiosity. Со цел на постигнување на слики со сложени бои и премини, како и рефлектирачки квалитети на пратењето на зраците, може да се користи комбинација од техники на radiosity и ray tracing.
Слика 3.30 Рендерирање на просторија со radiosity.
Иако некои методи на рендерирање можат да произведат веродостојни слики (на пр. слики што изгледаат како фотографии), проблемот на креирање на слика од моделирани објекти, која што одговара на реална сцена или фотографија е далеку од решен.
3.5.5 СПЕЦИЈАЛНИ ЕФЕКТИ
Mногу визуелни ефекти од реалноста може да се постигнат не преку модели на осветлување и сенчење, туку со помош на специјални ефекти инкорпорирани во процесот на рендерирање. Промена на боите може да биде вклучена во моделите на осветлување преку додавање на фактор на слабеење, кој што ја намалува заситеноста на боите, а исто така може да го менува и нивното обојување со оддалечувањето на објектите од набљудувачот. Пример за ефект кои што може да бидат предизвикан за време на рендерирањето е маглата, која што ја намалува заситеноста на бојата и може да се подеси да биде непроѕирна и бела на растојанија одредени од самите корисници.
75
Слика 3.31 Сцена во која е вклучена магла
3.5.6 НЕРЕАЛНО РЕНДЕРИРАЊЕ
Нереалното или нефотореалното рендерирање (Nonrealistic, or nonphotorealistic rendering) не се обидува да ја моделира физиката на светлината или пак да симулира фотографска слика. Наместо тоа, различните нереални методи користат правила кои што произведуваат или естетско задоволувачко или на некој друг начин корисно цртање. Нереалните рендерирања се често пати дизајнирани со цел на симулирање на изгледот од традиционалните алатки, како што се четка, молив, пенкало и мастило.
Слика 3.32 Нереално рендерирање
76
ПРИМЕРИ
Примери на слики рендерирани со Ray Tracing
Примери на слики рендерирани со Radiosity
77
Глава 4
АНИМАЦИЈА
78
79
4.1 ВОВЕД
Анимираната графика се употребува во скоро сите временски базирани медиумски проекти, на ТВ, во филмови, едукативен софтвер, инженерско проектирање, научна визуелизација, компјутерски игри, уметнички дела и сл. При употребата на терминот, временски базирани проекти се мисли на различните проекти кои што им дозволуваат на дизајнерите и аниматорите да ги контролираат визуелните елементи со текот на времето. Различни компјутерски анимациски пакети се дизајнирани со цел да помогнат при аниматорската работа, од анимирање на 2D цртани фигури до анимирана графика импортирана од други програми и вметнување на истата во филм или видео. Тродимензионалните програми за анимација рендерираат и снимаат секвенции од слики од 3D сцени, доловувајќи го движењето на објектите и променливите светла и погледите од камерите.
4.2 ИЛУЗИЈА НА ДВИЖЕЊЕ
Компјутерските програми за анимација, како и традиционалната анимација, зависат од илузијата на движење, кое што може да биде креирано од секвенца од брзи промени на неподвижни слики. Овие илузии се можни благодарение на два психолошки феномени:
1. Постојаност на видот (persistence of vision). Сликите кои што очите ги доловуваат, остануваат во мозокот кратко време и по исчезнувањето на актуелната слика.
Слика 4.1 Пример за анимација
2. Визуелно соединување (visual closure). Оваа врска помеѓу мозокот и окото е феномен кој што го пополнува просторот помеѓу визуелните стимули. Со постепено менување на сликите, рамка по рамка, се комплетира илузијата на непрекинато движење.
80
Слика 4.2 Експеримент кој Eadweard Muybridge го извел во 1880. Експериментот вклучувал поставување на 24 неподвижни фотоапарати поврзани со жици и внимателно поставени на одредени интервали по должината на една патека за трки: кога некој коњ ќе ја нагазел жицата, апаратот сликал. Како резултат се добиле овие слики кои и денес се користат
како референца од страна на аниматорите.
4.3 АНАТОМИЈА НА ПРОГРАМИТЕ ЗА АНИМАЦИЈА
Постојат два различни видови на интерфејси за програми за анимација: оние кои што обезбедуваат серија од ќелии или области за цртање со облик на рамка како работен простор, како и оние кои што исто така нудат видливи временски линии (timelines) за контролирање на анимационите процеси. Некои 2D програми за анимација немаат временски линии, но скоро сите 3D геометриски програми за анимација нив ги имаат. Повеќето програми за анимација базирани на временски линии, ги обезбедуваат следните компоненти. Анимационите програми кои што не користат вакви линии најверојатно содржат дел од овие карактеристики.
Слика 4.3 Основни елементи од 3D програмата за анимација - Maya.
81
Сцена или композициона област (scene or composition area). Ова е работната површина на екранот, во која што исто така може да се прегледуваат и ефектите на движењето, анимацијата и композицијата на крајната анимација.
Слика 4.4 3D композиционата област за моделирање, рендерирање и анимација во програмот Maya. Како во повеќето 3D околини, анимациите се поставуваат на 3D сцена, но за висок квалитет мора да се рендерираат и да се пуштат како секвенца од 2D слики.
Палета со алати (tool palette). Како и сите програми и програмите за анимација содржат главна палета со алатки. Таа се состои од алатки за движење на сликите, зголемување на прозорецот како и други слични функции кои се применуваат во сите делови од програмот. Главната област за контролирање на анимираните дела обично е timeline прозорецот.
Помошни палети и прозорци (auxiliary palettes and windows). Помошните палети играат важна улога, а понекогаш ги контролираат и сите програмски компоненти. Воглавно, на екранот треба да бидат активни палетите или програмски модули кои што помагаат во креирањето и уредувањето на објектите или сликите кои треба да бидат анимирани, да обезбедуваат визуелен пат на чување и организирање на користените карактери и слики, како и да имаат контролни копчиња за движење низ рамките.
82
(a)
(b) (c)
Слика 4.5 а) Општи и специфични менија b) Channel Box (c) Tool box
Timeline (Временска линија). Областа со временската линија е често пати главна контролна област. Таа се појавува во различни облици кај различните софтверски програми, и таа му дозволува на корисникот да го запише, прикаже и контролира тајмингот и другите параметри на анимационите објекти. Хоризонталните оски обично се поделени или во рамки или во секунди, додека вертикалните оски се прикажуваат во редови или траки за подредување на различни слики (или друг медиум) со тек на време.
Слика 4.6 Пример на временска линија кај програмот Maya.
Со временските линии, корисниците можат да ја видат работата просторно како и да вршат контрола на просторните и привремените аспекти на композицијата.
83
Слика 4.7 Playback областа од Timeline
Траките (tracks) често се користат како слоеви во програмите за цртање, при што секој слој си има свој одреден редослед. Траките во 3D анимацијата можат да ги вклучат не само анимираните објекти, туку исто така и камерите и светлината.
4.4 ТЕХНИКИ НА АНИМАЦИЈА
4.4.1 КЛУЧНИ РАМКИ (KEY FRAMES)
Временското растојание за кое што една слика се менува од една рамка во друга и методите кои ги контролираат сите промени се очигледно важни при составувањето на илузијата на движење. Честа стратегија за планирање и извршување на серија од променливи слики е користењето на клучни рамки кои ги објаснуваат крајните положби на движењата на објектите. Во традиционалните анимациски куќи аниматорот црта клучни рамки, а асистентот помеѓу нив црта помошни рамки. Како и да е, дури и со помош на ацетат ќелии (парчиња од целулоид во кои се исцртува дел од карактерите или објектите) за поставување на слики и повторна употреба на стационарните компоненти, оваа работа е екстремно временски конзумирачка и бара вештина и трпение. На пример, 5 минутна анимација има:
5 минути * 60 секунди/минута * 24 рамки/секунда = 7200 рамки
Долгометражен филм содржи повеќе од 100 000 рамки. Традиционалниот процес бара внимателно претходно планирање затоа што било каква промена во последната минута, може да биде многу скапа.
(a) (b)
Слика 4.8 a) Клучни и помошни рамки. b) Традиционален пример за анимација кој ги покажува главните и помошните рамки.
84
Креирање на помошни рамки со inbetweening. Компјутерот може да претстави едноставни анимациони процеси со автоматско произведување на помошни рамки. Во некои случаи, автоматското посредување е сè што е потребно -‐ на пример за летечко лого.
Слика 4.9 Три клучни рамки. Трите клучни рамки ја претставуваат топката на земја, во највисоката точка, и потоа пак на земјата.
Сепак за покомплексните анимации (на пр. ликови) употребата на автоматски помошни рамки создава чувство за механичко движење. Холивудските студија, во своите проекти воглавно користат помошни рамки скоро преку секоја втора рамка. Самите аниматори, мора внимателно да ги користат помошните рамки, и колку повеќе ги разбираат нивните опции и ограничувања, толку компјутерот ќе биде покорисен како анимациско помагало.
Во едноставната сцена прикажана на слика 4.9 целта е создавање на анимација, која што би симулирала топка фрлена во височина, и тоа почнувајќи од ниво на земјата, по што топката се издигнува во височина и се движи косо, и по достигнувањето на максимална височина, повторно паѓа на земја. При ова, трите потребни клучни рамки се почетната и крајната позиција и максималната достигната точка во висина.
Наместо рачно цртање на помошните рамки, може да се одбере автоматски избор на помошните рамки. Наједноставен начин за пресметка на позицијата на топката со помошните рамки е со линеарна интерполација. Линеарната интерполација (linear interpolation), дозволува пресметка на новите позиции во еднакви интервали по права линија по целата должина, како што е прикажано на слика 4.10 Линеарното inbetweening користи позиции пресметани со линеарна интерполација (интерполацијата е правило за создавање на нови информации, од информациите кои што веќе се познати), за позиционирање на објектот во помошните рамки (центарот на топката е сместен во интерполациона позиција).
Слика 4.10 Inbetweening со линеарна интерполација. Линеарната интерполација создава помошни рамки на еднакви интервали по права линија. Топката се движи со константна брзина. Точките ја покажуваат локацијата на помошните рамки во постојани временски
интервали (одредени според бројот на рамки во секунда одбрани од корисникот).
Линеарното интерполирање меѓу две вредности (било тоа да се точки во просторот) едноставно значи користење на права линија како правило за создавање на нови
85
вредности. Може да се пресметаат нови вредности користејќи други правила како што се, криви наместо прави линии.
Линеарната интерполација прикажана на слика 4.10, не претставува реална анимација на топка што се движи низ воздухот. Еден начин да се подобри реалноста на сликата е користењето на нелинеарна патека за пресметување на меѓурамките (слика 4.11). Во овој метод наречен нелинеарна интерполација (nonlinear interpolation), кривите кои што се користат при нелинеарната интерполација обично се познатите spline криви употребувани во 2D и 3D геометриските цртежи и софтверот за моделирање. Употребата на криви во дефинирањето на патеките на движење и други видови на трансформации на објектите, во голема мера ја зголемува примената и реализмот на автоматизираната интерполација.
Слика 4.11 Inbetweening со нелинеарна интерполација. Нелинеарната интерполација може да креира еднакво разделени помошни рамки по закривени патеки. Топката сѐуште се
движи со константна брзина.
Меѓутоа се забележува дека иако патот е крива а не права линија, пресметките сѐуште се базирани врз претпоставката дека објектите поминуваат еднакви растојанија во еднакви временски интервали. Само мал број на објекти од реалноста можат од целосно мирување да достигнат максимална брзина на движење, и потоа одеднаш да застанат. Уште поголема реалност, флексибилност и изразеност може да се постигне со нелинеарната интерполација на времето наречено easing, што дозволува објектите да добијат забрзување или забавување при нивното движење меѓу клучните рамки. Овој ефект се постигнува со пресметување на помошните рамки за нееднакви временски интервали по должината на патеката, концентрирајќи поголем број на помошни рамки во близина на клучните рамки за да се добие забавување и зголемување на растојанието меѓу помошните рамки за на крајот од пресметките да се добие забрзување.
Слика 4.12 Inbetweening со нелинеарна интерполација и намалување на брзината (easing). Топката ја менува брзината како што се доближува и оддалечува од главните рамки, затоа точките кои ги претставуваат пресметките направени за еднакви временски
интервали не се на исто растојание на патеката.
86
Интерполацијата може да се употреби и за трансформација на објектите, или промена во нивниот изглед преку промена во нивната ротација, скалирање, боја, транспарентност па дури и форма.
Слика 4.13 3D интерполација: и позицијата и ротацијата се интерполирани.
4.4.2 ПАТЕКИ НА ДВИЖЕЊЕ (МOTION PATHS)
Во многу 2D и скоро сите 3D програми за анимација, објектите можат да бидат анимирани по дефинирани од корисникот патеки на движење составени од линии и криви (слика 4.14). Патеките на движење можат да се менуваат за да се приспособат на новите потреби, а исто така тие се неопходни за работа со подвижна камера (кога објектите мируваат, а гледачот се движи). Објектите можат да бидат порамнети со одредена патека и промените кои што се неопходни за одржување на таа подреденост се случуваат автоматски.
(а) (b)
Слика 4.14 Патека на движење. a) Според наведената патека на движење чајникот ќе помине низ сферата. b) Доколку патеката на движење се измени чајникот ќе ја заобиколи
сферата
Техниката на анимирање со патеки на движење се користи и при креирање на т.н. walk through анимации во кои објектите мируваат а посматрачот (камерата) се движи. Овој тип на анимации најповеќе се користи во архитектурата и инженерството.
4.4.3 СНИМАЊЕ ВО РЕАЛНО ВРЕМЕ
Како што веќе видовме, inbetweening-‐от наложува употреба на неколку рачно изработени, избрани од корисникот, рамки за генерирање на додатни рамки. Друг
87
пристап, наречен снимање во реално време, се потпира на употребата на методи кои ги снимаат рамките онака како што корисникот ги црта на екран или ги придвижува наоколу, или пак се движи низ 3D светот. Реалното време на креација на линиите и боите на екран станува анимација. Поради тоа што снимањето во реално време, директно ги снима комплексните движења на раката, со овој метод може да креираат анимации кои што можат да бидат тешки или невозможни за генерирање со inbetweenig.
Снимање во реално време може да се постигне и преку “доловување” на сликата од екранот во одредени временски интервали за време на процесот на цртање, и зачувување на секоја слика во одделна рамка. Корисникот потоа може да ги прегледа и уредува анимираните делови со реемитирање на овие анимации во реално време.
Посебен тип програми за креирање на анимации преку снимање во реално време се и т.н. screen recording програми, како на пример Camtasia, кои во реално време ги снимаат опреациите извршени на компјутерот (мониторот на компјутерот).
4.4.4 MORPHING
Morphing е популарна, често драматична техника кои ја комбинира употребата на клучни рамки и интерполација со што прави на една слика да метаморфира (се трансформира) во друга слика. Тоа ги подобрува стандардните специјални ефекти на избледување (fading) од една слика во друга за да прикаже некоја трансформација или трансмисија. Негативната страна на користењето на избледување за промена од една ситуација во друга е тоа што иако почетните и крајните слики ќе бидат прикажани сосема јасни, тие во средината се често збунувачки.
Слика 4.15 Проблеми со morphing. Доколку добро не се дефинираат областите кои што се заеднички за двата објекти, морфираните меѓу слики изгледаат нејасно
Во morphing програмите, од страна на корисникот се поставуваат важни позициони точки (или линии во некои морфирачки програми) и тоа на двете слики -‐ на почетната и крајната рамка. Morphing програмата по ова ги интерполира средните позиции и ги користи нив за да ги собери сликите и карактеристиките на исчезнувањето и појавувањето, со што создава убедливи композиции. Високо квалитетно морфирање бара од корисникот да одбере голем број на точки или линии кои што потоа ќе ги поврзе со почетната и крајната слика.
88
Слика 4.16 Поставување на позициони точки
Morphing ефектот често се користи во ТВ огласите и рекламите за прикажување на трансформациите од старите производи во нови и подобри, а воедно и за креирање на карактери со неверојатни способности.
Слика 4.17 Резултанти меѓуслики од Morphing процесот од слика 4.16
4.4.5 ТРАНЗИЦИИ
Како во традиционалната анимација и видео, транзициите како распаѓање, избледување и исчезнување можат да ја омекнат ненадејната промена помеѓу различните сцени. Во компјутерската анимација, комплексните транзиции може да се користат со исто толкава леснотија како и едноставните.
Најчестите транзициони ефекти ги емитираат традиционалните распаѓања и исчезнувања. Распаѓањата (dissolves) или избледувањата (fades), заменуваат една слика со друга преку заменување на пикселите по случајна шема. Корисникот може да ја контролира големината на областа која се заменува (од еден пиксел до поголеми области во вид на блокови), брзината со која една слика се претопува во друга, и ред други фактори. Бришењето (Wipe) вклучува традиционални ефекти како бришење од лево кон десно (или во друг правец), што прави една слика да изгледа како да се појавува над друга, или посложени исчезнувања кога една слика ќе се раздели на половина и ќе ја открие новата слика под неа. Овие ефекти денес широко применети на телевизијата, во филмовите, при презентации и сл. (на пример софтверот Microsoft PowerPoint поддржува
89
голем број на транзиции кои се користат за анимирање на преминот од еден слајд во друг).
Друг вид на транзиции, или поправилно кажано ефекти, обезбедуваат позабележителни меѓу чекори. Тие вклучуваат вртење на страната, потоа слика која е сместена во 3D коцка која се врти за да открие нова слика која е тогаш претставена на екранот, и голем број на слични ефекти чиј што број постојано расте со претставувањето на нови верзии од програмите за анимација.
4.4.6 АВТОМАТИЗИРАНО ДВИЖЕЊЕ
Кинематика (forward kinematics) Во некои случаи, користењето на специфични позиции на клучни рамки не е најлесниот начин за дефинирање на движењето на објектот. Forward kinematics или само кинематика, претставува правила за движење базирани на геометријата на цврстите објекти поврзани со гранични зглобови кои можат да се користат за креирање на анимирана секвенца без поставување на клучни рамки. Со зададена почетна позиција на некој објект и правило за неговото движење, како што е “движи се во овој правец со оваа брзина”, можно е да се пресмета новата позиција според кинематиката, и тоа независно од бројот на рамки. На пример, ако авионите во анимацијата треба да летаат со одредена брзина, можно е користење на кинематика со цел на нивна контрола. Овој процес не го зема предвид ефектот на движењето на објектот врз остатокот од моделот, но е доволен за моделирање на движењето на индивидуални елементи кои не се во интеракција еден со друг. Кинематиката е особено корисна за подесување на делови од анимација во која крајната локација на објектот е помалку важна од начинот на кој тој стигнува таму. За хиерархиски модели, кинематиката често не дава природни движења. На пример, движењето на човечката дланка, може да биде кинематски дефинирано, но бидејќи раката ретко се движи независно од зглобот, од горниот, па и од долниот дел од раката, движењето најверојатно нема да изгледа реално.
Инверзна кинематика (inverse kinematics). Кај претходно споменатата кинематика (forward kinematics), крајната позиција и ротацијата на објектот не се познати, познато е само движењето. Кај инверзната кинематика (IK), саканата крајна положба и ротацијата се постигнуваат со создавање на движење во рамките на дадени ограничувања (на пр. хиерархиски врски). Инверзната кинематика е посложена од кинематиката нанапред бидејќи дадената крајна положба може да се постигне со помош на секој од неограничено многуте движења. Системите на инверзната кинематика мора да решат многу равенки наеднаш и да ги измерат можните сценарија обидувајќи се да постигнат некоја цел.
Така доколку се земе за пример фигура со зглобови кои ја поврзуваат дланката со долниот дел од раката и долниот дел со горниот дел од раката. Без инверзна кинематика, ако корисникот ја премести дланката таа ќе се придвижи, но долниот и горниот дел од раката нема да ги променат позициите на природен начин (слика 4.18). Ова е само едно решение од многуте кои се можни со инверзната кинематика. Софтверот за анимација не ги зема предвид само споевите на моделот или структурата на скелетот, туку и поставените ограничувања за постигнување на најдобрата патека за движење, како и откривањето на решението кое вклучува најмало вкупно движење.
90
Слика 4.18 Инверзна кинематика. Ако моделот има инверзна кинематика движењето на неговата рака овозможува остатокот од телото да се движи на нормален начин.
Инверзната кинематика користи итеративен процес за искористување на ограничувањата и хиерархијата на моделот. На пример, за да се движи дланката 3D програмата може прво да го земе предвид ефектот на движењето на дланката врз долниот дел од раката, влијанието на долниот дел од раката врз горниот, итн. При анимирањето на 3D фигура во трчање, користењето на линкови и инверзна кинематика може да обезбеди секоја рамка да претставува физички можна позиција.
Динамика и инверзна динамика. Динамиката се состои од правила на движење базирани на законите на физиката, како што е F = m·a (силата е еднаква на масата по забрзувањето) кои се користат за додавање на физички базирано однесување на анимацијата. Во анимацијата која што користи динамичко движење нанапред и гравитационен фактор, движењето на објектот зависи од земјиното забрзување.
Слика 4.19 Динамика - рамнината е пасивно тело, кеглите се активни тела, врз куглата дејствува силата на гравитација, а и врз кеглите, меѓу нив се појавуваат судири.
91
Инверзна динамика се користи за пресметка на силите кои што се потребни за моделот да пристигне на посакуваната локација. Тие исто така се базираат на физичките закони пр. F = m·a, но тука се користат за пресметка на силата потребна за објектот да ја достигне дадената позиција за даденото време. Како и за инверзната кинематика, така и за инверзната динамика, решенијата можат да бидат далеку од очигледни и мора да се употребат некои ограничувачки услови, на пример: може да се пресмета силата потребна за еден објект да стигне до вистинското место во вистинското време по најкраток можен пат.
Успешноста на анимацијата крериана со методите динамика и инверзна динамика многу зависи од интеракцијата помеѓу објектите. Многу интеракции меѓу објектите, како што се сударите (слика 4.20) и ефектите на гравитацијата можат да се автоматизираат.
(a)
(b)
Слика 4.20 Детекција на судири. a) 3D објектите, ако немаат други инструкции, ги следат нивните предодредени анимациони патеки и едноставно минуваат еден низ друг. b) Детекцијата на судири автоматски ја менува патеката на објектот кога тој се
сретне површина, симулирајќи реален судир. Тука топката е програмирана да отскокне.
Денес многу софтверски пакети за анимација не подржуваат само техники на динамичка анимација на крути тела, туку и динамика на флуиди, гасови, деформабилни тела итн.
Моделирање на однесувањето (Behavioral modeling) и анимација. Иако однесувањата на многу реални системи не можат адекватно да се презентираат со кинематските и динамичките движења нанапред и наназад, тие сѐуште можат да бидат анимирани со компјутер преку користење на многу напредни анимациони правила. Всушност
92
моделирањето на однесувањето ги заматува разликите помеѓу моделирањето и анимацијата. Законите на физиката можат да бидат применети на анимации на објекти кои се судираат и на такви комплексни феномени како што се кинењето на материјал, движење на животните и реакции, или комплексна машинерија. Како и моделирањето на светлината и материјалите, така и повеќето од моделите за однесувањето на објектите се обидуваат да симулираат феномен од реалниот свет.
Анимацијата исто така може да ги надмине симулациите на механичките операции и да се насочи на вештачка интелигенција за производство на 3D објекти кои прикажуваат емоционално однесување и кои што можат да бидат програмирани со лични особини како што е желбата за следење на други објекти и интеракција со нив.
Слика 4.21 Behavioral Animation
Автоматизираното и вештачки интелигентното однесување е уште поважно во интерактивната анимација, во која корисниците можат да креираат визуелни делови кои не се дел од бараните рамки.
Системи од честички (particle systems). Системите од честички се претходно накратко објаснети како средство за симулирање на феномени кои што е тешко да се моделираат, пример чад, оган, пареа и сл. Поради тоа што 3D програмите за моделирање воглавно се фокусирани на цврсти предмети и површини, просторот помеѓу и внатре во овие објекти е недостапен. Системите од честички нудат начин на анимација на овај внатрешен простор.
Слика 4.22 Однесувањето на материјалот е симулирано со модел базиран на честички кој користи емпириски податоци од реални примери на ткаени прекривки. Тоа е искористено
кај завесата и прекривката на масата.
93
Системите од честички претставуваат алгоритамски контролирана маса на мали цврсти форми кои што се автоматски креирани и поврзани за да симулираат движење на некој често нејасен феномен. Корисникот може да ја одбери формата на честичките, брзината на создавањето и уништувањето, правецот на патување, густината на системот и други слични параметри. Системот на честички може да креира реални симулации на визуелни случувања како што се движење на пламен, облаци, бранување на вода, експлозија и други кои што не е можно да се моделираат на некој друг начин.
4.4.7 КОРИСТЕЊЕ НА ХИЕРАРХИЈА
Хиерархиската структура која што се користи за градење на статичен 3D објект е важна при моделирањето и уште покритична за анимацијата. Ако хиерархијата на објектот е лошо поставена во фазата на моделирање, правилното анимирање на објектот ќе биде многу тешко, ако не и невозможно. На пример кога аниматорот ги подредува објектите за поставување на клучни рамки, точна и корисна хиерархија дозволува лесно движење на целиот објект и негово позиционирање во опсегот на природните пози кои се соодветни со неговиот дизајн (слика 4.23). Кога хиерархијата е точно поставена не само што поставувањето на клучни рамки е многу полесно, туку и помошните рамки гарантирано ќе претставуваат можни позиции. Хиерархијата исто така е основа на многу софистицирани и често користени типови на автоматизација во 3D графиката, како што е и инверзната кинематика, за која што повеќе ќе стане збор во следниот дел.
(a) (b) Слика 4.23 Анимацијата е полесна со соодветна хиерархија во оригиналниот 3D модел. а)Ако е правилно поврзан, реалната анимација на моделот, кој посегнува за да фати
топка, е лесна. b) Кога врските помеѓу деловите се неправилно поставени, позиционирањето на раката не е процес од еден чекор туку бара многу подесувања, а
можи и погрешно да се позиционира.
4.4.8 MOTION BLUR
Motion blur е појава која што често се сретнува кај дигиталните камери, и тоа при сликање на движечки објекти, заради несоодветни подесувања. И на дигиталните како и на аналогните камери потребно им е релативно кратко време, во кое што преку соодветна отвореност на блендата, тие би можеле да доловат доволна количина на светлина рефлектирана од објектот. Во најголем број на случаи ова време е доволно
94
кратко, така да се осветлуваат само соодветните делови на фотографскиот филм или пак сензорот на камерата. Меѓутоа, доколку времето во кое што блендата е отворена е релативно долго, доаѓа до осветлување и на останатите делови од фотосензорот, по што се добива слика која што е “надвор од фокусот” односно дава чувство на движење. Истото ова се случува и кај филмските камери, кои што како и апаратите доловуваат одреден број на слики (пример 24) за време на една секунда. Иако индивидуалната филмска рамка изгледа како да е надвор од фокусот поради ова движење, ефектот на секвенцата од тие рамки со брзина од 24 рамки/секунда е јасен и остар.
Кога објектот се движи доволно брзо, заматувањето при движењето станува забележливо дури и помага да се нагласи брзина на објектите кои се снимани.
Слика 4.24 Motion blur
Симулираното motion blur може да ја доведе визуелната работа направена на компјутер поблиска до филмот. Motion blur исто така може да го нагласи чувството на брзина и растојание кај анимациите со тоа што прави приближените објекти да бидат позаматени од оние кои што се наоѓаат на поголемо растојание. Заматеното движење може да се додаде и кај статичките проекти за креирање на чувство на движење кое што може или не може да биде реално.
4.4.9 ДОЛОВУВАЊЕ НА ДВИЖЕЊЕ (MOTION CAPTURE)
Алтернативен пристап за синтетичко добивање на 3D движења од реалниот свет е земањето на примероци од објекти од реалниот свет и живите суштества. При доловувањето на движење, се прикачуваат сензори за релевантните точки од движечките објекти, чија што функција е да ги следат движењата и да го снимаат нивното движење. Движењето снимено на овој начин е поврзано со делови од 3D модел, кои што се направени да се движат соодветно. Доловувањето на движење може брзо да креира суптилни движења кои се тешки за симулација во 3D анимацијата, како што се движењето на животните и човечките изрази на лицето. Бидејќи доловувањето на движење не бара комплексни пресметки, тоа исто така може да се користи за поддршка во реалното време на интеракција со 3D карактери во сценарио во кое живите учесници го контролираат движењето на 3D моделот.
95
Слика 4.25 Заробено движење. Сензорите за движење поставени на клучни локации на човек (или друг објект во движење) може да се искористат за анимирање на 3D моделот.
96
ПРИМЕРИ
Примери за Клучни рамки (Keyframes)
Примери за Патеки на движење (Motion paths)
97
Примери за Motion blur
Примери за Motion capture
98
99
КОРИСТЕНА ЛИТЕРАТУРА
1. Anne Morgan Spalter, The Computer in the Visual Arts. Addison-‐Weesley, 1999. 2. Malcom Kesson, An Introduction to 3D Computer Graphics. Malcom Kesson, 1995. 3. Richard S. Gallagher, Computer Visualization: Graphics Techniques for Engineering and
Scientific Analysis. Solomon Press, CRC Press, 1994. 4. James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes, Richard L. Phillips,
Introduction to Computer Graphics. Addison-‐Wesley, 1993. 5. Perry Harovas, John Kundert-‐Gibbs, Peter Lee, Mastering Maya Complete, SYBEX, 2000. 6. George Maestri, Maya® at a Glance. SYBEX, 2005. 7. John Kundert-‐Gibbs, Dariush Derakhshani et. al., Maya®: Secrets of the Pros. SYBEX,
2005.