View
9
Download
0
Category
Preview:
Citation preview
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 1
SUSTAVI PRIVIDNE STVARNOSTI U PROMETU
prof. dr. sc. Hrvoje Gold2009/2010
1
Sveučilište u ZagrebuFakultet prometnih znanosti
02. OSNOVE RAČUNALNE GRAFIKE
SUSTAVI PRIVIDNE STVARNOSTI U PROMETU
2
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 2
Osnove računalne grafike ...
• Računalna grafika
– polje vizualnog računalstva
– koristi računala za
• stvaranje slika i/ili
• uklapanje i mijenjanje slikovnih i prostornih podataka uzetih iz stvarnosti
3
Osnove računalne grafike
• Matematičke osnove računalne grafike
– koordinatni sustavi, vektori, transformacijske matrice
– za izradu, prikaz, vizualizaciju i animaciju 3D objekata
• 3D modeliranje
– osnovni 3D elementi i njihov geometrijski prikaz
– izgradnja 3D objekata
• Iscrtavanje 3D objekata
– modeli osvjetljenja, rasvjete, boje i teksture
– za vizualizaciju 3D oblika na stvaran i uvjerljiv način
4
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 3
Matematičke osnove računalne grafike
• Koordinatni sustavi
• Vektori, pretvorbe, matrice
• Kutni prikazi
• Projekcije
5
Koordinatni sustavi ...
• Koordinatni sustav– određuje položaj objekta prikazanog skupinom točaka
• udaljenostima (koordinatama) od referentnih ravnina• kutovima u odnosu na ishodište koordinatnog sustava
• Postoje različiti koordinatni sustavi– za prikaz 3D objekata
• prikladnost zavisi o obliku objekta
• Najčešde korišteni koordinatni sustavi za određivanje položaja objekta u 3D prostoru– Kartezijev i– polarni/sferni
6
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 4
Koordinatni sustavi ...
• Kartezijev koordinatni sustav– pozicija točke objekta se
određuje iz udaljenosti od ravnina kojima je 3D prostor određen
– odabiru se tri osi koje se sijeku pod pravim kutevima (ortogonalno)
– osi označavaju dimenzije širine, visine i dubine (x, y, z)
– služi za prikaz stvarnih i izmišljenih svijetova
7
Koordinatni sustavi ...
• Sferni koordinatni sustav– u ravnini se naziva polarnim– pozicija točke je određena
• udaljenošdu (ρ) od ishodišta sustava i dva kuta (θ i φ) mjerena od referentnih ravnina pod pravim kutem
– kada je potrebno zadati ili odrediti pozicije relativno u odnosu na površinu zemlje
• npr. u prometu, geografiji, meteorologiji
– kutevi predstavljaju zemljopisnu širinu (θ) i duljinu (φ)
• astronomija – pozicioniranje nebeskih tijela rektascenzija i deklinacija
– ishodište je središte Zemlje– referentne ravnine su ekvator i nulti
meridijan
θ
φ
(ρ, θ, φ)ρ
8
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 5
Koordinatni sustavi ...
• Pojedine oblike je jednostavnije zadati i prikazati korištenjem polarnih nego Kartezijevih koordinata
• Vedina računalnih sustava za vizualizaciju
– programiranih korištenjem sučelja za programiranje aplikacija (Application Programming Interface – API)
• npr. OpenGL
koristi Kartezijeve koordinate
Funkcija kariotide u polarnim koordinatama
9
Koordinatni sustavi ...
• Pretvorba pozicija iz polarnih/sfernih koordinata u Kartezijeve koordinate
• 3D prividni svijetovi se izgrađuju
– osim iz 3D poligona iz trokuta ili kvadrata uređenih u 3D prostoru da tvore 3D plohe koje sadrže složenije objekte
• Uz postojede grafičke sklopove najučinkovitiji prikaz, obrada i vizualizacija 3D svijetova – trokutima
x = ρ sin φ cosθ y= ρ sin φ sinθ z= ρ cos φ
Trokutima izgrađeni 3D oblik
10
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 6
Koordinatni sustavi
• Trokut se zadaje pomodu tri točke ili vrha kojima je opisan
– grafička kartica – crtanje 108 obojenih trokuta u sekundi
– postupak iscrtavanja – ‘rendering’
• računanje utjecaja boje, teksture, osjetljenja, sjene, odraza pridruženih trokutu
11
Matematičke osnove računalne grafike
• Koordinatni sustavi
• Vektori, pretvorbe, matrice
• Kutni prikazi
• Projekcije
12
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 7
Vektori, pretvorbe, matrice ...
• Matematičke osnove vizualizacije 3D objekata
• Prikaz trokuta
– Kartezijev koordinatni sustav
– čvor / vrh trokuta zadana x, y, z koordinatama
– vektorski prikaz vrhova trokuta
),,( zyx vvvv
321 vvv ,,
13
Vektori, pretvorbe, matrice ...
• Osnovne pretvorbe koordinata objekta
– linearno pomicanje (translacija)
– kutno pomicanje / okretanje (rotacija)
– promjena veličine (skaliranje)
Linearno pomicanje 2D objekta Kutno pomicanje 2D objekta Promjena veličine 2D objekta
14
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 8
Vektori, pretvorbe, matrice ...
• Pomicanje
– dodavanjem vektorima vrhova trokuta vektora t
– zbrajanje vektora
• Promjena veličine / skaliranje
– množenje vektora vrhova trokuta faktorom mjerila s
• Okretanje
– kombinacija operacija zbrajanja i množenja
tv ),,( zzyyxx tvtvtv
),,( zzyyxx svsvsv
15
Homogene koordinate ...
• Kod pretvorbe koordinata prikladno koristiti matrični prikaz
• Za jedinstvenu obradu pretvorbi
– homogenizacija koordinata
– dodavanje komponente vektorima
• 3D prostor – koriste se 4D vektori – 4 homogene koordinate
– povedanje dimenzija matrica
– smanjenje komponenata 4D homogenih vektora i 3D
• operacijom normalizacije
16
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 9
Homogene koordinate ...
• Prikaz vrha trokuta u 3D prostoru
• Matrica pretvorbe / transformacije M
– dimenzije matrice M – 4 x 4
– množenje vektora v matricom pretvorbe M rezultira vektorom v’ komponenata
– četvrta dimenzija / komponenta uglavnom ostaje 1
≠
17
Matrice pretvorbi koordinata ...
• Pomicanje
– v’ je pozicija v nakon pomaka za
• tx jedinica po osi X
• tY jedinica po osi Y
• tz jedinica po osi Z
18
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 10
Matrice pretvorbi koordinata ...
• Promjena veličine
– mijenjaju se veličina i položaj objekta
– samo objekti smješteni u ishodištu ostaju u istom položaju
19
Matrice pretvorbi koordinata ...
• Promjena veličine objekta u odnosu na proizvoljno zadanu točku
• matrica vrhova objekta M sa n stupaca = broju vrhova
• matrica pretvorbe
– početni pomak u ishodište T-1
– promjena veličine S
– pomak u izvorni položaj T
• M’ – matrica vrhova objekta promjenjene veličine u odnosu na P0
20
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 11
Matrice pretvorbi koordinata ...
(a) Okretanje oko proizvoljne osi(b) pomak osi do ishodišta(c) okretanje oko osi x dok os
okretanja nij e u xz ravnini (d) okretanje oko osi y dok os z
ne podudara s osi okretanja(e) okretanje oko osi z (= os okretanja)
umjesto učvršdenja objekta i okretanja osi (na slici su učvršdeneosi , a objekt se okrede)
(f) okretanj e oko osi y u suprotnom smjeru
(g) okretanj e oko osi x u suprotnom smjeru
(h) pomak u suprotnom smjeru
21
Matrice pretvorbi koordinata ...
22
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 12
Matrice pretvorbi koordinata ...
• Okret
– vrha u ravnini oko ishodišta koordinatnog sustava za kut θ
– u polarnim koordinatama
φ
θv
v’
X
Y
r
23
Matrice pretvorbi koordinata ...
• Matrica okreta u ravnini
– Matrica okreta u prostoru
• okretanja oko z osi
24
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 13
Matrice pretvorbi koordinata ...
• okret oko x osi okret oko y osi
• okret objekta oko proizvoljne točke – računanje kao kod promjene veličine
25
Matrice pretvorbi koordinata ...
• Množenje matrica nije komutativna operacija
≠
Okretanje
Pomicanje Pomicanje
Okretanje
26
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 14
Matematičke osnove računalne grafike
• Koordinatni sustavi
• Vektori, pretvorbe, matrice
• Kutni prikazi
• Projekcije
27
Kutni prikazi ...
• Kutni prikazi
– matrica okreta
• zapisana Euler-ovim kutovima
– određuju usmjerenost 3D objekta
– prikaz Euler-ovim kutovima dokučiv, ostali kutni prikazi prikladni za posebne vrste usmjerenosti objekta
28
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 15
Kutni prikazi ...
• Euler-ovi kutovi
– opis usmjerenosti čvrstog tijela u 3D Euklidskom prostoru
– izražena slijedom tri okreta opisana Euler-ovim kutovima
– redoslijed okreta i osi oko kojih se okret izvodi zadaje se na različite načine
• npr. Tait-Bryan / Cardano / nautički kutovi
29
Kutni prikazi ...
– Euler-ovi kutovi
• θ – kut između osi X i Y, kut kotrljanja – ’roll’
• φ – kut između osi Z i X, kut okretanja – ‘yaw’
• ψ – kut između osi Z i Y, kut poniranja ili penjanja – ‘pitch’
kut kotrljanja
kut okretanja
kut poniranja
30
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 16
Kutni prikazi ...
• Okreta za 90° uz Euler-ove kutove– može dovesti do problema ‘poravnjanja kardanskih
prstenova’ (gimbal lock)• mehanički uređaj koji omogudava okretanje objekta u više
dimenzija
• dva od tri prstena se poravnaju – poništi se jedna os okretanja
• Ostali kutni prikazi pokušavaju izbjedi taj problem
Os okretanja
Os kotrljanjaOs poniranja
31
Kutni prikazi ...
• Primjer ‘poravnanja kardanskih prstenova’ kod korištenja Euler-ovih kutova
Neočekivani rezultat- uz pojavu problem
Očekivani rezultat- bez pojave problema
Lokalni koordinatni sustav
90° oko X 45° oko Y
32
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 17
Kutni prikazi ...
• Osni kut
– opis usmjerenosti objekta u prostoru
– okret predstavljen
• jediničnim vektorom
• kutom okreta oko vektora
– primjena u robotici, animaciji isimulaciji
33
Kutni prikazi ...
• Okret objekta za kut δ oko proizvoljne osi u prostoru koja prolazi točkama i– koristi operacije premještanja i okreta oko koordinatnih
osi– premještanje točke u ishodište
koordinatnog sustava– postavljanje osi okreta u smjeru jedne koordinatne osi
• npr. uz odabir Z osi, potreban je okret oko osi X i okret oko osi Y
– okret oko osi Z za kut δ – suprotno okretanjo za vradanje osi okreta u početni smjer– suprotno premještanje za postavljanje objekta i osi okreta
u izvorni položaj
34
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 18
Kutni prikazi ...
Matrični prikaz okreta objekta, izraženog osnim kutom, oko proizvoljne osi
35
Kutni prikazi ...
• Kvaternioni (quaternions)
– učinkovit način prikaza okreta objekta u prostoru
• primjena kod računalne animacije
– prošireni kompleksni brojevi
• sastavljeni od – imaginarnih i
– realnih brojeva
• četvorke realnih brojeva
• operacije zbrajanja i množenja
36
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 19
Kutni prikazi ...
• Komponente se okupljanju u
– realni dio – skalar
– imagirnarni dio – vektor
• Zapis u formatu kvaterniona
– uz
• realni broj s:
• vektor :
37
Kutni prikazi ...
• Norma / vrijednost jediničnog kvaterniona q
• Određenje operacije množenja kvaterniona
– operacija množenja asocijativna, ali ne komutativna operacija
38
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 20
• Član istovjetnosti
• Sprezanje * – množenje imaginarnog dijela kvaterniona sa -1
• Suprotni kvaternion– kvaternion jedinične duljine
Kutni prikazi ...
39
Kutni prikazi ...
• Okret točke p oko proizvoljne osi r za kut θ
– je rezultat umnoška
40
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 21
Kutni prikazi ...
• Novi položaj točke p poslije okreta oko proizvoljne osi za kut θ uz normalizirane koordinate je p’
41
Kutni prikazi ...
• Ako su q1 i q2 jedinični kvaternioni
– okret uz q1 i zatim uz q2 izražava se kao q3 = q2·q1
• Prikaz okreta kvaternionom
– jednostavniji prikaza negoli Eulerov-im kutovima
• kvaternion – odgovara osi i kutu okreta
– zadaje se s četiri broja
42
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 22
Kutni prikazi ...
– jednostavnije izvođenje sporih / glatkih okreta• nadzor točke motrišta kod kretanja kamere u prividnom
okruženju– kod interpolacije okreta kamere (sferna linearna interpolacija –
Spherical Linear Interpolation SLERP) između početnog i završnog smjera kamere
– kod množenja više matrica radi konačne točnosti računala• može se pojaviti pogreška zaokruženja
– kada prijeđe prag kvaternioni ili matrice ne prikazuje zadane okrete
– rješenje normalizacija kvaterniona, teže rješivo kod matrice okreta
43
Kutni prikazi ...
• Eksponencijalno preslikavanje
– za opis okreta potrebna su tri parametra
– okreti su predstavljeni vektorima u R3
• vektor ima tri komponente
• os okreta određena smjerom vektora (komponente
• kut okreta određen veličinom vektora
– ne postoji problem ‘poravnjanja kardanskih prstenova’
– singularitet se pojavljuje u području prostora parametara
• izbjegava se jednostavnim postupcima
44
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 23
Kutni prikazi ...
• Odabir kutnog prikaza
– više načina prikaza okrenutosti objekta u prostoru
– zavisi o namjeni
• korisničko sučelje
• ograničenja kod animacije
• interpolacija
• sastavljanje
• iscrtavanje
45
Kutni prikazi ...
• Korisničko sučelje
– unos podataka
– ručno postavljanje smjera objekta u prividnom okruženju
– upravljanje pogledom kamere u scenu iz različitih točaka gledanja
– razumljiv prikaz za jednostavno predstavljanje smjera
– koriste se Euler-ovi kutovi
46
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 24
Kutni prikazi ...
• Ograničenja kod animacije
– ograničenja pomaka zglobova prividnih likova
• zabrana neprirodnih položaja
– ograničeni kutovi usmjerenosti kamere
• olakšana navigacija u prividnom svijetu
– koriste se Euler-ovi kutovi
47
Kutni prikazi ...
• Interpolacija
– umetanje prijelaznih okrenutosti
• ostvarenje glatkih prijelaza između dva položaja lika
– kod promjene točke motrišta kamere
– kod animacije 3D objekata
– koriste se kvaternioni (SLERP) i eksponencijalna preslikavanja
48
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 25
Kutni prikazi ...
• Sastavljanje
– spajanje više različitih pretvorbi
• slijed pretvorbi za pomicanje objekta od točke A do točke B
• interpolacija smjera snimanja kamere
– koriste se kvaternioni i matrice
49
Kutni prikazi ...
• Iscrtavanje
– postupak prikaza prividnog okruženja promatranog iz odabrane točke gledanja na pokazivaču
– završni korak toka vizualizacije računalnom grafikom
– koriste se matrice usmjerenosti
• sklopovski ubrzivači grafičke kartice
50
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 26
Matematičke osnove računalne grafike
• Koordinatni sustavi
• Vektori, pretvorbe, matrice
• Kutni prikazi
• Projekcije
51
Projekcije ...
• Do sada razmatrali– osnove prikaza točaka za izradu 3D objekata
– promjena mjesta točaka u 3D prostoru • linernim pomakom
• kutnim pomakom
• promjenom veličine
• Kako nacrtati 3D objekte na zaslonu koji je 2D?– projekcijske pretvorbe iz prostora u ravninu
• posebne projekcijske pretvorbe za prikaze na kuglastim i valjkastim zaslonima
52
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 27
Projekcije ...
• Ravninske / planarne projekcije
– projiciranje točaka 3D objekta na (projekcijsku) ravninu
• projicirane točke se nalaze na presjecištu projekcijskih zraka, koje prolaze preko točaka objekta i projekcijske ravnine
– podjela planarnih projekcija
• ortografska i
• perspektivna– uz projekcijske matrice
53
Projekcije ...
• Ortografska projekcija
– ograničavanjem prostora gledanja određuje se kvadratni ili pravokutni volumen gledanja
– sve izvan volumena gledanja se ne crta
– veličine objekata se ne mijenjaju bili oni blizu ili daleko
– usporedne crte u 3D ostajuusporedne i u 2D
Ortografski volumen gledanja
Daleka odrezujuda ploha
Desna odrezujuda ploha
Donja odrezujuda ploha
Gornja odrezujuda ploha
Lijeva odrezujuda ploha
Bliska odrezujuda ploha
Motrište / projekcioni prozor
54
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 28
Projekcije ...
• Najčešde korištena projekcijska ravnina– X-Y ravnina – matrica pretvorbe
• Korištenje ortografske projekcije– u arhitekturi i računalom podržanom projektiranju
(Computer Aided Design – CAD)
– kod dodavanja teksta ili 2D prekrivanja 3D grafičke scene
55
Projekcije ...
• Perspektivna projekcija– model točkaste kamere– projekcijske zrake prolaze
kroz jednu točku – motrište (viewpoint)
– daleki objekti izgledaju manjima od bliskih
– objekti bliži prednjoj strani volumena gledanja slični izvornoj veličini
– objekti dalji od prednje strane se na prednjoj strani volumena prikazuju manje veličine
Motrište / projekcioni prozor
Perpektivni volumen gledanja
Daleka odrezujuda ploha
Desna odrezujuda ploha
Donja odrezujuda ploha
Gornja odrezujuda ploha
Lijeva odrezujuda ploha
Bliska odrezujuda ploha
56
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 29
Projekcije ...
• Matrični prikaz perspektive projekcije
– f = udaljenost između motrišta i projekcijske ravnine
– projekcija točke uz rezultira u
57
Projekcije ...
– iz homogenih 4D -> 3D koordinate
• normalizacijom 4D vektora dijeljenjem sa
– koordinate točke p’ projicirane u ravninu na udaljenosti f od motrišta
• Primjena perspektivne projekcije
– unosi realizam u simulacije i 3D animacije
58
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 30
3D modeliranje
• Uvod
• Geometrijski prikaz
• Krivulje
• Plohe
59
3D modeliranje - uvod
• 3D modeliranje
– razvoj matematičkog modela 3D objekta koji de se prikazati na zaslonu računala
• korištenjem krivulja, ploha i volumena
– može se izraditi i fizički model objekta sa zaslona
• 3D tiskalo
60
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 31
Geometrijski prikazi ...
• Geometrijski prikaz
– opis rasporeda točaka objekta kojima se izrađuje oblik objekta
– načini ili osnovni elementi izrade 3D oblika
• točka, krivulja, poligon
• Točka
– najjednostavniji element
– 3D oblik je sastavljen od velikog broja točaka koje pokrivaju površinu objekta
61
Geometrijski prikazi
• Krivulja– često korišteni način prikaza 3D oblika– aproksimiraju se crtama i točkama– opis složenih 3D površina
• Poligon– prikaz zatvorenih površina– najjedostavniji i najprikladniji oblik poligona za
iscrtavanje 3D objekta je trokut– bilo koje tijelo je mogude prikazati skupinom trokuta
• korištenje vedeg broja trokuta doprinosi točnosti prikaza
– grafičke kartice koriste trokute za prikaz ploha
62
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 32
Krivulje ...
• Prikaz krivulje
– u ravnini (2D) ili prostoru (3D)
– skupom pravilno razmaknutih točaka povezanih kratkim pravocrtnim segmentima
63
Krivulje
• Zapis krivulja
– listom koordinata točaka
• vedi broj točaka doprinosi točnosti i glatkosti prikaza
• prolazne točke se dobivaju interpolacijom
– smanjuje se točnost prikaza – interpolirane točke se ne nalaze na krivulji
– analitičkim izrazom
• prednost u točnosti određivanja mjesta točke, jednostavnosti spremanja i računanja prolaznih točaka
• neparametarske i parametarske jednadžbe krivulje
64
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 33
Neparametarski zadane krivulje ...
• Zadavanje krivulja neparametarskim jednadžbama– eksplicitni i implicitni oblik jednadžbi
• Eksplicitni oblik jednadžbi– zapis 2D krivulje
• npr. jednadžba pravca,
• pri čemu vrijednosti nezavisne varijable x odgovara samo jedna vrijednost zavisne varijable y
65
Neparametarski zadane krivulje ...
• Implicitni oblik jednadžbi
–
– zatvorene krivulje
• nije mogude izraziti u eksplicitnom obliku
– npr. kružnica
– omogudava prikaz krivulja koje za jednu vrijednost nezavisne varijable imaju više vrijednosti zavisne varijable
66
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 34
Neparametarski zadane krivulje ...
– npr. opda implicitna jednadžba drugog reda
• opisuje različite 2D krivulje dobivene presjekom stošca
• jednadžba pravca se dobije uz
67
Neparametarski zadane krivulje
• Ograničenja neparametarskih jednadžbi krivulja
– osno zavisni prikaz
• primjenjivost zavisna o odabiru koordinatnog sustava
– kada se točke krivulje računaju s jednakim prirastom vrijednosti nezavisne ili zavisne varijable
• neraspodjelju se ravnomjerno duž krivulje– smanjenje kvalitete i točnosti vizualizacije
68
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 35
Parametarski zadane krivulje ...
• Zadavanje krivulja parametarskim jednadžbama
– koordinate točaka krivulje prikazane kao funkcije parametra koji se mijenja unutar zadanog područja vrijednosti
– npr. kartezijeve koordinate točaka 3D krivulje uz zadani parametar t
– vektorski prikaz položaja točke P na krivulji
69
Parametarski zadane krivulje ...
– krajnje točke i duljina krivulje
• zadane područjem vrijednosti parametra
• za promatrani segment krivulje područje vrijednosti parametra se normalizira u rasponu
– osno nezavisni prikaz
• položaj točke zavisi samo o vrijednosti parametra
• omogudava korištenje postupaka pretvorbi koordinata
70
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 36
Parametarski zadane krivulje ...
• Primjer
– prikaz kružnice parametarskom jednadžbom
r = polumjer kružnice, t = kut od pozitivne osi X mjeren suprotno od kazaljke na satu u radijanima
– jednaki prirast parametra t proizvodi lukove jednakih duljina na obodu kružnice
• dobra vizualizacija
71
Parametarski zadane krivulje ...
• Savitljive krivulje (spline)
– parametarske krivulje
– preteča su bile fizički savitljive vrpce od drveta korištene u modeliranju glatkih krivulja
• npr. kod brodskih konstrukcija
– računala potaknula razvoj matematičkih modela i alata za crtanje i proizvodnju složenih oblika
72
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 37
Parametarski zadane krivulje
• Prikaz krivulja i površina korištenjem manjeg broja nadzornih točaka
– Paul de Faget Casteljau (1959) / Pierre Bézier (1962)
• projektiranje automobilskih karoserija Citroën / Renault
– interaktivna prilagodba krivulje ili površine zadanom obliku
– Bézier-ove krivulje
• prvi patentirao metodu
73
Bézier-ove krivulje ...
• Bézier-ove krivulje• osnovna – pravac
– zadaju se sa dvije nadzorne točke B0 i B1 kojima se iscrtava pravac između njih
– krivulja 2 reda i 1 stupnja
– parametarska jednadžba linearne Bézier-ove krivulje
odgovara linearnoj interpolaciji
• nadzorne točke se zadaju u slučaju – ravnine – dvočlanim vektorima
– prostora – tročlanim vektorima
74
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 38
Bézier-ove krivulje ...
• Kvadratna Bézier-ove krivulja
– tri nadzorne točke
– krivulja 3 reda i 2 stupnja
– odgovara kvadratu osnovne jednadžbe
svaki član je optereden nadzornom točkom
75
Bézier-ove krivulje ...
• Kubna Bézier-ove krivulja
– četiri nadzorne točke
– 4 reda i 3 stupnja
– najčešde korištena
• oslikavanje, animacija, slovoslagarstvo
76
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 39
Bézier-ove krivulje ...
• Opdi oblik Bézier-ove krivulje reda n + 1
– Bézier-ova bazna ili funkcija miješanja
• određena Bernstein-ovim polinomom
77
Bézier-ove krivulje ...
• Svojstva Bézier-ove krivulje– krivulja načelno slijedi oblik poligona dobiven
postavljanjem nadzornih točaka– prva i zadnja točka krivulje su istodobno prva i zadnja
nadzorna točka– krivulja se nalazi unutar konveksne ljuske poligona
određenog nadzornim točkama– tangenta na krajnjim točkama krivulje ima isti smjer kao i
prva i zadnja točka poligona • osigurava se neprekinutost krivulje
– pretvorba krivulje (pomicanjem, okretanjem i promjenom veličine) ostvaruje se preko nadzornih točaka
78
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 40
Bézier-ove krivulje ...
• Primjene Bézier-ovih krivulja– uvođenje vektorske grafiku
– određene prednosti u odnosu na rastersku grafiku• osnova rasterskog / točkastog prikaza slike je točka / piksel
– osnovni element slike – picture element – pixel
• svakom pikselu pridružena boja zavisno o algoritmu prikaza i spremanja – tif, jpg, png, bmp
• nedostaci rasterske grafike– veličina datoteke
– nemogudnost promjene veličine objekta uz zadržavanje detalja prikaza
79
Bézier-ove krivulje ...
• Vektorska grafika– opis slike matematičkim jednadžbama i koordinatama
nadzornih točaka• spremljeni u grafičkoj datoteci
– aplikacija za iscrtavanje (renderer)• na temelju podataka iz datoteke iscrtava se grafički prikaz• povedanje objekta u prikazu
– aplikacija za iscrtavanje povedav arazmak između nadzornih točaka i ponovno iscrtava glatku krivulju
– je skalabilna• do određenog stupnja složenosti slike
– učinkovitije je spremati koordinate nadzornih točaka od piksela
80
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 41
Bézier-ove krivulje
• Primjene Bézier-ovih krivulja– kvadratne Bézier-ove krivulje
• u slogoslagarstvu (typesetting)– oblikovanje tiskarskih slova i znakova
– kod prikaza i tiskanja tekstova u visokoj kakvodi
– kubne Bézier-ove krivulje• određivanje oblika krivulja kod oslikavanja, modeliranja,
animacije
– osnova za primjenu sustava prividne stvarnosti• precizan matematički opis za izradu likova i tijela na
računalu
81
B-savitljive krivulje ...
• B-savitljive krivulje– krivulje nastale korištenjem nadzornih točaka
• zavisne o interpolacijskim i aproksimacijskim postavkama za uspostavljanje odnosa između krivulje i nadzornih točaka
• postavke osigurava bazna funkcija– bazna funkcija Bézier-ove krivulje je Bernstein-ov polinom
• Bernstein-ov polinom ograničava gipkost rezultantnih krivulja– svaka točka Bézier-ove krivulje je rezultat miješanja vrijednosti
nadzornih točaka
– promjena vrijednosti jedne nadzorne točke se prenosi kroz cijelu krivulju
– lokalnu promjenu na krivulji nije mogude provesti
82
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 42
B-savitljive krivulje ...
• B-savitljiva baza (B = baza / basis)– Bernstein-ova baza je poseban slučaj
– svakoj nadzornoj točki Bi
• pridružena jedinstvena bazna funkcija
• svaka Bi djeluje na oblik krivulje u području parametra gdje je pridružena bazna funkcija različita od nule
– omogudava promjenu reda i stupnja rezultantne krivulje• bez promjene broja nadzornih točaka što nije mogude
ostvariti s Bernstein-ovom bazom
83
B-savitljive krivulje ...
• Parametarska jednadžba B-savitljive krivulje
Bi su pozitivni vektori n + 1 nadzorne točke poligona
Ni,k su normalizirane B-savitljive bazne funkcije
84
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 43
• Ni,k(t)i-ta normalizirana B-savitljiva bazna funkcija reda k i stupnja k-1, – određena je Cox-de Boor-ovim rekurzivnim
formulama
• vrijednosti xi su članovi vektora čvora i ispunjavaju relaciju
• parametar t se mijenja od tmin do tmax duž krivulje P(t)
B-savitljive krivulje ...
0/0 = 0
protivnomu
85
B-savitljive krivulje ...
• Vektor čvora
– ima značajan utjecaj na B-savitljive bazne funkcije Ni,k i time na rezultirajudu B-savitljivu krivulju
– uvjet je da mora imati rastudi niz realnih brojeva
– podjela
• jednoličan
• otvoreno jednoličan / otvoreni
• nejednoličan
86
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 44
B-savitljive krivulje ...
• Jednoličan vektor čvora
– vrijednosti su jednolično raspodjeljene
• npr. [0 1 2 3 4], [-0.2 -0.1 0 0.1 0.2]
– u primjeni vrijednosti
• započinju s nulom i imaju prirast do najvede vrijednosti
• su normalizirane u području *0..1+
87
B-savitljive krivulje ...
• Otvoreno jednoličan vektor čvora
– na krajevima područja vrijednosti se više puta ponavljaju
– broj ponovljenih vrijednosti
• jednak je redu k B-savitljive bazne funkcije
• npr. k= 2 : [0 0 0.25 0.5 0.75 1 1], k = 3 : [000 0.33 0.66 1 1 1]
88
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 45
B-savitljive krivulje ...
– sličnost B-savitljivih krivulja sa bazom funkcijom otvorenog jednoličnog vektora čvora i izvorne Bézier-ove krivulje
• B-savitljiva baza prelazi u Bernsetin-ovu bazu kada– se koristi otvoreno jednoličan vektor čvorova i
– broj nadzornih točaka je jednak redu B-savitljive baze
– B-savitljiva krivulja je onda jednaka Bézier-ovoj krivulji
» npr. uz četiri nadzorne točke i otvoreni jednoličan vektor čvora četvrtog reda k = 4 [0 0 0 0 1 1 1 1] dobiva se kubna Bézier-ova / B-savitljiva krivulja
89
B-savitljive krivulje ...
• Nejednoličan vektor čvora
– vrijednosti
• su nejednolično raspoređene
• se mogu ponavljati
• mogu biti periodične ili otvorene– npr. [0 0 1 3 3 4], [0. 0.1 0.6 0.7 1]
– omogudava promjenu područja utjecaja na nadzornu točku
• pojedine nadzorne točke mogu imati jači utjecaj na oblik krivulej od drugih točaka
90
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 46
Nejednolične racionalne B-savitljive krivulje
• Nejednolične racionalne B-savitljive krivulje
– Non Uniform Rational Basis Spline – NURBS
– najopdeniti oblik matematičkog opisa B-savitljivih krivulja
• Racionalna B-savitljiva krivulja
– projekcija u 3D prostoru 4D neracionalne B-savitljive krivulje
– neracionalna B-savitljiva krivulja je polinom B-savitljive krivulje; kao što je prethodno opisano
91
Nejednolične racionalne B-savitljive krivulje
– prikazuje se homogenim koordinatama • svaka nadzorna točka ima tri kartezijeve
koordinate i homogenu koordinatu h [x, y, z, h]
– racionalna B-savitljiva krivulja određena je izrazom za P(t)
– kada je za svaki i• hi = 1 – jednadžba NURBS-a se reducira na
neracionalnu B-savitljivu krivulju
• povedanje vrijednosti hi povlači krivulju bliže točki Pi
• smanjenje vrijednosti hi gura krivulju dalje od točke Pi
• hi = 0 – uklanja utjecaj točke Pi na krivulju
92
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 47
Nejednolične racionalne B-savitljive krivulje
• Nejednolične racionalne B-savitljive krivulje
– poopdenje neracionalnih B-savitljivih krivulja
• dijele zajednička analitička i geometrijska svojstva
– pružaju precizan način prikaza uobičajenih oblika često prisutnih u primjenama računalom podržanog projektiranja i konstruiranja i sustava prividne stvarnosti
• npr. linija, stožastih krivulja, ravnina, krivulja slobodnih oblika, oblikovanih površina
93
3D modeliranje
• Uvod
• Geometrijski prikaz
• Krivulje
• Plohe
94
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 48
Plohe ...
• Primjene sustava prividne stvarnosti– vizualno dopadljiv prikaz složenih 3D oblika
– uvjerljiv prikaz postojanja u zamjenskom okruženju
– modeliranje • predmeta svakodnevne uporabe
– npr. vozila, alati, zgrade, ...
• živih bida– životinja, ljudi
• savitljivim krivuljama– visoki stupanj interakcije kod oblikovanja ploha
– sažeto spremanje modela – nadzorne točke, vektor čvora - NURBS
95
Plohe ...
• Izrada ploha iz savitljivih krivulja– zadaje se mreža poligona izvan rešetke krivulja– krivulje se računaju iz mreže nadzornih točaka– za svaki redak rešetke računa se
• krivulja na utvrđenim intervalimaparametra t
– linearna interpolacija između nadzornih točaka
• točke izračunate krivulje su nadzorne točke uspravnih savitljivih krivulja
– stvara se mreža krivulja čije točke služe za izgradnju mreže trokuta – osnovnih elemenata grafičkih kartica• prikaz 3D oblika mrežom poligona – popločenje (tessellation)• vedi broj poligona – veda točnost i glatkost plohe
Algoritam izrade ploha iz savitljivih krivulja
96
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 49
Plohe ...
• Bézier-ova ploha određena
– tenzorom umnoška Bézier-ovih krivulja / zakrpa
• NURBS ploha određenana
– slično tenzorom umnoška jednadžbi NURBS krivulja / zakrpa
97
Plohe
• Dobivanje točnijih i glađih ploha– rekurzivna podpodjela– Catmul– Clark-ov algoritam (1978. g.)
• izravno iscrtavanje iz jednadžbi zakrpi– umjesto generiranja mreže poligona iz
rešetke savitljivih krivulja
• skup nadzornih točaka se dijeli u dvije manje zakrpe
– postupak se rekurzivno ponavlja sve dok se podzakrpa ne projicira na manje od jednog piksela na zaslonu
– zatim se svaka zakrpa iscrtava punjenjem piksela u koji se projicira
– računalno zahtjevan postupak• koristi se programabilno sklopovlje GPU
Catmul– Clark-ov algoritam - prva tri koraka
98
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 50
Iscrtavanje 3D objekata
• Uvod
• Model lokalnog osvjetljenja
• Model opdeg osvjetljenja
• Izrada teksture
• Grafički protočni sustav
99
Uvod ...
• Iscrtavanje 3D objekata– skup postupaka kojima se iz prividne scene proizvodi slika
uzimajudi u obzir utjecaje• boje, osvjetljenja, površine i ostalih značajki objekata prividne scene
– pojačavaju uvjerljivost i privlačnost
• Svjetlost odražena / reflektirana od objekta ga čini vidljivim– za oponašanje odraza svijetlosti razvijeni su različiti modeli– model osvjetljenja objekta
• skup jednadžbi za izračunavanje osvjetljenosti točke na površini objekta
– određuje količinu odraženog svijetla od promatrane točke na površini
• Algoritmi rasteriziranja– iscrtavanje modela– grafičke kartice
100
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 51
Uvod ...
• Odražena svijetlost je funkcija– usmjerenosti svijelosnog izvora, boje i jakosti svijetla, položaja
promatrača, usmjerenosti površine i svojstava površine koja uključuju• boju, neprozirnost površine, refleksivnosti, snagu refleksije i sl.
• Odraz svijetlosti od površine objekta mogude prikazati i provesti na razinama– mikroskopskoj, lokalnoj i globalnoj
• mikroskopska razina – detaljan prikaz odraza svijetlosti• lokalna razina – prihvatljivi rezultat kod izvođenja u stvarnom vremenu –
primjene prividne stvarnosti
• Za izbjegavanje vidljivosti granica poligonskih površina razvijeni su modeli sjenčenja– Gouraud-ov i Phong-ov model
101
Iscrtavanje 3D objekata
• Uvod
• Model lokalnog osvjetljenja
• Model opdeg osvjetljenja
• Izrada teksture
• Grafički protočni sustav
102
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 52
• Model lokalnog osvjetljenja– pojednostavljeni model osvjetljenosti površine
• boja točke na površini zavisi o svjetlosti točke i svjetlosti odbijenoj od točke
– Phong-ov model osvjetljenja• jakost svjetlosti u točki površine računa se iz
odbijanja / refleksije zrake svjetlosti– okoline / ambijenta– raspršenja / difuzne i – loma / spekularne
• jednadžba lokalnog osvjetljenja
Ulaznosvjetlo
Odbijanjeraspršenja
Odbijanjeloma
Rasipanje i zračenje (fluorescencija)
Unutarnjeodbijanje
Upinjanje(absorpcija)
Izlazno svjetlo
Odraz okolnog osvjetljenja
Model lokalnog osvjetljenja
Phong-ov model osvjetljenja objekta
I = Iamb + Idif + Ispe
103
Odbijanje okoline
• Odbijanje okoline / ambijenta
– okolno / pozadinsko osvjetljenje
• jednoliko osvjetljena površina iz svih smjerova (npr. zidovi)
• jednako odbijeno u svim smjerovima
– osnovna postavka svjetline u sceni
Iamb = Iaka
Ia – stalna jakost okolnog osvjetljenja
ka – koeficijent okolnog odraza [0..1]– dio okolnog osvjetljenja reflektiran od točke
Odraz okoline
104
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 53
Odbijanje raspršenja
• Odbijanje raspršenja / difuzije– obilježje svjetlosti odbijene od mat površine bez sjaja– jakost odbijene svjetlosti
• nezavisna o smjeru promatranja objekta, ali zavisi o smjeru izvora• odbijena jednako u svim smjerovima
Lambert-ov zakonIi – energija ulazne zrake svjetlostikd – koeficijent odraza raspršenja
– normalizirani vektor zrake ulazne svjetlosti s
n – vektor normale na površinu (npr. trokut)
nIi
Idif
θ
Odraz raspršenja
Idif = Iikdcosθ
Idif = Iikd(s·n)
105
Odbijanje lomlja
• Odbijanje loma / spekularni– izravno odbijanje svjetla od površine
• npr. odbijanje od glatke i sjajne površine zrcala
– svijetli odraz je jače vidljiv iz određenog smjera promatranja• npr. zrcalo odbija ulaznu svijetlost samo u jednom smjeru i predstavlja
idealni reflektor lomljene zrake svjetlosti
Ii – energija ulazne zrake svjetlosti
ks – koeficijent odraza loma
n – parametar hrapavosti površine– određuje bliskost površine idealnom reflektoru
– n > 100 zrcalna površina, n ≈ 1 mat površina
Ispe = Iiks(r·v)n r = 2n(n·s) - s
sv
Odbijanje loma
106
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 54
Dobivanje boja ...
• Lokalni model osvjetljenja– računa jakost svjetlosti po jedinici površine
• npr. po trokutu
– skalarna vrijednost– ne izražava određenu boju
• Zaslon video pokazivača prikazuje boje– miješanjem osnovnih / primarnih boja
• crvene (red), zelene (green) i plave (blue)
– RGB model boja• jakost osnovnih boja je normalizirana u raponu [0..1]• različite boje se dobivaju postavljanjem različitih jakosti za
pojedine osnovne boje
RGB model boja
107
Dobivanje boja ...
• Ostali modeli boja uz RGB model– HSV model, CIE model
• HSV model– za određenje boje koristi pojmove
• nijanse (hue)• zasidenosti (saturation)• svjetline (brightness)
• CIE model – 1931. g. predložilo međunarodno
povjerenstvo za rasvjetu Commission Internationale de L‘Eclairage (CIE)
– mješavina tri osnovne boje različitih jakosti čiji je zbroj jednak jedan
CIE model boja
HSV model boja
108
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 55
Dobivanje boja ...
• Za dobivanje određene boje – postoje formule uz bilo koji model
• U računalnoj grafici i primjenama prividne stvarnosti– boje se pretežno opisuju RGB modelom
• Za prikaz boje– računanje jakosti zrake svjetlosti
• okoline, • raspršenja i • loma
posebno za svaku osnovnu komponentu boje
109
Dobivanje boja
• Površina odražava pojedinu komponentu različitim koeficijentom refleksije
– bijela svjetlost ima istu jakost sve tri osnovne boje
– odraz raspršenja bijele svetlosti
• ne mora sadržavati istu jakost za sve tri komponente
• zavisi o koeficijentima odraza raspršenja površine što daje boju objektu
– različite boje objekata se dobivaju osvjetljenjemscene korištenjem svjetlosti u boji
110
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 56
Sjenčenje objekata ...
• Jakost odraza svjetlosti se računa po poligonu
– plosnato sjenčenje (flat shading)
• Za povedanje dojma neprekinutosti jakosti odraza
– koriste se algoritmi interpolacije jakosti svjetlosti
• Gouraud-ov i Phong-ov
Algoritmi sjenčenja za lokalno osvjetljenje
Plosnato
111
Sjenčenje objekata ...
• Gouraud-ov algoritam (1971. g.)– djelomično uklanja prekidnost
jakosti osvjetljenja
– jakost se računa za svaki vrh poligona• vektor normale vrha jednak je
srednjoj vrijednosti vektora normala površina susjednih poligona
– linearna interpolacija se koristi za određivanje boje u svakoj točki unutar poligona
– sjenčenje na zaslonu sklopovski ubrzava grafička kartica
Gouraud-ov algoritam sjenčanja
112
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 57
Sjenčenje objekata ...
• Phong-ov algoritam sjenčenja (1973. g.)– interpolira vektore normala točaka na
površini objekta• ne vektore normala vrhova poligona kao
kod Gauraud-ovog algoritma
– u svakoj točki poligona• vektor normale se dobije interpolacijom
vektora normala vrhova poligona
• vektor normale točke se normalizira
• za određivanje jakosti zrake svjetlosti u točki koristi se model osvjetljenosti (Phong-ov model osvjetljenosti površine)
– uvjerljiviji prikaz od Gauroud-ovog, ali računski zahtjevniji
Phong-ov algoritam sjenčanja
113
Iscrtavanje 3D objekata
• Uvod
• Model lokalnog osvjetljenja
• Model opdeg osvjetljenja
• Izrada teksture
• Grafički protočni sustav
114
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 58
Model opdeg osvjetljenja ...
• Model globalnog osvjetljenja– najuvjerljiviji prikaz prividne stvarnosti– sastavnice modela
• izravno osvjetljenje• neizravno osvjetljenje
• Izravno osvjetljenje– svjetlost dolazi izravno iz izvora svjetlosti
• npr. žarulja ili sunce
• Neizravno osvjetljenje• učinci odbijanja svjetlosti izvora svjetlsoti od površina u
okruženju objekta
115
Model opdeg osvjetljenja ...
• Opda jednadžba globalnog osvjetljenja
– tzv. jednadžba iscrtavanja
– opis razmjene svjetlosne energije između površina objekata u sceni
– zasnovana na fizici svjetlosti
• jednadžba lokalnog osvjetljenja zasnovana na aproksimacijama osvjetljenja korištenjem interpolacija
116
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 59
Ukupna jakost svjetlosti
Jakost zračene svjetlosti Jakost odbijene svjetlosti
• Jednadžba iscrtavanja– jakost prenesene svjetlosti između točaka površina jednaka je zbroju jakosti
zračene svjetlosti i ukupne jakosti raspršene svjetlosti prema točki x od svih ostalih točaka površine
– jakost svjetla koje napušta točku x u smjeru w
– jakost zračene svjetlosti, svojstvo površine u točki x
– infinitenzimalni zbroj nad polukuglom Ω usmjeren prema točki x
– funkcija raspodjele dvosmjerne refleksije, dio odbijene svjetlosti
– upadno svjetlo u x iz smjera w’
– prigušenje svjetlosti uzrokovano kutom upada
Model opdeg osvjetljenja ...
Jednadžba iscrtavanja
117
Model opdeg osvjetljenja ...
• Algoritmi za rješavanje jednadžbe iscrtavanja
– pradenja zraka svjetlosti (ray tracing)
– toka zračenja svjetlosti (radiosity)
– preslikavanja fotona svjetlosti (photon mapping)
118
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 60
Algoritam pradenja zraka ...
• Oponaša putanje zraka svjetlosti emitiranih od izvora svjetlosti i odbijenih od objekata u sceni do dolaska u oko ili kameru (ray tracing)– oponašaju se samo zrake koje dolaze do oka
• algoritam pronalazi presjecišta zraka svjetlosti odaslanih od strane motritelja i objekata u sceni
– za oponašanje odbijanja koristi se rekurzivni postupak
• zrake koje presjecaju objekt stvaraju odbijene zrake za koje se ponovno određuje njihovo presjecište s ostalim objektima
– u svakom presjecištu zrake doprinose jakosti boje
• zbroj doprinosa određuje boju piksela na zaslonu
Slika na zaslonuOko /
kameraIzvor
svjetlosti
Objekt
Algoritam toka zračenja
119
Algoritam pradenja zraka ...
• Algoritam pradenja zraka stvara vrlo uvjerljive slike uključujudi efekte– odbijanja, loma i sjenčenja
• Optimizacija algoritma radi bržeg iscrtavanja– ubrzanje pronalaženja presjecišta
• korištenje strukture podataka binarne podijele prostora, npr. k-d stabla
– paralelizacija algoritma i izvođenje na mreži računala
– korištenje programabilnog sklopovlja• grafički procesni sklopovi (Graphics Processing Unit – GPU)
120
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 61
Algoritam pradenja zraka
• Interaktivno korištenje algoritma pradenja zraka
– za primjene u stvarnom vremenu potrebno ostvariti 24/30 slika u sekundi
– postignuto nekoliko slika u sekundi – dovoljno za ispitivanje složene scene
• simulacije, igre, prividna stvarnost
Slike dobivene algoritmom pradenja zraka121
Algoritam toka zračenja svjetlosti ...
• Algoritam toka zračenja svjetlosti (radiosity)
– korišten kao metoda računanja razmjene topline putem zračenja između površina – 1950-tih
– 1984. g. Cindy Goral - predloženo korištenje za oponašanje prijenosa svjetlosti između površina
– površine se promatraju kao difuzni reflektori
• upadna zraka svjetlosti se odbija ili raspršuje u svim smjerovima unutar polukugle iznad reflektirajude površine
122
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 62
Algoritam toka zračenja svjetlosti ...
• Osnovno načelo algoritma– održanje ravnoteže energije u zatvorenoj sceni– zračenje (energija po jedinici) površine zavisi o
• vlastitom zračenju i • energiji emitiranoj od ostalih površina koju promatrana
površina prima i odbija, tj. ponovno zrači
• Obilježje slika dobivenih algoritmom toka zračenja– dojam razlijevanja (bleeding) boja
• odsjaj boje jednog objekta prelazina drugi
• ne može se postidi pradenjem zraka
Slika dobivena algoritmom toka zračenja
123
Algoritam toka zračenja svjetlosti ...
• Jednadžba ravnoteže energije– uz scenu podijeljenu na konačne dijelove / zakrpe
površina stalnog zračenja
– zračenje zakrpe
– vlastito zračenje
– reflektivnost
– faktor oblika zakrpa i• odnos zračenja koje šalje i prima
• Jednadžbe svih zakrpi dovode do linearnog sustava N jednadžbi
124
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 63
Algoritam toka zračenja svjetlosti
• Računalno najzahtjevniji dio algoritma – računanje faktora oblika
• metode računanja faktora oblika– projekcijska metoda Z-spremnika (Z-buffer) / spremnika dubine
– metode shema pradenja zraka svjetlosti
– paralelizacija algoritama
• Algoritam toka zračenja– računa međudjelovanje svjetlosti u okruženju nezavisno o
motrištu promatrača• različita motrišta se iscrtavaju u stvarnom vremenu
– primjena kod realne vizualizacije prividne stvarnosti• programabilno sklopovlje – dobivanje slika u stvarnom vremenu
125
Preslikavanja fotona svjetlosti ...
• Klasičnim algoritmom pradenja zraka ne dobiju se efekti koji su posljedica neizravnog osvjetljenja difuzne površine
– difuzno međuodbijanje
• stvaraju dojam razlijevanja boja
– zrake dobivene višestrukim odbijanjem ili lomljenjem (caustics) svjetla prije međudjelovanja s diguznom površinom
• npr. ljeskanje valova na dnu bazena
126
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 64
Preslikavanja fotona svjetlosti ...
• Algoritam preslikavanja fotona svjetlosti– Henrik Wann Jensen 1996. g.– izvodi se kao proširenje algoritma
pradenja zraka– dvoprolazni algoritam
• 1. prolaz – zrake / fotoni se usmjeravaju na scenu i kada pogode objekt difuzne površine spremaju se u kartu fotona
• 2. prolaz – prolaz iscrtavanja – za svaku točku scene određuju se
– statističkom obradom karte fotona –ulazne zrake i odbijeno zračenje
Slika dobivene algoritmom preslikavanja fotona
127
Preslikavanja fotona svjetlosti
• Karta fotona raspregnuta od geometrijskog prikaza scene– algoritam oponaša globalnu osvjetljenost složene scene sastavljene od 106
trokuta – korištenje GPU
• Za prikaze se koriste spletovi navedenih algoritama
Slika dobivena algoritmima pradenja zraka i toka zračenja
128
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 65
Iscrtavanje 3D objekata
• Uvod
• Model lokalnog osvjetljenja
• Model opdeg osvjetljenja
• Izrada teksture
• Grafički protočni sustav
129
Izrada teksture ...
• Uvjerljivi prikazi prividne stvarnosti
– uz 3D oblike i osvjetljenje zahtjevaju
• prikaz materijala od kojega je objekt načinjen
– npr. drvo, mramor, krzno, ...
• zahtjevan prikaz objekata sa složeno obojenim uzorcima / teksturama materijala
– izrada teksture / teksturiranje
• tehnika iscrtavanja teksture materijala
• ljepljenje 2D slike / teksture na 3D oblik
– ploha je obojena slikom
Slika dobivena metodom preslikavanja teksture
130
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 66
Izrada teksture ...
• Preslikavanje teksture
– osnova naprednih algoritama iscrtavanja
• npr. preslikavanje okruženja je o motrištu nezavisna tehnika teksturiranja
– površini objekta dodaje spekularnu refleksiju, okruženje se reflektira u objektu
Odraz okruženja
131
Izrada teksture ...
– izrada teksture kartom neravnina (bump mapping)
• mijenja parametre jednadžbe sjenčenja– npr. normalu površine
• stvaranje dojma 3D reljefa ili nabora na površini
Kugla bez teksture Karta neravnina Kugla s teksturom
+ -->
Izrada teksture kartom neravnina
132
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 67
Izrada teksture ...
– izrada teksture pomakom (displacement mapping)
• koordinate sjenčene točke se mijenjaju na osnovi parametara površine određene koordinatama teksture
• površina se stvarno mijenja – kod izrada teksture kartom neravnina mijenja se samo normala
– ispravno stvaranje vlastitih sjena, zapreka, silueta
– iscrtavanje velikog broja mikro poligona potrebnih za izobličenje površine – vremenski zahtjevno
Izrada teksture pomakom
133
Izrada teksture
• Izrada teksture
– prikladan način stvaranja realistične 3D scene
• iscrtavanje sa ili bez teksture traje gotovo jednako vrijeme
• teksturiranje uključujudi preslikavanje okruženja i teksturiranje pomakom
– ostvareni u sklopovlju grafičkih kartica
– podržani od vedine grafičkih korisničkih sučelja z a3D grafiku
» npr. OpenGL 2.0, DirectX 10.0, ...
134
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 68
Iscrtavanje 3D objekata
• Uvod
• Model lokalnog osvjetljenja
• Model opdeg osvjetljenja
• Izrada teksture
• Grafički protočni sustav
135
Grafički protočni sustav ...
• Postupak iscrtavanja slike– korištenjem sučelja za programirnje grafičkih
aplikacija (Application programming Interfaces –API), npr. OpenGL, DirectX• sklopovske izvedbe
• programska izvedba – sporija
– OpenGL API podržan od• MS Windows, Mac OSX, Linux/Unix platformi
– DirectX podržan od• MS Windows platforme
136
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 69
Grafički protočni sustav ...
• OpenGL– industrijski standard od 1992. g.
– usklađen sa grafičkom bibliotekom Iris GL tvrtke Silicon Graphics
– do verzije 1.5 protočni sustav nepromjenjive funkcije• korisnik nadzire različite parametre
• osnovna funkcionalnost i redoslijed obrada nepromjenljiv
– od verzije 2.0 (2004. g.)• programiranje obrade na razini vrhova i piksela (fragmenata)
• programiranje vlastitih algoritama iscrtavanja– jezik sjenčenja visoke razine (OpenGL Shading Language – GLSL)
137
Grafički protočni sustav ...
• Pojednostavljena verzija grafičkog protočnog sustava prema OpenGL tehničkom opisu
– funkcionalnost ugrađena u sklopovlje grafičke kartice
Grafički protočni sustav za iscrtavanje slike
Pohrana Pretvorba Rasterizacija
Geometrija
Tekstura
Nepromjenljivapretvorba
Programabilnapretvorba
Rasterizacija
Sjenčenjenepromjenljivih
fragmenata
Sjenčenjeprogramabilnih
fragmenata
Operacije s fragmentima
Spremnikslika
138
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 70
Grafički protočni sustav ...
• Grafički protočni sustav
– niz funkcija koje se izvode jedna za drugom ili istovremeno
– pretvaraju prividnu scenu u sliku
– najsporija operacija određuje brzinu izvođenja
– optimiziran za rad s trokutima
– prikaz grafičkog protočnog sustava nepromjenljive funkcionalnosti
139
Grafički protočni sustav ...
• Glavne faze iscrtavanja
– aplikacijska
– geometrijska
– rasterizacija
140
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 71
Aplikacijska faza
• Aplikacijska faza– priprema elemenata za iscrtavanje (trokuti, točke ,
crte)
– logika aplikacije• animacija, simulacija, ulazno/izlazne operacije i sl.
– zavisi o aplikaciji• ne postoji sveobuhvatna izvedba
• programira se i izvodi n asredišnjem procesoru računala
– šalje elemente pripremljene u odgovarajudem obliku na obradu u ostatak protočnog sustava
141
Geometrijska faza ...
• Geometrijska faza
– priprema za popunjavanje točaka na zaslonu
• ulaz: elemetni za iscrtavanje 3D poligoni, svjetla, kamere
– trokuti određeni vrhovima, normalama, bojama, parametrima materijala i sl.
• izlaz: 2D poligoni u koordinatama zaslona i s određenim bojama
142
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 72
Geometrijska faza ...
• Koraci geometrijske faze
– pretvorba koordinatnih sustava / prostora
1. Pretvorba u prostor oka / motritelja
2. Osvjetljenje / bojanje
3. Pretvorba projekcijskog volumena
4. Obrezivanje poligona (clipping)
5. Preslikavanje na zaslon
Prostor objekta -> Prostor svijeta -> Prostor oka-> Prostor slike -> Prostor zaslona
143
Geometrijska faza ...
1. Pretvorba u koordinatni sustav motritelja (oka ili kamere)– trokuti zadani 3D koordinatama u
lokalnom koordinatnom sustavu predmeta u sceni (model coordinates)
– scena i kamera postavljene u globalnom koordinatnom sustavu (world coordinates / space)
– pretvorba svih koordinata u koordinatni sustav kamere
• kamera je u ishodištu koordinatnog sustava
• gleda se u smjeru z osi
• y os je gore, a x os desno
Pretvorba iz globalnih u koordinate kamere
Smjer kamere
Pozicijakamere
Pretvorba u koordinate
kamere
x x
z z
Projekcijskivolumen
144
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 73
Geometrijska faza ...
– pretvorba modela iz lokalnog u globalni koordinatni sustav
• postavljanje / mijenjanje položaja 3D oblika u sceni
– pretvorba iz globalnog u koordinatni sustav motritelja
• motrenje iz određenog položaja i kuta
– koordinatni sustavi su određeni matricama
• pretvorba točke– množenje točke matricom pretvorbe
• matrica pretvorbe svih točaka – matrica modela x matrica motritelja
145
Geometrijska faza ...
2. Osvjetljenje / bojanje
– trokuti preneseni u koordinatni sustav kamere
• računanje osvjetljenja i pridruživanje boja točkama scene na osnovi
– koordinata vrhova trokuta
– normala na površini objekta
– položaja izvora svjetlosti
– svojstava materijala i sl.
• OpenGL koristi model lokalnog osvjetljenja
146
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 74
Geometrijska faza ...
3. Pretvorba projekcijskog volumena u jediničnu kocku sa središtem u ishodištu
– točke unutar projekcijskog volumen projiciraju se na projekcijski prozor
• množenje točaka matricom ortogonalne ili perspektivne projekcije
• normalizacija koordinata– x i y: normalizirane
projicirane koordinate
– z: normalizirana dubina Pretvorba projekcijskog volumena u jediničnu kocku
147
Geometrijska faza ...
4. Obrezivanje poligona ili njihovih dijelova smještenih izvan projekcijskog volumena
– na presjecima poligona i projekcijskog volumena
• po potrebi se generiraju novi vrhovi
• interpolacijom vrijednosti duž odbačenih rubova pridružuju se boje, koordinate teksture, i sl.
Obrezivanje (clipping) nevidljivih poligona
Granica projekcijskog
volumena
Obrezivanje
Novi vrhovi
Novi vrh
x x
z z
148
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 75
Geometrijska faza ...
5. Preslikavanje na zaslon
– linearna pretvorba kojom se x i y kooridnate iz jedinične kocke preslikavaju u koordinate zaslona
– z koordinata ostaje nepromjenjena
Preslikavanje na zaslon
149
Faza rasteriziranja ...
• Iscrtavanje poligona na zaslonu
– pretvorbom geometrijskih elemenata u piksele kojima se puni spremnik slike
– podjela geometrijskih elemenata u manje dijelove koji odgovaraju pikselima u spremniku slika
– manji dio se naziva fragment / piksel
• npr. trokut određen s tri vrha se pretvara u skup fragmenata / piksela koji pokrivaju područje trokuta
150
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 76
Faza rasteriziranja ...
– fragmentu su pridruženi atributi
• koordinate položaja na zaslonu, dubina (z koordinata), boja, kooridnate teksture i sl.
– vrijednost atributa je određena interpolacijom vrijednosti između vrhova elementa
• vrhovima su pridružene primarne i sekundarne boje
• vrijednosti boje se interpoliraju ako se koristi glatko sjenčenje – npr. Gouraud sjenčenje
– u protivnom se vrijednsot boje zadnjeg vrha elementa koristi za bojanje cijelog elementa – npr. plosnato sjenčenje
151
Faza rasteriziranja ...
– na fragmentima se izvode operacije
• preslikavanja tekstura– koordinate teksture pridružene fragmentu se koriste za pristup
u memoriju tekstura grafičke kartice
• provjere vidljivosti točaka– više poligona može biti projicirano na istu točku na zaslonu
• zamagljivanja– promjena boje fragmenta zavisno o udaljenosti od motrišta
• zbrajanja boja– sastavljanje primarnih i sekundarnih boja fragmenta
152
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 77
Faza rasteriziranja
– poligoni se popunjavaju crtu po crtu
• izračunavaju s početne točke i nagibi stranica– delta pomaci za svaku novu crtu
• u izvršnoj fazi iscrtavaju se crte koje popunjavaju površinu poligona
Pokriveni pikseliTrokutPiksel (križid = središte na 0.5)
Rasteriziranje trokuta Bojanje piksela 153
Programabilni grafički protočni sustav ...
• Programabilni grafički protočni sustav
– operacije na razini vrhova i fragmenata zamjenjuje program sjenčenja (shader)
• prevodi i povezuje se za vrijeme izvođenja
• izvodi se u grafičkoj procesnoj jedinici grafičke kartice– Graphics Processing Unit - GPU
– program sjenčenja
• vrhova i fragmenata
154
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 78
Programabilni grafički protočni sustav ...
• Program sjenčenja vrhova
– ulaz: vrhovi i njihovi atributi
– izlaz: koordinate tekstura, boje, koordinate magle i sl.
– nove operacije, npr.
• pretvorbe vrhova
– korištenjem pretvorbenih i projekcijskih matrica
• modela osvjetljenja
• Program sjenčenja fragmenta
– operacije zamjene tekstura, zbroja boja, maglenja i sl.
155
Programabilni grafički protočni sustav ...
• Programi za sjenčanje– OpenGL – jezik sjenčenja visoke razine (OpenGL
Shading Language – GLSL)
– DirectX / Direct3D grafička komponenta – jezik sjenčenja visoke razine (High Level Shading Language – HLSL)
• Program za sjenčenje geometrije (2008. g.)– Shader Model 4.0
• stvaranje nove geometrije
• izvođenje operacija na razini geometrije – trokuti, crte
156
Sustavi prividne stvarnosti u prometu 15.09.2009.
Osnove računalne grafike 79
Programabilni grafički protočni sustav ...
• Stvaranje nove geometrije za vrijeme izvođenja i obrada poligona na GPU
– oslobađa vrijeme središnje procesne jedinice CPU
– povedava mod računanja
– nove mogudnosti 3D grafike, animacije, simulacija i sl.
• Izravno programiranje algoritama i jednadžbi
– npr. Phong-ov model osvjetljenja
157
Programabilni grafički protočni sustav ...
• Primjene u sustavima prividne stvarnosti
– GPU brže izvođenje od CPU u slijednom i pararelnom radu
• stvaranje slika u stvarnom vremenu
– programiranje modela
• globalnog osvjetljenja
• strukture kože – privid kostiju prekrivenih mišidima i skožom – modeliranje živih bida
• čestica – oponašanje vode, prašine i sl.
158
Recommended