MODUL 1 · MODELIRANJE DIGITALNIH OBJEKATA
Nastavna jedinica 1.1
Uvod u 3D modeliranje
Svaki prikaz u proširenoj stvarnosti počinje digitalnim objektom, a svaki digitalni objekt počinje vrhom, bridom i poligonom. Ova jedinica uvodi građu modela, razlikuje scenu od sklopa te objašnjava koordinatni sustav, ishodište i mjerne jedinice bez kojih model u stvarnom prostoru stoji na krivom mjestu i u krivoj veličini.
- objasniti što je digitalni model i po čemu se razlikuje od slike predmeta
- opisati građu poligonalne mreže preko vrha, brida i poligona
- razlikovati scenu, objekt i sklop te njihove međusobne odnose
- objasniti ulogu koordinatnog sustava, ishodišta i mjerne jedinice
- procijeniti veličinu zapisa modela iz broja trokuta i veličine tekstura
Model, a ne slika
Fotografija prihvatnice pokazuje kako predmet izgleda iz jednog položaja, u jednom trenutku i pri jednom osvjetljenju. Digitalni model opisuje sam oblik, pa se može gledati s bilo koje strane, osvijetliti na bilo koji način, izrezati, izmjeriti i postaviti u prostor uz stvarni predmet. Ta razlika je temelj proširene stvarnosti: korisnik pomiče tablet, a prikaz se mijenja zajedno s njegovim položajem jer računalo svaki put iznova crta isti model iz novoga kuta.
3D modeliranje je postupak kojim se oblik predmeta pretvara u takav zapis. Rezultat nije crtež nego skup brojeva: koordinate točaka, popis njihovih spojeva, podaci o površini i o materijalu. Program za modeliranje samo je sučelje prema tom zapisu — ono što se crta na zaslonu tek je prikaz podataka koji se zapisuju u datoteku.
Kroz cijelo područje pratimo isti zadatak. Projekt AR-1 izrađuje upute proširene stvarnosti za zamjenu prihvatnice na robotu ZR-1, šestoosnom robotu nosivosti 20 kg i dosega 1650 mm, koji radi u ćeliji paletizacije uz CNC glodalicu. Tehničar tabletom snimi natpisnu pločicu na ogradi ćelije i na zaslonu dobije osam koraka zamjene. Svaki od tih koraka prikazuje dio prihvatnice, pa je model prihvatnice glavni sadržaj aplikacije.
Model prihvatnice već postoji u konstrukcijskom programu, ali u obliku koji tablet ne može prikazati. Iz konstrukcije dolazi zapis od 41 MB s matematičkim opisom ploha, koji pri finoj pretvorbi u mrežu daje 486 000 trokuta. Cijeli prvi modul vodi prema tome da se iz te datoteke dobije model od 12 000 trokuta i 2,1 MB koji na tabletu izgleda jednako, a iscrtava se dovoljno brzo.
Vrh, brid, poligon, mreža
Poligonalni model gradi se od četiriju pojmova koji se nadograđuju jedan na drugi. Vrh (vertex) je točka u prostoru zadana trima koordinatama. Brid (edge) je dužina između dvaju vrhova. Poligon je ravna ploha koju omeđuje zatvoreni niz bridova, a mreža (mesh) je skup svih poligona koji zajedno zatvaraju površinu tijela.
Poligon s više od tri vrha nije nužno ravan: ako se četvrti vrh pomakne izvan ravnine prvih triju, ploha se izvija i program je mora nekako iscrtati. Zato grafičke kartice rade isključivo s trokutima. Svaki četverokut se prije prikaza dijeli na dva trokuta, a poligon s n vrhova na n − 2 trokuta. Broj trokuta je zato jedina brojka koja pouzdano govori koliko je model težak za prikaz.
Uz sam oblik, mreža nosi i podatke vezane uz pojedini vrh. Najvažnija je normala — smjer okomit na plohu, po kojem program zna gdje je vanjska, a gdje unutarnja strana i kako će se ploha osvijetliti. Uz normalu se često zapisuju i koordinate teksture, boja vrha i podaci o pripadnosti kosti pri animaciji. Svaki dodatni podatak povećava datoteku, pa se u modelu za proširenu stvarnost zapisuje samo ono što se stvarno koristi.
| Element | Što je | Čime je zadan | Primjer na prihvatnici |
|---|---|---|---|
| Vrh | točka na površini | tri koordinate | ugao čeljusti |
| Brid | dužina između dvaju vrhova | dva vrha | rub vodilice |
| Poligon | ravna ploha | zatvoreni niz bridova | čeona ploha prirubnice |
| Trokut | poligon s tri vrha | tri vrha | jedinica iscrtavanja |
| Normala | smjer okomit na plohu | vektor u vrhu ili poligonu | vanjska strana čeljusti |
| Mreža | skup svih poligona | popis vrhova i poligona | cijela prihvatnica |
Scena, objekt i sklop
Model rijetko stoji sam. U programu za modeliranje i u razvojnom okruženju objekti se slažu u scenu: uređeni popis svega što se u prostoru nalazi, zajedno s kamerom i izvorima svjetla. Scena se vodi kao stablo. Svaki čvor stabla ima svoj položaj, zakret i mjerilo, a ti se podaci nasljeđuju: kad se pomakne nadređeni čvor, pomiču se i svi podređeni.
To nasljeđivanje je razlog zbog kojeg se prihvatnica u uputama AR-1 vodi kao stablo, a ne kao jedna mreža. Tijelo prihvatnice je nadređeni čvor, a lijeva i desna čeljust njegovi su podređeni čvorovi. Kad se u trećem koraku uputa prikaže rastavljanje, dovoljno je pomaknuti čeljusti, a tijelo ostaje na mjestu. Da je sve bilo spojeno u jednu mrežu, taj bi korak tražio poseban model.
Sklop je poseban oblik takvog stabla u kojem odnosi među dijelovima nisu samo zapisani položajem nego i vezama: podudarnost ploha, suosnost provrta, razmak, kut. Sklop zna što je s čime spojeno i što se smije gibati, pa se promjenom jednoga dijela pomiču i ostali. Scena u razvojnom okruženju te veze obično ne poznaje — ondje su ostale samo krajnje vrijednosti položaja.
Zapamtite
Pri izvozu iz konstrukcijskog programa u format za proširenu stvarnost veze sklopa se gube, a ostaje stablo s položajima. Zato se prije izvoza sklop mora postaviti u onaj položaj u kojem ga aplikacija treba, a gibanja koja se u uputama prikazuju moraju se riješiti animacijom ili odvojenim čvorovima.
Koordinatni sustav, ishodište i mjerne jedinice
Svaki model ima vlastiti koordinatni sustav s ishodištem u točki (0, 0, 0). Položaj ishodišta nije tehnička sitnica nego odluka koja se poslije teško ispravlja. Objekt se u sceni postavlja upravo prema svojem ishodištu, pa se model prihvatnice sidri onako kako mu je ishodište postavljeno. Ako ishodište leži u geometrijskom središtu modela, prihvatnica će pola svoje visine propasti kroz plohu na koju je postavljena.
Osi se označavaju slovima X, Y i Z, ali se njihovo značenje razlikuje među programima. Konstrukcijski programi najčešće uzimaju Z kao vertikalnu os, a razvojna okruženja za proširenu stvarnost obično uzimaju Y. Zbog toga model izvezen iz konstrukcije u sceni često legne na bok. Zaokret za 90 stupnjeva oko osi X rješava problem, ali ga je bolje riješiti jednom pri izvozu nego ga popravljati u svakoj sceni.
Jednako je važna mjerna jedinica. U samoj datoteci obično piše samo broj, a što taj broj znači određuje dogovor. Konstrukcijski programi rade u milimetrima, a razvojna okruženja u metrima. Ako se pri uvozu jedinica ne prevede, model dug 120 mm postaje dug 120 m i zauzme cijelu ćeliju. Pogreška se prepoznaje odmah, ali suprotna pogreška — model tisuću puta manji — lako promakne jer objekt jednostavno nestane s vidika.
Treći dogovor je smjer okretanja i redoslijed vrhova u poligonu. Ako su vrhovi zapisani suprotno od očekivanog smjera, normala gleda u unutrašnjost, pa se ploha pri prikazu ne vidi. Model tada izgleda kao da mu nedostaju dijelovi, a kriva je samo orijentacija ploha.
Alati i tijek rada
Programi za 3D modeliranje dijele se prema tome s čime rade. Konstrukcijski programi rade s točnim opisom ploha i namijenjeni su dijelovima koji se izrađuju: tu su mjere, tolerancije, materijali i sklopovi. Programi za oblikovanje mreže rade izravno s vrhovima i poligonima i namijenjeni su oblicima koji nemaju stroge mjere: likovima, krajolicima, organskim oblicima. Programi za kiparenje rade s vrlo gustom mrežom kojom se oblikuje kao glinom, a rezultat se poslije mora znatno prorijediti.
Uz njih idu programi koji ne modeliraju nego dorađuju. Programi za teksturiranje nanose materijale i slikaju po površini. Programi za razvijanje mreže pripremaju površinu za teksturu. Programi za pretvorbu i pregled provjeravaju je li datoteka ispravna prije nego što uđe u razvojno okruženje. Nijedan projekt proširene stvarnosti ne prolazi kroz samo jedan program.
| Vrsta programa | S čime radi | Tipičan rezultat | Mjesto u projektu AR-1 |
|---|---|---|---|
| Konstrukcijski | točan opis ploha i tijela | dio s mjerama i tolerancijama | izvorni model prihvatnice |
| Oblikovanje mreže | vrhovi, bridovi, poligoni | mreža zadane gustoće | dorada i smanjenje mreže |
| Kiparenje | vrlo gusta mreža | oblik bez mjera | ne koristi se |
| Teksturiranje | slike na razvijenoj površini | teksture i materijali | oznake i boje na čeljustima |
| Pregled i pretvorba | gotove datoteke | provjereni zapis | provjera prije uvoza u scenu |
Tijek rada u projektu AR-1 ide ovim redom: iz konstrukcije se izvozi mreža, mreža se u programu za oblikovanje čisti i prorjeđuje, površina se razvija i teksturira, model se izvozi u format koji razvojno okruženje čita, a zatim se u okruženju postavlja u scenu. Svaki korak ima svoju provjeru, a preskočena provjera se gotovo uvijek osveti na uređaju.
Zbog toga se već pri modeliranju misli na kraj lanca. Model koji je u konstrukciji izveden s tisuću sitnih zaobljenja bit će težak u svakom sljedećem koraku. Model kojemu je ishodište postavljeno nasumično tražit će ručno namještanje u sceni. Model bez uredno imenovanih dijelova postat će nepregledan čim ga preuzme netko drugi.
Od modela do datoteke
Kad je mreža gotova, zapisuje se u datoteku. Veličina datoteke ovisi o dvjema skupinama podataka: o geometriji i o teksturama. Geometrija je popis vrhova i poligona, i raste približno razmjerno broju trokuta. Teksture su slike koje se nanose na površinu, a njihova veličina raste s kvadratom stranice: tekstura 2048 × 2048 piksela nosi četiri puta više podataka od teksture 1024 × 1024.
Na projektu AR-1 to se vidi u tri koraka. Izvorna datoteka iz konstrukcije zauzima 41 MB jer nosi točan matematički opis svake plohe. Izvoz u mrežu s 24 000 trokuta i teksturama 1024 × 1024 daje 8,4 MB. Nakon sažimanja geometrije i tekstura datoteka pada na 2,1 MB, a to je veličina koju tablet učita bez čekanja.
Prikaz procjenjuje koliko podataka nosi mreža zadanog broja trokuta i tekstura zadane stranice. Polazne vrijednosti odgovaraju modelu prihvatnice na projektu AR-1 nakon prvog smanjenja: 24 000 trokuta i tekstura 1024 piksela.
Prikaz pokazuje odnos koji vrijedi u svakom projektu: geometrija i teksture rastu neovisno, pa nema smisla brusiti jedno ako je drugo predimenzionirano. Model od 12 000 trokuta s teksturom 4096 × 4096 i dalje je preteška datoteka, jednako kao model od 400 000 trokuta bez ijedne teksture.
Iz toga slijedi i redoslijed rada u ostatku modula. Najprije se odlučuje kako će model nastati — parametarski ili slobodnim oblikovanjem mreže. Zatim se bira zapis i format. Tek na kraju se model priprema za uređaj, a priprema je to lakša što je model od početka izrađen s tim ciljem na umu.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| Vrh | Točka površine zadana trima koordinatama; osnovni gradivni element mreže. |
| Brid | Dužina između dvaju vrhova koja omeđuje poligon. |
| Poligon | Ravna ploha omeđena bridovima; pri prikazu se dijeli na trokute. |
| Normala | Smjer okomit na plohu; određuje vanjsku stranu i način osvjetljenja. |
| Scena | Stablo objekata s položajima, zakretima i mjerilima, uz kameru i izvore svjetla. |
| Ishodište | Točka modela (0, 0, 0) prema kojoj se objekt postavlja u prostor. |
| Mjerna jedinica | Dogovor o tome što znači broj zapisan u datoteci; najčešće milimetar ili metar. |
Provjeri se
Kratka provjera prije prelaska na sljedeću jedinicu. Odgovor se potvrđuje klikom, a obrazloženje se prikazuje odmah.
Pitanje 1 od 5
Koji je najmanji gradivni element poligonalne mreže?
Vrh je točka zadana trima koordinatama; bridovi i poligoni nastaju povezivanjem vrhova.
Pitanje 2 od 5
Na koliko se trokuta pri prikazu dijeli poligon sa šest vrhova?
Poligon s n vrhova dijeli se na n − 2 trokuta, dakle na četiri.
Pitanje 3 od 5
Što određuje normala plohe?
Po normali program zna kako plohu osvijetliti i s koje se strane vidi.
Pitanje 4 od 5
Model dug 120 mm u sceni se pojavio kao dug 120 m. Što je uzrok?
Datoteka nosi samo broj; ako se jedinica ne prevede, milimetri se čitaju kao metri.
Pitanje 5 od 5
Koliko se puta poveća količina podataka teksture ako se stranica udvostruči?
Broj piksela raste s kvadratom stranice, pa udvostručenje daje četiri puta više podataka.
Odgovoreno 0 od 5.