lek 2 Flashcards
modeliranje
tvorba geometrijskih objektov, dolocanje njihovih materijalnih lastnosti in pozicioniranje
5 T Z O I I
upodabljanje
izbira operacije gledanja, projiciranje modelov in 2d rasterizacija pri upostevanju svetlobnih efektov na površjih objektov
1 I
Predstavitvene metode geometrijskega modeliranja
diagram podjele
klasicna
dvoumna-z mnozicno 2d risb, zicni modeli
nedvoumna- ozn zavzetega prostora, z ovojnico, hibridna, z temeljnimi gradniki…
varijacijska-parametricna, z znacilnostmi, z omejitvami. hibridna
hibridna
mnogokotniski model
Objekt je sestavljen iz ploskev (poligonov) – običajno trikotnikov ali štirikotnikov.
Enostaven za upodabljanje (rendering), zato se pogosto uporablja v igrah.
Primeren za modeliranje ostrih robov, a ne najboljši za gladke površine.
Levo: prikaz modela s strukturo (mreža).
Desno: renderiran model – opazne so ostre robove in facete.
NURBS
Temelji na krivuljah in matematičnih funkcijah. Omogoča izjemno gladke in natančne površine – idealno za industrijsko oblikovanje (avtomobili, izdelki). Težji za direktno animacijo, a zelo uporaben za modeliranje kompleksnih organskih oblik.
Levo: mreža kontrolnih točk, ki oblikuje gladko površino.
Desno: renderiran NURBS model – brez vidnih robov, zelo gladka oblika.
tehnike tvorbe modelov 10
1.kopiranje
2.tvorba mnozice lic in sivanje
3.pomikanje-vzdolž daljice, krožnice, krožnega loka, poljubne krivulje, pomikanje s skaliranjem
4.lofting
5.boolove operacije, lepljenje obrezovanje
6.digitalno kiparjenje v vokselskih modelih
7.knjizice ze izdelanih modelov
8.rotacija, enakomerno skaliranje,translacija
9.zrcaljenje
10.deformacije
dodatno pitanje lokalne i globalne deformacije*
GLOBALNE deformacije
(deformirajo celoten objekt ali njegovo osnovno geometrijo)
Strig (shear)
– celoten objekt se nagnje v določeno smer, kot da se “zdrsne”
→ primer: kvader se deformira v paralelogram
Neenakomerno skaliranje
– povečuješ ali zmanjšuješ dimenzije različno po oseh (X, Y, Z)
→ primer: raztegneš model v višino, a ne v širino
LOKALNE deformacije
(deformirajo le del modela – površino, detajle, točke…)
Digitalno kiparjenje (digital sculpting)
– orodja za gnetenje površine modela (npr. ZBrush, Blender Sculpt mode)
→ lokalne spremembe – vdolbine, gube, mišice…
Prireditev grozda točk / osi / kletke (lattice, cluster deformacija)
– premikamo le izbrane točke (ali skupine točk), ne celotnega modela
→ uporaba v animaciji ali oblikovanju detajlov
Dodajanje šuma (displacement mapping)
– površina se spremeni glede na teksturo
→ npr. narediš površino kamna z višinskimi podatki – lokalna deformacija površine
geometrijske transformacije, navedba
homogene 2d koordinate
Zakaj uporabljamo homogene koordinate v računalniški grafiki?
🔷 Kratek odgovor:
👉 Ker nam omogočajo, da lahko z eno samo matriko izvajamo vse geometrijske transformacije (vključno s translacijo), in jih med seboj združujemo (kompozicija).
🔍 Podrobna razlaga:
V običajnem 2D ali 3D prostoru, lahko s pomočjo matrik izvajamo:
rotacijo
skaliranje
striganje (shear)
✅ Te transformacije lahko zapišemo kot množenje vektorja s kvadratno matriko.
❌ Translacija (premik) pa tega ne omogoča direktno, ker bi to zahtevalo seštevanje, ne le množenje.
🧠 Rešitev: homogene koordinate
Dodamo dodatno komponento (dimenzijo):
V 2D prostoru:
Običajna točka (x,y) → homogeno: (x,y,1)
V 3D prostoru:
Običajna točka (x,y,z) → homogeno: (x,y,z,1)
teksture navesti
1.projicirane
2.parametricne
3.proceduralne
4.prostorske
5.ponavljajoce
projicirane teksture
o so teksture, ki imajo:
- fiksno velikost in orientacijo, kar pomeni, da se ne prilagajajo velikosti ali obliki površine (poligona), na katero so “nalepjene”.
- ne upoštevajo orientacije površine – tekstura ostane enaka ne glede na to, kako je poligon obrnjen.
🔶 Slabosti:
- Realistične so samo na ravnih in pravilno orientiranih površinah – če se poligon nagne ali deformira, tekstura izgleda popačeno.
🔶 Načini projiciranja tekstur:
Teksture se lahko projicirajo na različne načine, odvisno od oblike telesa:
- Ravninsko (plane projection) – za ravne površine.
- Cilindrično – za valjaste oblike.
- Sferično – za kroglaste oblike.
- Kubično – za kvadrataste ali pravokotne oblike.
🔶 Slike spodaj:
Prikazujejo različne rezultate uporabe iste teksture (šahovnica) na različno orientirane površine:
- Leva slika: pravilno orientirana tekstura na kvadratu.
- Srednja in desna slika: tekstura na nagnjenih površinah, kjer postane vidno popačenje zaradi fiksne orientacije.
parametricne
Parametrične teksture so način teksturiranja objektov, kjer se tekstura »prilepi« neposredno na površino 3D objekta s pomočjo koordinatnega sistema (t.i. UV koordinat). Gre za najbolj pogosto in nadzorovano metodo teksturiranja v 3D računalniški grafiki.
✅ Odgovor na vprašanje: Kaj so parametrične teksture?
Parametrične teksture temeljijo na tem, da vsakemu točnemu mestu na površini objekta (definiranemu s koordinatama (u,v)) pripišemo barvo (ali drug atribut) iz teksturne slike. Gre za mapiranje med prostorom teksture in prostorom objekta.
📌 Glavni koraki:
Definiraš koordinatni sistem (UV) na objektu
→ to pomeni, da razviješ površino 3D objekta na ravnino
→ vsak del modela dobi svoj del teksture
Vsaki točki (x, y, z) na objektu pripišemo (u, v) iz teksture
→ piksel iz slike bo »prilepljen« na ustrezen del površine
Pri renderiranju se uporabi ta preslikava:
T(u, v) → W(x, y, z) → S(x, y)
🖼️ Pojasnilo slik iz prezentacije:
🔺 Zgornja polovica slike:
Levo: tekstura z obrazom v UV koordinatnem sistemu
Sredina: ista tekstura je projicirana na raztegnjeno ploskev
Desno zgoraj: ista tekstura je vidna na ekran (projekcija)
Desno spodaj: primeri uporabe na modelu krogle, vaze ipd.
🔻 Spodnja polovica slike:
Levo spodaj: razvita mreža (UV unwrap) človeka z mrežico in šahovnico
Sredina spodaj: primer razvitja (UV mapa) – vsaka površina modela razpeta na ravnino
Desno spodaj: primeri mapiranja:
kvadrat
sfera (u = φ/2π, v = θ/π)
valj
nelinearni model
✏️ Primer za odgovor na kolokviju:
Kaj so parametrične teksture in kako se uporabljajo?
Odgovor:
Parametrične teksture uporabljajo UV koordinatni sistem, kjer vsakemu mestu na površini 3D objekta (v prostoru) ustreza točka v teksturi (u, v). Površina objekta se raztegne (razvije) v 2D ravnino, nato se nanjo nalepi tekstura. Tak pristop omogoča natančen nadzor nad tem, kateri del teksture bo kje na objektu. To je standardna metoda za teksturiranje likov, predmetov in drugih modelov v računalniški grafiki
proceduralne
To so teksture, ki niso slike – ampak se računsko generirajo s pomočjo matematičnih funkcij.
a) Analitično podana funkcija
Vsaki točki p(u,v) površine dodelimo neko lastnost z formulo (npr. sinus, Perlin noise …).
Primer: mapiranje izboklin (bump mapping) z uporabo sinusoid za ponavljanje valov.
b) Parametrična tekstura, ki krmili druge atribute
Uporabimo digitalno sliko (kot pri parametričnih teksturah), a ne nujno za barvo:
npr. prosojnost, odbojnost, smer normale …
Takšna slika še vedno deluje kot mapa parametrov, zato jo imenujemo parametrična tekstura.
hrapavost ploskev
Leva krogla (zgoraj) = Bump mapping
Samo simulira hrapavost z manipulacijo normalnih vektorjev.
Površina dejansko ni fizično spremenjena, samo svetloba se odbija, kot da bi bila.
Hitrejša metoda, ni spremembe geometrije.
✅ Desna krogla (zgoraj) = Displacement mapping
Dejansko premakne točke površine – spremeni geometrijo objekta.
Vidimo resnične izbokline in vdolbine tudi v silhueti in senčenju.
Težje za računalnik, a realističnejše.
Podobno velja tudi za oranžne krogle spodaj – leva ima bolj realističen volumen → torej displacement, desna gladkejša → bump.
Zgornji graf (vodoravna črta z navpičnimi puščicami)
Prikazuje gladko površino, kjer so vse normale (puščice) enakomerno usmerjene.
Tipično za navadno (nerazgibano) geometrijo – brez teksture hrapavosti.
🔺 Srednji graf (valovita črta, puščice sledijo valovom)
Predstavlja displacement mapping:
Geometrija je dejansko spremenjena – površina ni več ravna.
Puščice (normale) so prilagojene dejanskim premikom površine.
🔺 Spodnji graf (ravna črta, puščice “krivijo”)
To je bump mapping:
Površina ostaja matematično ravna, ampak puščice (normale) so optično spremenjene.
Daje vtis hrapavosti, brez spremembe oblike.
💡 Bistvo:
Displacement: puščice in površina se premaknejo.
Bump: samo puščice se “lažno” ukrivijo.
3d slikanje tekstur
Gre za ročno slikanje teksture neposredno na 3D model, kar omogoča večji nadzor in bolj umetniški vtis. To se uporablja v programih kot npr. Cinema 4D (Body Paint), Blender, Substance Painter ipd.
Slike razložene:
Na desni strani vidimo 2D UV-mapirano teksturo (obraz z brado, očmi in ušesi).
Na levi strani vidimo, kako se ta tekstura projicira oz. razporedi po površini 3D krogle (sfere).
Posamezne sfere prikazujejo različne poglede (z različnih strani) – tekstura je “ovita” okoli modela.
Ključna poanta:
Namesto da najprej narišeš sliko in jo potem »nalepiš« na model, lahko neposredno rišeš po 3D objektu. To olajša umeščanje oči, ust itd. na pravo mesto.
aplikacija tekstur
Tekstura ni omejena samo na barvo. Lahko nadzira tudi druge lastnosti površine, kot so:
Prosojnost (transparency) – kaj je vidno in kaj ne
Sijajnost, odbojnost, hrapavost
Premik normal (bump/displacement maps)
Slike razložene:
Sveča z ognjem (spodaj levo): gori, a plamen je narejen kot prosojna tekstura – tam kjer je temno → nevidno, kjer je belo → svetlo.
Krog z mehkim robom (zgoraj desno): prikazuje radialno prosojnost – središče je bolj vidno, robovi izginejo.
Zadnja slika (spodaj desno): prikazuje različne učinke prosojnosti oz. sence na teksturi (verjetno v kombinaciji s svetlobo in bump/displacement efektom).
prostorske teksture
Ključna ideja:
Namesto da bi teksturo “lepili” na površino (kot pri 2D ali parametričnih teksturah), pri prostorskih teksturah (volumetričnih) objekt potopimo v 3D vzorec, ki že vsebuje podatke o barvi, prosojnosti ipd.
Kaj se zgodi?
Površina objekta “potuje” skozi 3D teksturno polje in za vsako točko na površini pridobi vrednost (npr. barvo).
Pogosto gre za proceduralne teksture:
Krivulje se lahko premikajo
Dodaja se šum (npr. Perlin noise)
Tako nastanejo bolj organski, naravni vzorci (kot kamnina, marmor, les…)
Slike:
Na vrhu vidimo plasti kot višinske konture (kot geografske karte).
Spodaj: kvadri z valovitimi plastmi, ki predstavljajo volumsko strukturo (npr. zrno lesa ali plasti kamnin).
Slikano z različnih kotov in v različnih oblikah, saj ploskev lahko reže volumen na različne načine.
🟦 2. slajd – Primeri in variacije
🧊 “3D vzorec ni vedno kvader”:
Leva stran prikazuje primere, kjer tekstura ni v popolnem kvadru – lahko je nagnjena, popačena ipd.
Objekt še vedno “potuje” skozi ta volumen in za vsak intersekcijski rez dobi teksturno vrednost.
🫧 “Prostorske teksture transparentnosti”:
Desno vidimo primer, kjer prostorska tekstura določa prosojnost.
Krogi v kocki predstavljajo mesta, kjer je tekstura bolj ali manj prosojna (npr. za simulacijo mehurčkov v steklu, meglice itd.).
Sestavljanje tekstur
Kaj pomeni:
Sestavljanje tekstur pomeni nanašanje teksture na več različnih ploskev istega objekta, pri čemer želimo, da se tekstura lepo nadaljuje in vizualno »poveže«.
Slika:
Vidimo dva enaka 3D objekta (valj z osnovo).
Razlika je v načinu prekritja z isto teksturo:
Leva slika: tekstura je slabo sestavljena – opazni so zlomi, šivi, tekstura ne teče lepo čez površino.
Desna slika: tekstura je dobro sestavljena – vse teče gladko, ni vidnih prekinitev.
Ključna poanta:
Teksture je treba pravilno poravnati in razporediti na kompleksne modele, sicer bodo rezultati vizualno napačni.
Ponavljajoče teksture (tiling)
Kaj pomeni:
Ponavljajoče teksture (angl. tiling) so majhne slike, ki jih ponavljamo (kopiramo v mrežo) čez površino.
Slika:
Prikazana je tekstura kamnite stene, ki se ponavlja po x in y osi.
Če je pravilno izdelana (t.i. seamless texture), se robovi ujemajo in ni vidnih meja med ponovitvami.
Kdaj se uporablja:
Površine, ki so velike in enakomerne (tlaki, stene, trava…).
Za optimizacijo – uporabiš eno teksturo, a jo raztegneš po večjem modelu.
Ključna poanta:
Ena sama tekstura se večkrat ponovi, da prekrije celotno površino brez opaznih prehodov.