Lesson 1 of 15

Snell's Law

Snell's Law

When light travels from one transparent medium into another, it changes direction. This bending of light at an interface is called refraction, and the relationship between the angles is described by Snell's Law.

The Law

n1sinθ1=n2sinθ2n_1 \sin\theta_1 = n_2 \sin\theta_2

Where:

  • n1n_1 is the refractive index of the first medium
  • n2n_2 is the refractive index of the second medium
  • θ1\theta_1 is the angle of incidence (measured from the normal)
  • θ2\theta_2 is the angle of refraction (measured from the normal)

Refractive Index

The refractive index nn of a medium is defined as the ratio of the speed of light in vacuum to the speed of light in that medium:

n=cvn = \frac{c}{v}

MediumRefractive Index
Vacuum1.000
Air~1.0003
Water1.333
Glass (typical)1.5
Diamond2.42

Solving for the Refracted Angle

Rearranging Snell's Law to find θ2\theta_2:

θ2=arcsin ⁣(n1sinθ1n2)\theta_2 = \arcsin\!\left(\frac{n_1 \sin\theta_1}{n_2}\right)

Critical Angle and Total Internal Reflection

When light moves from a denser medium (n1>n2n_1 > n_2) to a less dense medium, at a certain angle the refracted ray runs along the boundary. This is the critical angle θc\theta_c:

θc=arcsin ⁣(n2n1)(n1>n2)\theta_c = \arcsin\!\left(\frac{n_2}{n_1}\right) \quad (n_1 > n_2)

For angles of incidence greater than θc\theta_c, no light escapes — this is total internal reflection, the principle behind optical fibers and diamond sparkle.

Your Task

Implement the two functions below using math.asin, math.sin, math.degrees, and math.radians.

Python runtime loading...
Loading...
Click "Run" to execute your code.