Počítačová grafika (některé problémy)

Post on 30-Dec-2015

46 views 0 download

description

Eduard Sojka ZPP 200 4 / 5 VŠB – Technická univerzita Ostrava. Počítačová grafika (některé problémy). Některé problémy PG. Plán přednášky:. Počítačová grafika na FEI. Zobrazování trojrozměrných scén. Jak kreslit dobré obrázky rychle. Jak kreslit fotorealistické obrázky. - PowerPoint PPT Presentation

transcript

Počítačová grafika(některé problémy)

Eduard Sojka

ZPP 2004/5

VŠB – Technická univerzita Ostrava

2

Některé problémy PG

Zobrazování trojrozměrných scén• Jak kreslit dobré obrázky rychle

• Jak kreslit fotorealistické obrázky

Rekonstrukce scény na základě obrázků

Něco o ztrátové kompresi MP3, JPEG

Plán přednášky:

Počítačová grafika na FEI

3

Počítačová grafika na FEI

Uživatelská rozhraní (P2, Sojka)

Počítačová grafika (PV4, Sojka)

Digitální zpracování obrazu (PV4, Sojka)

Analýza obrazu (PV4, Sojka)

Algoritmizace geometrických úloh (PV5, Sojka)

Související předměty:

Základy počítačové grafiky (P3, Šarman)

Geometrie pro počítačovou grafiku (PV4, Šarman)

4

O kreslení na počítači (I)

Problém má dvě stránky:

Jak daný útvar reprezentovat v počítači. To je někdy lehké (body, úsečky,…), jindy o něco těžší (prostorové křivky, plochy, tělesa).

Jak jej pěkně a rychle nakreslit při požadovaném zobrazení. Opět někdy lehké (rovinné útvary), jindy těžší (prostorové).

V této přednášce se zaměříme zejména na druhý problém. V otázce reprezentace budeme spoléhat na intuici a „čtení mezi řádky“.

5

O kreslení na počítači (II)

V této také přednášce vynecháme problematiku vykreslování elementárních útvarů (bodů, úseček, křivek, trojúhelníků, polygonů a prostorových ploch a ihned se pustíme do vykreslování trojrozměrných scén).

6

Zobrazovaní trojrozměrných scén

Velmi hrubé dělení metod:

Metody pracující rychle, ale dávající horší obrázky (aplikace: hry, simulátory, náhledy).

Metody dávající velmi pěkné (fotorealistické) obrázky, ale pracující pomalu (aplikace: design, umění, film, reklama).

• Standardní zobrazovací řetězec

• Rekurzivní sledování paprsku• Vyzařovací metoda

7

Standardní zobrazovací postup (I)

Jakou kvalitu obrázků máme na mysli:

8

Standardní zobrazovací postup (II)

Schéma postupu

Pokrytí povrchů těles sítí rovin-ných plošek

Výpočet osvětlení ve vrcholech sítě

Rasterizace, řešení viditelnosti, textura

Ořezání zorným objemem

Aplikace zobrazovací transformace na vrcholy

9

Standardní zobrazovací postup (III)

Pokrytí povrchu objektů sítí rovinných plošek:

Pro objekty ve tvaru mnohostěnu je takové dělení vcelku samozřejmé.

K přesnějšímu výpočtu barev bývá ale někdy dělení na plošky jemnější.

Ploškami bývají nejčastěji trojúhelníky nebo čtyřúhelníky.

10

Standardní zobrazovací postup (IV)

Někdy síť rovinných plošek žádaný povrch pouze aproximuje.

Poznámka: Červeně je vyznačeno variantní dělení na trojúhelníky místo čtyřúhelníků.

11

Standardní zobrazovací postup (V)

Výpočet barevného vjemu ve vrcholech plošek

n1

n2

n3

P1

P2

P3

Oa,Od,Os

Polohu, intenzitu a barvu světelných zdrojů.

Souřadnice vrcholů (P), normál (n) a konstanty popisující optické vlastnosti materiálu (Oa, Od, Os).

K tomu známe

V tomto kroku je spočítán barevný vjem ve vrcholech každé plošky.

12

?

Jak kreslit obrázky rychle (VI)

Zobrazovací transformace

Polohou průmětny.

Polohou středu promítání

Oblíbenou technikou je středové promítání. To je zadáno:

Průmětna

Střed promítání

13

Standardní zobrazovací postup (VII)

Ořezání zorným objemem

střed projekce

průmětna

Objekty nebo jejich části nacházející se mimo zorný objem (obvykle jehlan) jsou odstraněny.

14

Standardní zobrazovací postup (VIII)

Rasterizace plošek

P1, C1

P2, C2

P3, C3

Postupně zpracovávány všechny plošky.

Pro každou plošku rozsvěceny všechny její pixely.

Barva každého pixelu se stanoví interpolací mezi hodnotami ve vrcholech.

15

Standardní zobrazovací postup (IX)

Řešení viditelnosti (z-buffer)

x

y z1

z2 zmin

X1

X2

Plocha 1

Plocha 2

z < 0

z

Pro rozhodnutí viditelnosti se použijí hodnoty souřadnice z (zde je z1 > z2).

Před řešením viditelnosti bývá centrální promítání převedeno na rovnoběžné.

16

Standardní zobrazovací postup (X)

Nanášení texturyVzhled obrázků

lze vylepšit nanášením textury (cihly, omítka, trávník).

17

Standardní zobrazovací postup (XI)

ResumePopsaný postup pracuje

rychle, ale obrázky vypadají trochu uměle. Někdy může být také patrná aproximace povrchů objektů ploškami (viz. obr. vlevo).

18

Grafické standardy (I)

Popsaný standardní zobrazovací postup je implementován v grafických knihovnách, např. v OpenGL.

Typické výhody OpenGL: Standard je vcelku jednoduchý (snadno zvládnete). I přes jeho jednoduchost jsou možnosti standardu dostatečné. Přístup k urychlování grafických operací technickými

prostředky. Přenositelnost programů mezi různými operačními systémy

(např. MS Windows, UNIX / LINUX).

19

Jaké obrazy můžeme čekat?

Sledování paprsku (I)

20

Sledování paprsku (II)

Sledování paprsků od světelných zdrojů

kamera

světelný zdroj

21

Sledování paprsku (III)

Sledování paprsků od kamery

Střed projekce

Bod obrazu

A

B

22

Sledování paprsku (IV)

Chod paprsků

Ir

It

Il n

X

I

průchod odraz

příchozí paprsek i

r t

Po dopadu paprsku i do X je generován paprsek odražený (r) a paprsek vstupující do tělesa (t).

ttrrl kk IIII

Vjem v bodě X transportovaný paprskem i je:

23

Sledování paprsku (V)

n2 r2

r1

l1 l2

l3 n3

r3 t1

1

t3

X

C

2

3

1

2 3

r2

r1 t1

l1

l2 l3

t2 r3

C

Poznámka: π je průmětna, C střed projekce. Body 1, 2, 3 jsou průsečíky paprsku s tělesem.

Chod paprsků

24

Sledování paprsku (VI)

Origin Střed projekce;

for each image point (x,y) do

Direction směr paprsku z Origin do pixelu (x,y);

Image(x,y) Ray_Trac( Origin, Direction, 0 );

konec;

Střed projekce

Bod obrazu

A

BAlgoritmus

25

Sledování paprsku (VII)

function Ray_Trac( Origin, Direction: TCoord3; Nest: Integer): TRGB;

Jestliže (Nest > MaxNest), vrať barvu (0,0,0) a skonči;

Najdi průsečíky paprsku (Origin, Direction) s objekty scény;

Nebyl-li nalezen žádný průsečík, vrať (0,0,0) a skonči;

X průsečík nejbližší bodu Origin (ve směru paprsku);

Reflected_Dir směr paprsku odraženého v X;

Ir = Ray_Trac( X, Reflected_Dir, Nest+1 );

Transmitted_Dir směr paprsku procházejícího v X;

It = Ray_Trac( X, Transmitted_Dir, Nest+1 );

Il = intenzita v bodě X od světelných zdrojů;

vrať barvu (Il + kr Ir + kt It) ;

konec;

Ir

It

Il n

X

I

průchod odraz

příchozí paprsek

Algoritmus

26

Něco o rychlosti výpočtu

6 hod, Athlon 1.6 GHz, 3D S max

Sledování paprsku (VIII)

16 hod, PIII 0.7 GHz, POV Ray

101 hod, Athlon 1.4 GHz, MegaPov

27

Sledování paprsku (IX)

Resume

Metoda sledování paprsku dává pěkné obrázky, ale pracuje pomalu. Nejdéle trvá výpočet průsečíků paprsků s tělesy.

28

Jaké obrázky čekáme?

Vyzařovací metoda (I)

Sledování paprsku (pro srovnání)

29

Vyzařovací metoda (II)

Proč dávají obě metody tak odlišné výsledky?

Sledování paprsku: jen zrcadlový odraz

Vyzařovací metoda: jen difúzní odraz

30

Vyzařovací metoda (III)

Scéna se pokryje sítí plošek. Pro každou se spočítá „vyzařování“

31

Vyzařovací metoda (IV)

Základní myšlenka: intenzita ploškou vyzařovaná = vlastní emise + ρ intenzita dopadající z jiných plošek.

Bi Bj

Ei

ploška i Ai

ploška j

Vede na soustavu rovnic pro vyzařování všech plošek.

Vypočítané hodnoty vyzařování se použijí k nakreslení plošek.

32

Vyzařovací metoda (V)

Resume

Metoda je v jistém smyslu komplementární ke sledování paprsku. Také ona dává pěkné obrázky a také i v tomto případě je výpočet zdlouhavý.

33

Rekonstrukce scény (I)

Rekonstrukce scény je úlohou opačnou k úloze o generování obrazů.

K dispozici musí být alespoň dva obrazy téže scény. Úkolem je vytvořit model scény (např. vypočítat trojrozměrné souřadnice význačných bodů ve scéně).

(U zobrazování to bylo naopak. Měli jsme model a vytvářeli jsme obrazy.)

34

?

Rekonstrukce scény (II)

Úloha o rekonstrukci

• Nalezení význačných bodů v obrazech.• Nalezení korespondence význačných bodů.• Nalezení vzájemné polohy kamer.• Zpětná projekce.

35

Rekonstrukce scény (III)

Hledání význačných bodů i korespondencí lze automatizovat. Ukážeme alespoň to první (dostaneme se tak do oblasti analýzy obrazu).

36

O kompresi

Máme-li obrázky, pak je často chceme uchovávat, transportovat po síti atd.

V případě obrazů, video sekvencí a zvuku je užitečná komprese ztrátová.

37

O ztrátové kompresi (I)

Začneme netradičně kompresí zvuku MP3

Citlivost lidského ucha.

frekvence (kHz)

0 2 4 6 8 12 14 16 0

20

10

40 dB

Nemá cenu přenášet, co ucho neslyší. Přenášíme-li už, pak není třeba kódovat

podrobněji, než je rozlišovací schopnost ucha.

38

O ztrátové kompresi (II)

Frekvenční maskování

Silně znějící tón způsobí podstatné snížení citlivosti ucha na blízkých frekvencích. Eventuální blízké tóny není pak zapotřebí vůbec přenášet nebo stačí jen hrubé kódování.

2 0 4 6 8 10 12 14 16

20

40

60 dB

frekvence (kHz)

39

O ztrátové kompresi (III)

Temporální maskování

Po skončení silného tónu se navrací citlivost ucha pozvolna. V této době není opět nutné některé jiné tóny přenášet.

0 5 5 10 20 50 100 200 500

20

40

60 dB

čas (ms)

40

O ztrátové kompresi (IV)

A co komprese JPEG a MPEG?

Opět se jednoduše vynechá to, co oko nevidí nebo nejméně postrádá. Zpravidla jsou to vysoké frekvence v obraze. Jsou zde ale určitá úskalí…

41

O ztrátové kompresi (V)

Obrázky tohoto typu jsou pro JPEG kompresi vhodné. Vysoké frekvence nejsou zastoupeny příliš významně. Nepřesnosti vzniklé kompresí jsou maskovány členitostí obrazu.

Původní obrazKomprimováno 20 : 1

42

O ztrátové kompresi (VI)

Zde je komprese JPEG zcela nevhodná. Vysoké frekvence jsou významné (neměly by se proto šidit), ani zde není členité pozadí, které by mohlo chyby vzniklé kompresí zamaskovat .

Původní obraz

Komprimováno 20 : 1

43

Závěr

O zobrazování trojrozměrných scén• Jak kreslit dobré obrázky rychle

• Jak kreslit fotorealistické obrázky

O rekonstrukci scény na základě obrázků

O ztrátové kompresi MP3, JPEG

O čem jsme mluvili:

44

g:\vyuka\456\PGII

Text pro případné zájemce