3D modelovanie je proces vytvárania
matematického trojdimenzionálneho objektu pomocou špecializovaného softvéru
Použitie 3D
modelovania a vizualizácie
o 3D vizualizácie
interiérov
o exteriérové 3D
vizualizácie
o produktová 3D
vizualizácia
o 3D vizualizácie
krajiny
o 3D animácie
Osi sú
použité na znázornenie konkrétnych smerov v trojrozmernom priestore.
Univerzálnym symbolom použitým pre súradnicové osi sú tri navzájom kolmé úsečky, pretínajúce sa v počiatku
súradnicového systému (bod [0,0,0]) a označené písmenami
X, Y a Z.
· X predstavuje pohyb vo
vodorovnom smere, teda doprava a doľava.
· Y je pohyb smerom k pozorovateľovi a preč od neho.
· Z reprezentuje zvislý smer, teda pohyb smerom hore a dole.
Pri
geometrickom modelovaní z pohľadu geometrických prvkov, z ktorých
sa 3D model vytvára hovoríme o modeloch:
· analytická reprezentácia (body, krivky, plochy a matematické vzťahy medzi nimi)
· drôtový 3D model
· plošný 3D model (polygonálny model – základ je polygón, uvažuje sa
plocha)
· objemový 3D model (konštruktívna geometria – pomocou 2D a 3D
primitív, uvažuje sa celý objem)
· voxelový alebo dekompozičný model
(rozloženie na elementárne kocky, uvažuje sa celý objem)
alebo hraničný spline model sa skladá s
bodov, kriviek a spline plôch. Takéto modely nesú úplnú informáciu pre popis
objektu.
Takto
reprezentované objekty bývajú veľmi reálne a
pamäťovo nenáročné.
využíva ako
základ vertex, čo je bod v trojrozmernom priestore.
Spojením dvoch vertexov dostávame úsečku, pridaním ďalšieho bodu získame trojuholník,
čo je najzákladnejší polygón.
V zásade sa
využívajú hlavne trojhranné polygóny, takže najčastejším
útvarom polygonálneho modelu je trojuholník alebo štvoruholník. Polygonálny
model je najpoužívanejší.
.
Priestorový drôtový model
nazývaný aj Wireframe model je tvorený bodmi, ktoré sú spojené krivkami. Ide o
opis bodov a kriviek spojujúce tieto dva body.
Nevýhoda: chýbajú údaje o stenách medzi krivkami a o priestore (objemu)
ohraničeného stenami.
Modeluje telesá pomocou plôch. Potreba vzniku plošných systémov sa
prejavila predovšetkým v oblastiach leteckého, lodiarskeho a automobilového
priemyslu, kde sú na spracovanie zložitých plôch kladené veľké nároky
Začíname vytvárať vrcholy, hrany a nakoniec definujeme plochu. Je
možný aj opačný postup cez preddefinované plochy tzv. primitíva a vybrať napr.
plášť valca, kužeľa a pod. Oproti drôtovému modelu vieme získať plošný obsah
modelu Plošný geometrický model je tvorený bodmi (vrcholmi), hranami a stenami.
Poznáme dva
hlavné koncepty objemového modelovania :
· Reprezentácia modelu pomocou hraníc B-rep model (Boundary representation)
· Reprezentácia modelu pomocou geometrických telies CSG model (Constructive Solid Geometry).
Obidve
koncepcie sú založené na modelovaní súčiastok
pomocou základných geometrických objektov (entitami, primitívami), na počítačovej transformácii a na využívaní
booleanovských operácií.
Model je
vyjadriteľný svojimi hranicami. Týmito hranicami modelu sú steny - plochy,
hranicami stien sú hrany - krivky a hranice pri hranách predstavujú body.
Výhody B-rep
modelu oproti CSG modelu spočívajú napr. v jednoduchšom
spracovaní informácií o súčiastke potrebných napr. pre
generovanie dráhy nástroja pri jej výrobe.
Táto
reprezentácia využíva množinové operácie a to sčítanie,
rozdiel alebo prienik. Teleso sa vytvára pomocou stromu množinových operácií
aplikovaných na primitíva.
Modely
definované pomocou objektov (CSG) a modely definované pomocou hraníc (B-rep)
majú svoje výhody a tiež obmedzenia. Žiadny z nich nie je vhodný pre všetky
aplikácie. Riešenie sa ponúka v ich spojení. Potom hovoríme o tzv hybridných
modeloch.
alebo tiež dekompozičný model. Voxelové modely sa najviac
podobajú bitmapovej grafike. Rovnako ako v nej je jedným bodom obrázku štvorček, tu sa modely skladajú z malých kociek. Pri použití dekompozičného modelu sa objekt rozloží na elementárne objemové jednotky –
kocky. Ide o diskrétny popis modelu, pri ktorom sa ako základná jednotka popisu
používa Voxel, čo je objemová jednotka
reprezentujúca hodnotu bunky v sieti trojrozmerného priestoru.
Tvoriacou
nazývame krivku (najčastejšie je to 2D krivka ale môže
byť aj 3D krivka), ktorá tvorí východisko pre vytvorenie 3D modelu buď jej rotáciou (vo zvolenej osi súradnicového súradného systému)
alebo jej posunutím (v jednom alebo súčasne vo
viacerých smeroch súradnicového systému). Na obr. je ukážka vytvorenia 3D
modelu posunutím tvoriacej krivky pozdĺž jednej osi
súradnicového systému.
Model
z troch kriviek
V tomto prípade sa model
vytvára z troch samostatne nakreslených kriviek. Na obr. je príklad prvotného
usporiadania troch kriviek, kde kružnicu nazývame štartovacou krivkou
(profilom), štvorec - konečnou krivkou (profilom) a krivku
tvaru ”S” nazývame vodičom.
Tento prípad
vytvorenia modelu je analogický predchádzajúcemu spôsobu len krivky sú 4.
sú plášte základných telies – valca, gule, kužeľa ...
Sú tvorené celým objemom objektu,
pričom je možné uvažovať aj o materiálovo
– povrchových a materiálovo – objemových a fyzikálnych vlastnostiach objektu -
valec, gula, kužeľ
Boolean operácie sa dajú
prirovnať ku matematickým množinovým operáciám zjednotenia, odpočítania a prieniku, ibaže v 3D priestore. V praxi to znamená, že
môžeme dve a viac už existujúcich telies, spojiť do jedného
nového telesa, alebo od jedného telesa odpočítať iné teleso, alebo telesá a tým nám opäť vznikne nové teleso, alebo zostrojíme prienik všetkých vybraných
telies.
Podmienky
uplatnenia
Vo virtuálnom
priestore musia existovať najmenej dva priestorové objekty a
tieto telesá sa musia vzájomne aspoň dotýkať (alebo cez seba prenikať).
·
Zjednotenie - ak majú aspoň jeden spoločný bod, pričom výsledný objekt sa správa ako jediný logický celok. Teda pri
otáčaní, posúvaní (ale aj napríklad pri kopírovaní a zmene mierky) sa
bude podľa zadaného príkazu meniť obe
zjednotené objekty.
· Odpočítanie
- z počiatočného objektu sa odpočíta objem
odpočítavaného telesa, pričom odpočítané teleso je „spotrebované“ na vytvorenie výsledného objektu,
ktorý je potom zložený kombináciou povrchov oboch objektov. Odpočítavané objekty musia mať spoločný minimálne jeden bod.
· Prienik - je opakom odpočítavania. Výsledný 3D objekt vznikne spojením dvoch telies, pričom výsledné teleso je tvorené len bodmi a povrchmi, ktoré majú obe
telesá spoločné.
Svetlo a zdroj svetla
Svetelný zdroj
je
charakteristický tým, že emituje svetelné žiarenie. Druhy:
1. Bodový zdroj – svetlo sa z neho šíri
rovnomerne a s rovnakou intenzitou do všetkých smerov.
2. Zdroj rovnobežného svetla - môže byť chápaný ako bodový zdroj ležiaci v nekonečne, alebo ako nekonečne veľký rovinný zdroj ležiaci v konečnej
vzdialenosti. Pre tento zdroj svetla je charakteristické, že lúče z neho emitované sú rovnobežné.
3. Plošný zdroj svetla - tento typ
svetla sa najviac podobá reálnym zdrojom, akými je napríklad žiarivka, alebo
okno, ktorým prechádza denné svetlo.
4. Reflektor alebo smerovo závislý
zdroj svetla, ktorý je určený polohou a orientáciou, t.j.
smerom, ktorým žiari. Jeho svetelná intenzita je maximálna v smere, ktorým
žiari, a kolmo k tomuto smeru klesá exponenciálne.
5. Obloha - je najkomplikovanejší zdroj
svetla - je popísaná ako zdroj rovnobežného svetla v tvare pologule s nekonečným polomerom
Ak dopadá na objekt
svetlo určitej farby, tak časť z neho je
pohltená a časť odrazená. Odrazená časť svetla určuje farbu objektu, ktorú vníma naše oko. Pri určovaní osvetlenia daného bodu musíme uvažovať tri zložky svetla:
1. Zrkadlová (specular) zložka Je to
svetlo, ktoré sa od povrchu priamo odrazí. Takéto svetlo vytvára odlesky a
zrkadlové efekty. Jeho farba môže byť iná ako farba
povrchu objektu. Táto zložka je smerová – smer odrazeného lúča je presne daný a vnímanie odrazu sa mení aj s meniacou sa
pozíciou pozorovateľa.
2. Difúzna
zložka je prítomná vždy, ak povrch telesa
nie je dokonale hladký. Ak sú na povrchu drobné nerovnosti, dopadajúce svetlo
sa odrazí aj v smeroch, ktoré sú akoby náhodné. Preto táto zložka nie je
smerová – bod sa javí rovnako nezávisle od pozície pozorovateľa. Difúzna zložka určuje farbu povrchu telesa. Čím drsnejší (matnejší) je povrch, tým je táto zložka väčšia.
3. Ambientná zložka V reálnych
scénach býva viac svetelných zdrojov alebo rôzne objekty, ktoré svetlo
odrážajú. Dochádza k mnohonásobným odrazom a k skladaniu svetla zo všetkých
zdrojov, svetlo môže byť navyše rozptýlené molekulami
vzduchu a pod., čo má za následok, že je prítomné
tzv. ambientné (okolité) svetlo. Toto svetlo prichádza zo všetkých strán a
rovnako osvetľuje všetky časti objektov. Prítomnosť ambientného svetla má za následok, že nijaká plocha nebude celkom čierna a čím je ambientné svetlo silnejšie,
tým svetlejší je výsledný obraz. Ambientné svetlo býva väčšinou biele, najmä pri zložitejších scénach.
(shading) je určenie výslednej farby povrchu zobrazovaného osvetleného objektu. 3 Typy:
1. Konštantné tieňovanie (flat
shading).
2. Gouraudovo tieňovanie
3. Phongovo tieňovanie - toto tieňovanie je najrealistickejšie, ale výpočtovo najnáročnejšie.
Okrem
svetelných zdrojov musíme v 3D grafike uvažovať aj s tieňami
1. tvrdé tiene, lineárne ostré,
kontrastné, výrazné tiene ...
2. mäkké tiene, rozťahané, jemnejšie, rozplývavé až miznúce, s jemnými okrajmi...
3. krvácanie farieb - objekty čiastočne odrážajú osvetlenie ktoré príjmu
a tento odraz vidno na povrchu objektov okolo.
4. spektakularita – lesk na
objekte pri jeho priamom osvetlení
Môžeme vidieť takmer rovnaké podmienky, ale nie v rovnakej intenzite, tvrdé
tiene zmizli. To sa stalo preto, lebo osvetlenie generujú mraky a nie slnko
Naľavo je slnečný deň. To znamená, že je jeden hlavný bod zdroja svetla, ktoré tvorí
svetlo len z jedného smeru, s tvorbou tvrdých tieňov.
Spekularita (lesk na objekte) k takémuto typu osvetlenia patrí.
Napravo je
zamračený deň, nikde nie je žiadny konkrétny
zdroj svetla. Svetlo na objekty vrhá celá obloha, pričom sa vytvárajú mäkké tiene. Svetlo je vrhané rozptýlene, takže
tieň sa nakoniec vytvorí plynule okolo celého objektu. Spekularita je
rozmazaná.
Povrch
reálnych predmetov sa líši - môže byť zvráskavený,
priehľadný či lesklý, môže obsahovať farebné prechody a zmeny. Technika, ktorá tieto vlastnosti v počítačovej grafike postihuje, sa nazýva
textúra. Zatiaľ čo geometria popisuje tvar telesa,
textúra je popisom vlastností jeho povrchu.
Textúra je
obraz z reálneho sveta (povrchy - múr, omietka, koža, látka, kovový povrch,
piesok, celé budovy s oknami, tváre ľudí a
zvierat, architektonické detaily ...) ktorým "obalíme" vygenerovaný
trojrozmerný objekt tak aby sme dosiahli jeho maximálnu podobnosť so skutočnosťou.
Textúra je uložená vo
forme bitmapy, alebo dvojrozmerného (alebo viacrozmerného) poľa.
Textúry
môžeme rozdeliť podľa toho akú
vlastnosť popisujú:
1. Farba povrchu
2. Odraz svetla sa môže meniť s miestom povrchu. Prejavom takejto
vlastnosti je odrážajúce sa okolie od povrchu objektu. Z tohto dôvodu sa táto
textúra tiež označuje ako mapovanie okolitého sveta
(enviromental mapping).
3. Zmena normálového vektora opticky mení
tvar povrchu telesa bez toho, aby sa zmenila jeho geometria. Výsledkom je
povrch, ktorý vyzerá poprehýbaný alebo inak geometricky zmenený.
4. Priehľadnosť telesa nemusí byť po celom jeho povrchu konštantná,
ale môže sa tiež meniť s miestom.
UV mapovanie
je 3D modelovací proces umožňujúci prenos
2D obrazu na 3D model. Je to spôsob, ktorým sú
textúry priraďované 3D modelom, resp. metóda, ktorou je materiál "nabalený"
na objekt tak, že sa stáva jeho neoddeliteľnou súčasťou a môže byť deformovaný alebo transformovaný spoločne s objektom.
Modifikátory si je možné
predstaviť
ako nástroje na editáciu alebo vylepšenie objektu, alebo
jeho častí, čím im špecifikujeme nové vlastnosti
bez toho, aby sa zmenil pôvodný objekt (je možná cesta späť). Model je možné totiž stále opraviť a vrátiť sa na nižšiu úroveň. Modifikátory aplikované na objekt
sú usporiadané v zásobníku modifikátorov.
3D počítačovú animáciu môžeme definovať ako techniku, v ktorej je ilúzia pohybu vytvorená sériou
jednotlivých stavov scény, zobrazovaných na obrazovke alebo nahrávaných na
nahrávacie zariadenie.
Typická 3D
scéna sa skladá z: objektov, kamier a svetiel. Každý objekt má svoje
charakteristické vlastnosti, ktoré sa môžu v čase meniť:
· Objekty: poloha, orientácia, veľkosť, tvar, farba, priehľadnosť
· Kamery: poloha objektívu, bod záujmu, zorný uhol (priblíženie, vzdialenie)
· Svetlá: intenzita, poloha
Techniky
môžeme zoskupiť do dvoch základných skupín:
· dvojrozmerné (2D) majú sklon zameriavať sa na manipuláciu a spracovanie obrázkov
· trojrozmerné (3D obyčajne
vytvárajú virtuálne svety, v ktorých sa postavy a objekty pohybujú a vzájomne
na seba vplývajú.
Výroba
obrázkov pre animáciu pomocou virtuálneho 3D sveta zahŕňa tri kroky:
1. modelovanie - proces prípravy a
vytvárania elementov scény
2. animovanie - rozpohybovanie
3. rendering - konvertuje vlastnosti
prvkov scény a ich pohyb do obrázkov
Rendering je
proces tvorby obrazu z modelu. Proces tvorby obrazu funguje spôsobom, kde
kamera (kamerou je myslený pohľad výrezu) akoby vysiela lúče, ktoré prehľadávajú scénu. Pokiaľ narazí na objekt, je jeho povrch v tomto bode analyzovaný, tj. sú
analyzované parametre materiálu, úroveň osvetlenia,
uhol medzi povrchom a zdrojom svetla a ďalšie
vlastnosti. Informácie sa vracajú ku kamere a sú uložené do podoby pixelu konečného obrázku.
Zabezpečuje dynamický pohyb v obraze, kde sa objekt hýbe v rôznych
smeroch, uhloch alebo mení svoju štruktúru alebo tvar. Za animáciu považujeme
zmenu súradníc, teda polohy parametrov objektu za presne stanovený čas. Čas je určený časovou lištou, ktorej dĺžka sa dá prednastaviť alebo meniť podľa potreby a celkovej dĺžky animácie.
Na časovej lište sa nachádzajú kľúčové snímky (key frames), ktoré sú na obrázku farebne zvýraznené.
Znázorňujú novú polohu, orientáciu alebo zmenu parametra objektu alebo
skupiny objektov za špecifikovanú dobu.
Každý objekt má vlastnú časovú lištu, takže sa dá ľahko editovať zmena každého z nich osobitne. Metódy animácie:
1. Kľúčovanie poskytuje výbornú kontrolu nad
pohybom a kreslia sa iba najdôležitejšie – kľúčové snímky (keyframes). Zvyšné
medzisnímky (in-betweens) kreslí počítač.
2. Procedurálne metódy vytvárajú
pohyb čisto automatizovaným spôsobom
3. Snímanie pohybu je metóda,
ktorá používa špeciálne senzory a snímače na záznam
pohybu človeka. Nahrané dáta sa potom použijú na vytvorenie pohybu v
samotnej animácii. Snímanie pohybu je veľmi populárna
metóda. Umožňuje relatívne ľahko nahrať veľké množstvo pohybov, aj keď tiež sa stretáva s určitými
problémami. Napríklad keď sa senzory neudržia na pôvodnom
mieste, keď
rozmery objektu nie sú rovnaké ako rozmery snímanej
postavy, ....