Zobrazovací rovnice

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Zobrazovací rovnice je matematický nástroj, který se používá k popisu geometrických útvarů a objektů. Jedná se o rovnice, které definují vztah mezi souřadnicemi bodů v prostoru a jejich obrazy na obrazovce nebo papíru. Tyto rovnice se používají v oblastech jako je počítačová grafika, geometrie a optika. Zobrazovací rovnice se skládají z dvou částí - levé strany, která obsahuje souřadnice bodů v prostoru, a pravé strany, která určuje jejich obrazy na obrazovce nebo papíru. Tímto způsobem se vytváří matematický vztah mezi reálným světem a jeho zobrazením. Existuje několik typů zobrazovacích rovnic, které se používají v různých oblastech. Například perspektivní zobrazovací rovnice se používá v počítačové grafice a fotografii pro simulaci perspektivy. Dalšími příklady jsou rovinné zobrazovací rovnice, které se používají v geometrii a mapování k popisu zobrazení na rovině. Zobrazovací rovnice jsou důležitým nástrojem pro vytváření a manipulaci s grafickými objekty. Jejich pochopení je klíčové pro vývoj počítačových her, vizualizace dat a dalších aplikací, které se zabývají zobrazením geometrických objektů.

Rovnice odrazu popisuje množství světla odraženého z bodu x ve směru k pozorovateli na základě znalosti světla přicházejícího do bodu x ze všech směrů a popisu povrchu pomocí BRDF. Rovnice je integrálem přes hemisféru ve směru normály, tj. přes všechny příchozí směry. Zobrazovací rovnice, je integrální rovnice používaná nejčastěji v počítačové grafice k syntéze obrazu. Rovnice popisuje přenos světla ve scéně a jejím řešením je tedy rovnovážný stav rozložení světla ve scéně.

Zobrazovací rovnice byla představena zároveň Davidem Immelem a kol. a Jamesem Kajiyou v r. 1986.

...
...
...
...
+more images (1)

Úvod

Nejprve byla odvozena rovnice odrazu popisující interakci světla s povrchem a z té byla následně odvozena integrální Zobrazovací rovnice. Zobrazovací rovnice se používá jako základ všech algoritmů syntézy obrazu na principu sledování paprsků jako jsou například Path Tracing (žeby Sledování cest. +more) nebo Ray Tracing. Za zjednodušujících předpokladů lze ze zobrazovací rovnice odvodit radiační metodu (radiozitu). Obecně je tato rovnice těžce řešitelná. K jejímu řešení se používají nejčastěji metody založené na numerickém odhadu integrálu jako jsou metody Monte Carlo nebo Metropolis.

Rovnice a její formy

Úhlová forma

Základní podoba - výpočet integrálu přes prostorové úhly v hemisféře Zobrazovací rovnice ve své úhlové formě:

:L(\mathbf x,\omega_o) = L_e(\mathbf x,\omega_o) + \int_H L(r(\mathbf x, \omega_i), -\omega_i) \cdot f_r(\mathbf x, \omega_i \rightarrow \omega_o) \cdot \cos(\theta_i)\, \mathrm d \omega_i

Kde :L(\mathbf x,\omega_o) značí celkovou vyslanou zář (radianci) z bodu \mathbf x podél paprsku ve směru \omega_o, :L_e(\mathbf x,\omega_o) značí zář (radianci) emitovanou zdrojem z bodu \mathbf x ve směru \omega_o, :H hemisféru ve směru normály se středem v \mathbf x, přes kterou integrujeme (viz obr.), :\omega_i směr příchozího paprsku :\theta_i je velikost úhlu mezi \omega_i a normálou plochy :f_r(\mathbf x, \omega_i \rightarrow \omega_o) je distribuční funkce odrazu (BRDF) v bodě x ze směru \omega_i do \omega_o.

Plošná forma

Situace při výpočtu integrálu přes plochu scény. +more Sčítáme zář z diferenciálních plošek z celé scény s ohledem na viditelnost Protože implementace integrace přes sférický úhel může být nepraktická nebo obtížná, lze převést Zobrazovací rovnici substitucí do tvaru, ve kterém vystupuje integrál přes plochu scény místo přes směry. Po úpravách dostaneme rovnici v následujícím tvaru:.

:L(\mathbf x,\omega_o) = L_e(\mathbf x,\omega_o) + \int_M L(\mathbf y \rightarrow \mathbf x) \cdot f_r(\mathbf y \rightarrow \mathbf x \rightarrow \omega_o) \cdot G(\mathbf x \leftrightarrow \mathbf y) \cdot V(\mathbf x \leftrightarrow \mathbf y) \mathrm d A_y

Kde :L(\mathbf y \rightarrow \mathbf x) je přepis L(r(\mathbf x, \omega_i), -\omega_i) do podoby záře vyslané z bodu \mathbf y ve směru k bodu \mathbf x :obdobně pak f_r(\mathbf y \rightarrow \mathbf x \rightarrow \omega_o) popisuje odraz paprsku, přicházejícího z \mathbf y, v bodě \mathbf x, odraženého ve směru \omega_o :G(\mathbf x \leftrightarrow \mathbf y) = \frac{cos(\theta_x)cos(\theta_y)}{||\mathbf x - \mathbf y||^2} je tzv. geometrický člen, který zohledňuje orientaci daných ploch v prostoru a :V(\mathbf x \leftrightarrow \mathbf y) je funkce viditelnosti, přičemž =1 pokud jsou vzájemně viditelné, =0 jinak.

:M značí celou plochu scény, přes kterou integrujeme, :A je diferenciální ploška, podle které integrujeme.

Odvození

Zobrazovací rovnici odvodíme z Rovnice odrazu světla, .

Rovnice odrazu

Pro reprezentaci světla budeme používat fyzikální veličinu zář (radianci) vyjádřenou jednotkami ve W . m^{-2}. +more sr^{-1}. Začneme od nejjednoduššího zápisu a dále jej budeme rozvíjet až do odvození forem uvedených výše.

Řekněme, že radiance v odchozím směru L_o na povrchu scény je rovna součtu radiance odražené od povrchu v tomto směru L_r a radiance emitované daným směrem L_e (v případě světelného zdroje).

:L_o = L_e + L_r

Neboli

:L_o(\mathbf x,\omega_o) = L_e(\mathbf x,\omega_o) + L_r(\mathbf x,\omega_o)

Kde :\mathbf x je bod ve scéně a :\omega_o značí odchozí směr.

Nyní se podíváme na člen L_r(\mathbf x,\omega_o). Tento vychází z matematického popisu odrazu paprsku od povrchu scény, neboli BRDF (Bidirectional Reflectance Distribution Function), což je funkce vyjadřující subkritickou hustotu pravděpodobnosti (její integrál může být f_r(\mathbf x, \omega_i \rightarrow \omega_o) = \frac {\mathrm dL_r(\omega_o)}{\mathrm dE(\omega_i)} = \frac{\mathrm dL_r(\omega_o)}{L_i(\omega_i)cos\theta_i \mathrm d\omega_i} [sr^{-1}]

A tedy

:\mathrm dL_r(\omega_o) = f_r(\mathbf x, \omega_i \rightarrow \omega_o) \cdot L_i(\omega_i) \cdot cos\theta_i \mathrm d\omega_i,

po integraci

:L_r(\mathbf x,\omega_o) = \int_H L_i(\mathbf x,\omega_i) \cdot f_r(\mathbf x, \omega_i \rightarrow \omega_o) \cdot cos\theta_i \mathrm d \omega_i.

Kde :f_r je funkce BRDF a :L_i vyjadřuje příchozí zář (radianci) .

Tímto dostáváme rovnici odrazu, která vyjadřuje interakci světla s povrchem scény.

:L_o(\mathbf x,\omega_o) = L_e(\mathbf x,\omega_o) + \int_H L_i(\mathbf x,\omega_i) \cdot f_r(\mathbf x, \omega_i \rightarrow \omega_o) \cdot cos\theta_i \mathrm d \omega_i

Zobrazovací rovnice

Z rovnice odrazu lze pomocí snadné úvahy a vyjádření Li pomocí Lo získat Zobrazovací rovnici. Nejprve si zavedeme funkci vržení paprsku, jako

:r(\mathbf x, \omega_i) bod na povrchu scény, protnutý paprskem z bodu \mathbf x ve směru \omega_i, Protože je radiance podél paprsku konstantní, platí :L_i(\mathbf x,\omega_i) = L_o(r(\mathbf x, \omega_i), -\omega_i) Dosazením předchozí rovnosti do rovnice odrazu získáme Zobrazovací rovnici :L_o(\mathbf x,\omega_o) = L_e(\mathbf x,\omega_o) + \int_H L_o(r(\mathbf x, \omega_i), -\omega_i) \cdot f_r(\mathbf x, \omega_i \rightarrow \omega_o) \cdot cos(\theta_i)\mathrm d \omega_i

Odvození plošné formy zobrazovací rovnice

Situace substituce diferenciální plošky za diferenciální prostorový úhel. +more Zde je třeba vzít v úvahu vzdálenost a natočení plošky Rovnici v plošném tvaru získáme substitucí. Prosté dosazení diferenciální plošky za diferenciální úhel ale nestačí. Je třeba také vzít v úvahu to, že se intenzita záření mění s kosinem úhlu natočení od normály (Lambertův zákon) a klesá úměrně čtverci vzdálenosti (viz obr. ). S těmito znalostmi již můžeme vyjádřit následující vztah mezi diferenciální plochou a diferenciálním úhlem : :\mathrm d\omega = \mathrm dA \cdot cos(\theta) \cdot r^{-2}.

Po substituci tedy

:L_o(\mathbf x,\omega_o) = L_e(\mathbf x,\omega_o) + \int_M L_o(\mathbf y \rightarrow \mathbf x) \cdot f_r(\mathbf y \rightarrow \mathbf x \rightarrow \omega_o) \cdot G(\mathbf x \leftrightarrow \mathbf y) \cdot V(\mathbf x \leftrightarrow \mathbf y) \mathrm d A_y

Kde :G(\mathbf x \leftrightarrow \mathbf y) = \frac{cos(\theta_x)cos(\theta_y)}{||\mathbf x - \mathbf y||^2} je tzv. geometrický člen, který zohledňuje orientaci daných ploch v prostoru a :V(\mathbf x \leftrightarrow \mathbf y) = \{^{1 \ldots x\ a\ y\ jsou\ vzajemne\ viditelne}_{0 \ldots jinak} je funkce viditelnosti.

Pozor: Neplést rovnici odrazu (jednoduchá rovnice popisující interakci světla s povrchem) se Zobrazovací rovnicí (integrální rovnice vyjadřující stav osvětlení v celé scéně - obecně těžko řešitelná).

Vyjádření pomocí integrálního operátoru

Zavedení transportního operátoru

Formálně vzato je zobrazovací rovnice integrální rovnicí druhého druhu, která v obecném tvaru vypadá takto:

:f(x) = g(x) + \int k(x, t) \cdot f(t) \,\mathrm{d}t

V tomto tvaru je však typicky analyticky neřešitelná. Pro stručnější zápis integrálu si zavedeme operátor :T, též transportní operátor. +more Chceme jej použít na funkci vycházející radiance L(x, \omega), a proto tento operátor bude zobrazení z množiny funkcí f: M\times S \rightarrow \mathbb{R} do té samé množiny (kde S je jednotková koule, tj. všechny směry). Transportní operátor definujeme jako: :(T\circ L)(x, \omega_o) = \int_H L(r(x, \omega_i), -\omega_i) \cdot f_r(x, \omega_i \rightarrow \omega_o) \cdot \cos(\theta_i) \,\mathrm{d}\omega_i.

a tedy tvar ZR se zjednoduší na :L = L_e + T\circ L

V této podobě vyjadřuje vztah množství světla, vyzářeného (primárními) zdroji světla, které dorazí na danou plošku.

Zápis zobrazovací rovnice řadou

Ze vztahu :L = L_e + T\circ L se můžeme pokusit rekurzivně vyjádřit L, dosazením do téže rovnice získáváme díky linearitě operátoru :L = L_e + T\circ L_e + T^2\circ L Dalšími iteracemi dospějeme ke vztahu :L = \sum\limits_{i=0}^n (T^i \circ L_e) + T^{n+1}\circ L Pro dokonalou simulaci v rámci modelu n \rightarrow \infty (pak se tato řada nazývá Neumannova). Velmi důležité pozorování je, že T je kontrakce, formálně řečeno ||T\circ L|| \le ||L||. +more Míníme tím, že celkové množství světla se aplikací operátoru zmenší. To plyne přímo ze zákona zachování energie -- odražené paprsky mohou mít v součtu nejvýše stejnou energii jako ty dopadající (běžné materiály odráží nejvýše asi 80 % dopadající světelné energie). Z toho vyplývá, že můžeme vyšší mocniny zanedbat a to, co nám zůstalo, už není integrální rovnice, ale jen konvergentní řada obsahující integrál, kterou umíme vyhodnocovat metodou Monte Carlo integrování.

Řešení Zobrazovací rovnice

OpenGL

OpenGL tuto rovnici neřeší, ale trochu ji obchází tím, že používá bodové světelné zdroje, čímž lze integrál zdiskretizovat do sumy. Výsledkem není ustálený stav scény.

Metoda konečných prvků (Finite element method)

Metodou konečných prvků, tuto rovnici řešit lze, její řešení je však plné zjednodušení, takže například neuvažuje směrovost dopadajících paprsků nebo lesklé odrazy. Tento způsob řešení Zobrazovací rovnice se nazývá Radiozita a byla poprvé představena v r. +more 1984 C. Goralem.

Sledování paprsku (Ray tracing)

Metoda Sledování paprsku byla představena T.Whittedem v r. 1980.

Po dotazu na osvětlení na povrchu scény postupuje rekurzí a vrhá jeden světelný paprsek, takže počítá pouze příspěvky přímého osvětlení na difuzních plochách a ideální zrcadlové odlesky. Naopak neřeší nepřímé osvětlení na difuzních plochách ani např. +more měkké stíny.

Distribuované sledování paprsku (Distributed ray tracing)

Metoda Distribuovaného sledování paprsku představená v r. 1984 R. +more Cookem již používá k odhadu lokálního integrálu metodu Monte Carlo a dokáže si tak poradit s měkkými odrazy a stíny, hloubkou ostrosti aj.

Sledování cest (Path tracing)

V dnešní době asi nejpoužívanější metodou řešení integrální Zobrazovací rovnice je metoda Sledování cest, kterou poprvé představil J. Kajiya v r. +more 1986.

Tato metoda používá k řešení metodu Monte Carlo a v podstatě simuluje dráhu jednoho paprsku formou náhodné procházky. Jde o metodu statisticky konzistentní a nevychýlenou (unbiased) a dokáže si poradit s nepřímým osvětlením, měkkými stíny, lesklými odrazy, atd.

Reference

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top