Světlo prochází

Co se doopravdy děje, když světlo vstoupí do skla, vody, dešťové kapky nebo lidského ucha: průhlednost, propustnost, lom, duha, index lomu, chromatická vada, kaustiky a průsvitnost, vysvětlené pro ty, kdo obraz svítí, natáčejí a renderují.

Optika · Světlo · 13 min

Každý obraz, který vytvoříme, je ze světla, které něčím prošlo. Prošlo vzduchem na place, sklem objektivu, často oknem, sklenicí vody, dešťovou kapkou nebo difuzním rámem a někdy kousek do lidské kůže, než se vrátilo ven. Každý z těch materiálů světlo cestou mění: ohýbá ho, štěpí na barvy, soustředí do jasných vzorů nebo rozptyluje do měkké záře. Tento článek prochází těmito změnami jednu po druhé, od **průhlednosti** a **propustnosti** přes **lom** a proč k němu dochází až k **duze**, **indexu lomu**, **chromatické vadě**, **kaustikám** a **průsvitnosti**. Každý obrázek se počítá živě, takže ohyb, který vidíte, je ohyb, který předpovídá fyzika.

Čtyři věci, které se mohou stát světlu

Když světlo dorazí k materiálu, mohou se mu stát jen čtyři věci a každý materiál je jen jiná směs těch čtyř. Část světla se **odrazí** přímo od povrchu. Část se **pohltí** a změní v nepatrné množství tepla. Část se **rozptýlí**, částice, vlákna nebo buňky uvnitř ji odrazí do nového směru. A část **projde**, vstoupí jednou stranou a vyjde druhou. Sledujte fotony níže. Čirým sklem projdou téměř všechny rovně. V mléce se odrážejí, dokud nenajdou cestu ven. Ve dřevě se sotva dostanou dovnitř, než jsou pohlceny.

To dává jednoduchý způsob, jak popsat jakýkoli materiál pouhými dvěma otázkami. Jak moc uvnitř světlo **rozptyluje**? Jak moc **pohlcuje**? Materiál, který nedělá ani jedno, je **průhledný**: vzduch, voda, čiré sklo, diamant. Ten, který pohlcuje, ale nerozptyluje, je průhledný, ale zabarvený, jako sluneční brýle nebo červené víno. Ten, který hodně rozptyluje, ale málo pohlcuje, je **průsvitný**: matné sklo, vosk svíčky, mléko, kůže, mrak. A ten, který dělá hodně obojího, je **neprůhledný**. Třetí číslo, **index lomu**, určuje, jak moc se světlo na povrchu láme a odráží, a dostaneme se k němu v části 8.

Co je průhlednost?

Materiál je **průhledný**, když jím světlo prochází bez rozptylu, takže si zachová směr a vy skrz něj vidíte jasný obraz. Ta poslední část je skutečný test. Matné sklo propustí spoustu světla, ale zamíchá směry, takže vidíte jas bez obrazu. Množství světla, které projde bez jediného rozptylu, klesá exponenciálně s tloušťkou a silou rozptylu, a to je světlo, které nese obraz. Všimněte si na obrázku dalšího detailu: skrz matné sklo zůstávají věci, které se ho dotýkají, poměrně ostré, a věci daleko za ním se rozplývají. Rozptýlené směry se rozbíhají tím víc, čím dál musí světlo k objektu putovat, a proto sprchové dveře skryjí místnost, ale ne ruku přitisknutou na sklo.

Průhledné neznamená bezbarvé. Průhledný materiál může stále **pohlcovat**, a když pohlcuje některé vlnové délky víc než jiné, je zabarvený. Pravidlem je Beerův–Lambertův zákon: každý centimetr materiálu odebere stejný *podíl* zbývajícího světla, takže propuštěné světlo klesá s hloubkou exponenciálně, zvlášť pro každou barvu. Proto je tenká sklenice čaje zlatá a plná konvice skoro černá a proto voda sama, která pohlcuje červenou o něco víc než modrou, pod několika metry zbarví vše do modrozelena. Kameramani pod vodou ztrácejí červenou jako první a přesně proto patří červené filtry a světla do jejich výbavy.

Světlo procházející objektem

**Propustnost** je podíl světla, které projde objektem. Ani dokonale čiré sklo nikdy nepropustí všechno, protože každý povrch trochu odráží. Kolik, závisí na úhlu. Podívejte se přímo dolů do jezera a uvidíte kameny na dně; podívejte se přes něj k vzdálenému břehu a stane se zrcadlem oblohy. Francouzský fyzik Augustin-Jean Fresnel odvodil vzorec ve 20. letech 19. století a Fresnelovy rovnice jsou dodnes jádrem každého fyzikálně založeného rendereru. U skla se asi 4 % světla odrazí při kolmém pohledu a odraz strmě roste ke 100 %, jak se úhel stává klouzavým.

Proto má každý 3D balík ovladač **propustnosti**. V Principled BSDF v Blenderu se jmenuje Transmission Weight, ve Standard Surface v Autodesk Arnoldu Transmission a Redshift, V-Ray i Unreal Engine mají vlastní verze. Zvyšte ho a povrch přestane světlo difuzně rozptylovat a místo toho ho propustí. Nastavení, která k němu patří, jsou vždy stejná hrstka: **IOR**, který určuje, jak moc se láme a odráží; **drsnost**, která z čirého skla udělá matné; **barva a hloubka**, které nastavují Beerovu–Lambertovu absorpci; a v některých rendererech hodnota **disperze**, která štěpí barvy. Panel níže je maketa těchto běžných ovladačů řídící malý ray tracer, abyste cítili, co každý z nich dělá.

Co je lom?

**Lom** je ohyb světla při přechodu z jednoho materiálu do druhého. Proto brčko ve sklenici vody vypadá zlomené, proto bazén vypadá mělčí, než je, a proto objektiv vůbec dokáže zaostřit. Míra ohybu se řídí **Snellovým zákonem**: n₁ · sin θ₁ = n₂ · sin θ₂, kde θ je úhel od kolmice k povrchu a n je index lomu každého materiálu. Při vstupu do hustšího materiálu, jako je voda nebo sklo, se světlo ohýbá ke kolmici. Při výstupu se ohýbá od ní. Světlo, které dopadne na rozhraní kolmo, se neohne vůbec.

To zastavení na konci křivky je **úplný vnitřní odraz**. Když světlo uvnitř vody nebo skla dopadne na povrch pod úhlem větším než **mezní úhel** (asi 48,6° pro vodu a 41° pro sklo), Snellův zákon nemá řešení a všechno světlo se odrazí zpět dovnitř. Tak optické vlákno vede světlo za roh a proto se diamant třpytí. Potápěčům to dává zvláštní pohled: při pohledu vzhůru zpod hladiny je celá obloha nad ní stlačená do jasného kruhu širokého asi 97°, zvaného **Snellovo okno**, a mimo ten kruh se hladina stává zrcadlem vody pod ní.

Proč se světlo při lomu přesměruje?

Světlo se ohýbá, protože **zpomaluje**. Ve vakuu se šíří asi 300 000 km za vteřinu, ve vodě asi 225 000 a ve skle asi 197 000. Frekvence vlny se na rozhraní změnit nemůže (každý hřeben, který přijde, musí odejít), takže když rychlost klesne, hřebeny se nahustí a vlnová délka se zkrátí. Teď si představte vlnoplochu přicházející pod úhlem. Jeden její konec vstoupí do skla první a zpomalí, zatímco druhý se stále řítí vzduchem. Vlnoplocha se musí natočit, aby zůstala spojitá, a směr šíření, který je vždy kolmý na vlnoplochu, se natočí s ní.

Klasický způsob, jak to pocítit, je dvojice kol na nápravě, která sjíždí z hladké silnice do písku pod úhlem. Kolo, které se dotkne písku první, zpomalí, zatímco druhé jede dál silniční rychlostí, takže se náprava stočí, a než jsou obě kola v písku, celek jede novým, strmějším směrem. Vjeďte kolmo a obě kola zpomalí společně, takže k žádnému stočení nedojde. Vyjeďte z písku zpět a stočí se na druhou stranu. To je lom v jednom obrázku: změna rychlosti přes rozhraní, které se překračuje pod úhlem.

„Zatáčení“ nebo „ohýbání“ světelné vlny

Existuje druhý, krásný způsob, jak vidět totéž, od matematika 17. století Pierra de Fermata: světlo si vždy volí cestu, která trvá **nejkratší dobu**. Představte si plavčíka na pláži, který musí doplavat k plavci v moři. Běh je rychlejší než plavání, takže přímka není nejrychlejší trasa. Je lepší běžet o kus dál po písku a plavat kratší vzdálenost. Přetáhněte bod vstupu do vody a sledujte čas. Nejrychlejší trasa se láme přesně na linii pobřeží a její úhly se řídí Snellovým zákonem s rychlostí běhu a plavání místo rychlostí světla.

Lom nepotřebuje ostré rozhraní. Když se index lomu mění postupně, světlo nepřeskočí do nového směru, ale **zakřivuje se**. Nad rozpálenou silnicí v letním dni je vzduch u asfaltu teplejší a řidší, s mírně nižším indexem, takže paprsky mířící dolů k silnici se plynule ohnou zpět nahoru. Kamera pak vidí oblohu tam, kde by měla být silnice, třpytivou louži „vody“, která je ve skutečnosti fata morgána. Každý kameraman, který točil dlouhou silnici dlouhým objektivem, tohle natočil, spolu s jeho příbuzným, tetelením horkého vzduchu: stejný ohyb, rozechvělý pohybujícími se kapsami teplého vzduchu.

Lom a odraz v duze

**Duha** je lom, odraz a znovu lom uvnitř milionů padajících kapek. Sluneční světlo vstoupí do kapky a ohne se, jednou se odrazí od zadní stěny kapky a při výstupu se ohne znovu. Protože index vody je pro fialovou o něco vyšší než pro červenou, každá barva vyjde pod mírně jiným úhlem. Trik je v tom, že paprsky vstupující v mnoha různých výškách vycházejí téměř všechny pod stejným úhlem, asi 42° od směru proti slunci pro červenou a asi 40,6° pro fialovou. Světlo se v tom úhlu hromadí, a tam tedy vidíme jasný pás.

To jediné pravidlo vysvětluje vše, co na obloze vidíte. Duha je kruh se středem v bodě přesně proti slunci, a proto leží níž, když je slunce vysoko, a zmizí, když je slunce nad 42°. Červená je vně. Uvnitř duhy je obloha jasnější, protože každá kapka posílá část světla do úhlů menších než 42°, a hned vně je tmavší pás zvaný **Alexandrův pás**. Světlo, které se uvnitř kapky odrazí dvakrát, tvoří slabší **vedlejší duhu** asi na 51°, s obráceným pořadím barev. Pro filmaře to má praktické využití: otočte se zády ke slunci a vězte, že duha, kterou vidíte ve zlaté hodině, bude do poledne pryč.

Jedno číslo pro to, jak moc světlo zpomalí

**Index lomu**, IOR, je prostě kolikrát pomaleji se světlo šíří v materiálu než ve vakuu: n = c / v. Vzduch má 1,0003, tak blízko 1, že ho obvykle ignorujeme. Voda má 1,333, běžné okenní a objektivové sklo kolem 1,5 a diamant 2,42, což znamená, že se světlo diamantem plazí méně než poloviční rychlostí než ve vakuu. Čím vyšší číslo, tím víc se světlo při vstupu ohne. Klepněte na materiál a skleněná koule se překreslí s tímto IOR. Sledujte, jak se obrácený obraz uvnitř zmenšuje a kolik povrchu se mění v odraz.

IOR dělá i druhou práci, kterou je snadné přehlédnout: určuje také, jak **odrazivý** je povrch. Při kolmém dopadu je odrazivost ((n − 1) / (n + 1))², takže voda odráží asi 2 %, sklo asi 4 % a diamant asi 17 %. Proto mnoho rendererů používá IOR 1,5, tedy asi 4% odrazivost, jako výchozí pro téměř každý nekov, od plastu po natřené dřevo. Proto také diamant vypadá jasněji než sklo, ještě než se zatřpytí, a proto má kůže s indexem asi 1,4 měkčí lesk, než by měla sklenice vody pod stejným úhlem.

Když se barvy zaostří na různých místech

Index lomu není jedno pevné číslo. Mírně se mění s vlnovou délkou a téměř v každém čirém materiálu je vyšší pro modré světlo než pro červené. Říká se tomu **disperze** a právě ta rozštěpila paprsek na obr. 01. Výrobci skla ji popisují **Abbeovým číslem**: vysoké číslo jako 64 pro korunové sklo znamená malou disperzi, nízké jako 36 pro flintové sklo velkou. Křivky níže jsou počítané ze Sellmeierových vzorců, které výrobci skla publikují, a Abbeova čísla v údaji jsou spočtená z těchto stejných křivek.

V objektivu disperze znamená, že každá barva má vlastní ohniskovou vzdálenost. Modrá se zaostří o něco blíž k objektivu než červená, takže žádná jediná rovina není ostrá pro všechny barvy. To je **podélná (axiální) chromatická vada** a vidíte ji jako fialové a zelené lemy před a za rovinou ostrosti, zvlášť u světelných objektivů naplno otevřených. Klasické řešení z 18. století je **achromatický dublet**: spojka z korunového skla s nízkou disperzí stmelená se slabší rozptylkou z flintového skla s vysokou disperzí. Flint zruší barevný rozptyl korunu, aniž by zrušil celou jeho lámavost, takže se červená a modrá znovu setkají.

Druhý typ, **příčná (laterální) chromatická vada**, mění s barvou *velikost* obrazu, takže červený, zelený a modrý obraz jsou mírně různě velké. Střed rámu je čistý a lemy rostou k okrajům, kde vidíte červené a azurové hrany na tmavých větvích proti jasné obloze. Protože jde jen o škálování barevných kanálů, software ji dokáže dobře odstranit: Adobe Lightroom a Camera Raw mají zaškrtávací políčko Remove Chromatic Aberration a mnoho fotoaparátů ji opravuje v profilu objektivu dřív, než soubor vůbec uvidíte. Compositoři dělají opak a přidávají jí špetku CG prvkům, aby seděly v záběrech natočených skutečnými objektivy, pomocí nodu distorze objektivu s nastavením disperze, jako je ten v compositoru Blenderu.

Světlo soustředěné do jasných vzorů

**Kaustiky** jsou jasné, ostré vzory, které vznikají, když zakřivený průhledný povrch soustředí světlo: tančící síť světla na dně bazénu, jasná skvrna uvnitř stínu sklenky vína, vlnky světla odražené od řeky na spodek mostu. Každá malá vlnka na hladině bazénu funguje jako slabá čočka. Kde se hladina zakřivuje jedním směrem, soustředí světlo do jasné čáry; kde se zakřivuje druhým, rozptýlí ho do matné skvrny. Čím hlubší voda, tím dál světlo po ohybu putuje a tím ostřejší čáry jsou, dokud se ve velkých hloubkách nekříží a znovu nerozmažou.

Kaustiky jsou proslulé obtížností renderování a důvod stojí za to znát, pokud pracujete v CG. Většina moderních rendererů jsou **path tracery**: začínají u kamery, odrážejí paprsky scénou a doufají, že trefí světlo. Kaustiku na podlaze může osvětlit jen cesta, která projde sklem a dopadne přesně na malé slunce, a náhodné odrazy to dělají zřídka, takže výsledkem jsou šumící světlušky. Trasování od světla místo toho, myšlenka za **photon mappingem**, kaustiky najde snadno. Proto mají některé renderery vyhrazené režimy pro kaustiky, proto Blender přidal do Cycles ve verzi 3.2 „shadow caustics“ a proto velká měkká světla dělají kaustiky mnohem snazší k renderování než malé tvrdé slunce.

Co je průsvitnost?

Materiál je **průsvitný**, když jím světlo prochází, ale cestou se rozptyluje, takže spíš září, než ukazuje obraz. Papír, matné sklo, listy, vosk, mramor, nefrit, mléko a kůže jsou všechny průsvitné. Světlo vstoupí, náhodně bloudí mezi vlákny, buňkami nebo částicemi a vyjde někde jinde, často jiným směrem a na jiném místě, než kudy vstoupilo. Proto se zdá, že svíčka září zevnitř, a proto se protisvětlem prosvícený list rozzáří zeleně. Změňte rozptyl níže a můžete desku posunout z průhledné přes průsvitnou až k neprůhledné. Křivka pod ní ukazuje, kde světlo vychází: čím širší, tím měkčí a rozmazanější záře.

V CG se tomu říká **podpovrchový rozptyl**, SSS, a právě díky němu vypadá digitální tvář jako kůže, a ne jako plast. Uvnitř kůže pohlcují krev a tkáň zelenou a modrou mnohem víc než červenou, takže červené světlo doputuje nejdál, než se vrátí ven. Proto má okraj stínu na kůži teplý červený lem a proto uši v protisvětle červeně září. Renderery to nabízejí jako **podpovrchový poloměr** pro každý barevný kanál. Principled BSDF v Blenderu má například výchozí poloměr 1,0, 0,2 a 0,1 pro červenou, zelenou a modrou, násobený měřítkem. Obrázek níže vezme stejné světlo a stín a rozprostře je pod povrchem se třemi různými nastaveními, abyste přesně viděli, odkud to teplo pochází.

Zdroje a další čtení

  • Eugene Hecht, *Optics* (5. vyd., Pearson, 2017): Fresnelovy rovnice, Snellův zákon, Huygensův princip, disperze, duhy
  • Schott AG, datové listy optických skel N-BK7, F2 a SF11 (Sellmeierovy koeficienty), přes refractiveindex.info
  • Richard Feynman, *QED: The Strange Theory of Light and Matter* (Princeton, 1985): nejkratší čas a obraz plavčíka
  • M. G. J. Minnaert, *Light and Color in the Outdoors* (Springer, 1993): duhy, Alexandrův pás, fata morgány, Snellovo okno
  • Blender Manual, „Principled BSDF“ a „Lens Distortion Node“: docs.blender.org
  • Poznámky k vydání Blender 3.2, Cycles „Shadow Caustics“: developer.blender.org
  • Autodesk Arnold User Guide, „Standard Surface“: help.autodesk.com
  • Henrik Wann Jensen, *Realistic Image Synthesis Using Photon Mapping* (A K Peters, 2001)
  • H. W. Jensen, S. Marschner, M. Levoy, P. Hanrahan, „A Practical Model for Subsurface Light Transport“, SIGGRAPH 2001

*Všechny obrázky jsou ilustrace počítané ve vašem prohlížeči, ne fotografie ani screenshoty žádného softwaru. Fyzika v nich (Snellův zákon, Fresnelova odrazivost, Sellmeierova disperze, Beerova–Lambertova absorpce, statistika paprsků v dešťových kapkách, náhodné procházky fotonů) se počítá doopravdy; hodnoty materiálů označené jako ilustrativní jsou zaokrouhlené pro ukázku chování, ne naměřené. Funkce softwaru jsou popsány podle vlastní dokumentace výrobců k říjnu 2026.*

Zpět na blog