sustavi prividne stvarnosti u prometu · •računalna grafika –polje vizualnog računalstva...

79
Sustavi prividne stvarnosti u prometu 15.09.2009. Osnove računalne grafike 1 SUSTAVI PRIVIDNE STVARNOSTI U PROMETU prof. dr. sc. Hrvoje Gold 2009/2010 1 Sveučilište u Zagrebu Fakultet prometnih znanosti 02. OSNOVE RAČUNALNE GRAFIKE SUSTAVI PRIVIDNE STVARNOSTI U PROMETU 2

Upload: others

Post on 09-Jan-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 2: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 3: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 4: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 5: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 6: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 7: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 8: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 9: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 10: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 11: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 12: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 13: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 14: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 15: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 16: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 17: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 18: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 19: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 20: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 21: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 22: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 23: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 24: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 25: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 26: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 27: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 28: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 29: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 30: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 31: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 32: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 33: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 34: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 35: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 36: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 37: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 38: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 39: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 40: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 41: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 42: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 43: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 44: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 45: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 46: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 47: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 48: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 49: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 50: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 51: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 52: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 53: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 54: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 55: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 56: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 57: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 58: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 59: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 60: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 61: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 62: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 63: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 64: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 65: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 66: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 67: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 68: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 69: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 70: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 71: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 72: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 73: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 74: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 75: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 76: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 77: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 78: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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

Page 79: SUSTAVI PRIVIDNE STVARNOSTI U PROMETU · •Računalna grafika –polje vizualnog računalstva –koristi računala za •stvaranje slika i/ili •uklapanje i mijenjanje slikovnih

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