cos_snell

iadpython.fresnel.cos_snell(n_i, nu_i, n_t)[source]

Return the cosine of the transmitted angle.

Snell’s law states

\[n_i\sin(\theta_i) = n_t \sin(\theta_t)\]

but if the angles are expressed as cosines, \(\nu_i = \cos(\theta_i)\) then

\[n_i\sin(\cos^{-1}\nu_i) = n_t \sin(\cos^{-1}\nu_t)\]

Solving for \(\nu_t\) yields

\[\nu_t = \cos(\sin^{-1}[(n_i/n_t) \sin(\cos^{-1}\nu_i)])\]

which is pretty ugly. However, note that

\[\sin(\cos^{-1}\nu) = \sqrt{1-\nu^2}\]

and the above becomes

\[\nu_t = \sqrt{1-(n_i/n_t)^2 (1- \nu_i^2)}\]
Parameters:
  • n_i – index of refraction of incident medium

  • nu_i – cosine of angle of incidence

  • n_t – index of refraction of transmitted medium

Returns:

cosine of transmitted angle