Preskoči na sadržaj
FORTRONIQ

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.

Moći ću:
  • 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.

vrhovi4 točke u prostoru bridovi4 dužine međuvrhovima poligonploha, dijeli sena 2 trokuta mreža9 poligona,16 vrhova
Slika 1.1 — Građa poligonalne mreže: od skupa vrhova, preko bridova i jednog poligona, do mreže koja opisuje cijelu površinu.

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 zadanPrimjer na prihvatnici
Vrhtočka na površinitri koordinateugao čeljusti
Briddužina između dvaju vrhovadva vrharub vodilice
Poligonravna plohazatvoreni niz bridovačeona ploha prirubnice
Trokutpoligon s tri vrhatri vrhajedinica iscrtavanja
Normalasmjer okomit na plohuvektor u vrhu ili poligonuvanjska strana čeljusti
Mrežaskup svih poligonapopis vrhova i poligonacijela 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.

XYZ ishodište (0, 0, 0) 120 mm zapis u milimetrima: 120,0zapis u centimetrima: 12,0zapis u metrima: 0,12 ista duljina, tri broja —jedinica se mora znati
Slika 1.2 — Ishodište modela na prirubnici prihvatnice, smjerovi triju osi i mjera zapisana u milimetrima.

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 programaS čime radiTipičan rezultatMjesto u projektu AR-1
Konstrukcijskitočan opis ploha i tijeladio s mjerama i tolerancijamaizvorni model prihvatnice
Oblikovanje mreževrhovi, bridovi, poligonimreža zadane gustoćedorada i smanjenje mreže
Kiparenjevrlo gusta mrežaoblik bez mjerane koristi se
Teksturiranjeslike na razvijenoj površiniteksture i materijalioznake i boje na čeljustima
Pregled i pretvorbagotove datotekeprovjereni zapisprovjera 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.

Procjena veličine zapisa modelaRačunski prikaz

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.

Približan broj vrhova—
Geometrija—MB
Teksture—MB
Ukupno u datoteci—MB

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

PojamZnačenje
VrhTočka površine zadana trima koordinatama; osnovni gradivni element mreže.
BridDužina između dvaju vrhova koja omeđuje poligon.
PoligonRavna ploha omeđena bridovima; pri prikazu se dijeli na trokute.
NormalaSmjer okomit na plohu; određuje vanjsku stranu i način osvjetljenja.
ScenaStablo objekata s položajima, zakretima i mjerilima, uz kameru i izvore svjetla.
IshodišteTočka modela (0, 0, 0) prema kojoj se objekt postavlja u prostor.
Mjerna jedinicaDogovor 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.