Upload
magdalene-octavio
View
46
Download
0
Embed Size (px)
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
Citation preview
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