**Snellov zákon** alebo **Snellov zákon lomu** je jeden zo základných zákonov geometrickej optiky; opisuje lom lúča svetla (či všeobecnejšie elektromagnetického žiarenia) na rovinnom rozhraní. Je pomenovaný podľa holandského fyzika Willebrorda Snellia.

Znenie zákona
-------------

**Lom svetla**
Ak lúč prechádza z prostredia s indexom lomu {\displaystyle n\_{1}} pod uhlom {\displaystyle \theta \_{1}} do prostredia s indexom lomu {\displaystyle n\_{2}}, zalomí sa pod uhlom {\displaystyle \theta \_{2}}:

{\displaystyle \sin {\theta \_{1}}n\_{1}=\sin {\theta \_{2}}n\_{2}}
{\displaystyle \sin {\theta \_{2}}=\sin {\theta \_{1}}{\frac {n\_{1}}{n\_{2}}}}
Je zrejmé, že sínus uhla {\displaystyle \theta \_{2}} môže byť najviac 1. Ak je uhol {\displaystyle \theta \_{1}} dostatočne veľký a {\displaystyle n\_{1}>n\_{2}}, môže nastať situácia, keby {\displaystyle \sin {\theta \_{2}}} vychádzal väčší ako 1. Vtedy sa svetlo neláme a do druhého prostredia vôbec neprechádza. Hovoríme o takzvanom úplnom (totálnom) odraze (reflexii), pretože všetko dopadajúce svetlo sa odrazí podľa zákona odrazu. 

Pre medzný uhol {\displaystyle \theta \_{1}}, kedy sa svetlo prestáva lámať, platí:

{\displaystyle \sin {\theta \_{1}}={\frac {n\_{2}}{n\_{1}}}}
Pre prechod z prostredia do prostredia je užitočný zápis pomocou rýchlostí. Vieme, že pre rýchlosť šírenia svetla v prostredí platí:

{\displaystyle v\_{i}=c/n\_{i}}
Zákon lomu možno preto upraviť na tvar:

{\displaystyle {\frac {\sin {\theta \_{1}}}{\sin {\theta \_{2}}}}={\frac {n\_{2}}{n\_{1}}}={\frac {v\_{1}}{v\_{2}}}}

Odvodenie
---------

Snellov zákon sa zvyčajne odvodzuje pomocou **princípu najmenšieho času**.

Princíp najkratšieho času nie je fyzikálny zákon v pravom zmysle slova. Formuloval ho francúzsky matematik Pierre de Fermat okolo r. 1650. Podľa neho, svetlo sa šíri z bodu A do bodu B po takej trajektórii, aby do bodu B prišlo za čo najkratší čas. V súčasnosti sa slovo *najkratší* často nahradzuje slovom *extremálny*.

Zaveďme si, že bod A sa nachádza v kolmej vzdialenosti {\displaystyle a\_{\perp }} od roviny optického rozhrania, bod B v kolmej vzdialenosti {\displaystyle b\_{\perp }} na druhej strane rozhrania a ich vzdialenosť v smere roviny rozhrania je {\displaystyle d\_{=}}. Najkratšia dráha sa zrejme bude nachádzať v rovine kolmej na rovinu rozhrania. Preto uvažujme to. Ďalej predpokladajme, že lúč dopadá vo vzdialenosti x od päty kolmice na A do nejakého bodu X. Lúč sa bude pohybovať po úsečke AX a potom po úsečke XB. Čas, za aký prejde lúč z bodu A do bodu B po tejto trajektórii bude:

{\displaystyle t={\frac {\sqrt {a\_{\perp }^{2}+x^{2}}}{v\_{1}}}+{\frac {\sqrt {b\_{\perp }^{2}+(d\_{=}-x)^{2}}}{v\_{2}}}}
Chceme zistiť, kde musí ležať bod X, a teda aká musí byť vzdialenosť x, aby bol tento čas minimálny. Preto tento čas zderivujeme podľa premennej x a túto deriváciu položíme rovnú 0:

{\displaystyle {\frac {\mathrm {d} t}{\mathrm {d} x}}={\frac {x}{v\_{1}{\sqrt {a\_{\perp }^{2}+x^{2}}}}}-{\frac {d-x}{v\_{2}{\sqrt {b\_{\perp }^{2}+(d\_{=}-x)^{2}}}}}=0}
Ak si nakreslíme obrázok, vidíme že niektorého výrazy v našej rovnici sa dajú nahradiť funkciami uhlov. Výraz sa tak zjednoduší na:

{\displaystyle {\frac {\sin {\theta \_{1}}}{v\_{1}}}={\frac {\sin {\theta \_{2}}}{v\_{2}}}}
Dostávame Snellov zákon:

{\displaystyle {\frac {\sin {\theta \_{1}}}{\sin {\theta \_{2}}}}={\frac {v\_{1}}{v\_{2}}}={\frac {n\_{2}}{n\_{1}}}}

Praktické následky
------------------

* Index lomu vzduchu je síce len málo odlišný od 1, ale predsa len väčší ako 1. To spôsobuje, že slnečné lúče sa v atmosfére lámu. Pri obzore sa slnko zdá byť o 1/2° vyššie, ako v skutočnosti je. Slnko sa taktiež javí sploštené.
* Za predpokladu, že rýchlosť šírenia svetla v prostredí sa mení lineárne (napr. hustnúci vzduch v atmosfére), dá sa ukázať, že trajektóriou lúča je kružnicový oblúk.
* V dôsledku prehriatia vzduchu nad horúcimi povrchmi môže ich index lomu poklesnúť. Takto môže vo vzduchu dochádzať k totálnemu odrazu, ktorý nazývame fatamorgána.
* Snellov zákon možno použiť na optimalizáciu trajektórie telies aj v mechanike. Typickou úlohou na tento problém je optimalizácia dráhy Boba, ktorý beží za Alicou, pričom musí prebehnúť pás bahna, pás poľa a pás lúky a v každom páse sa pohybuje inou rýchlosťou. Bob chce vedieť, po akej dráhe má bežať, aby za Alicou prišiel za čo najkratší čas.