colour.phenomena.snell_law#

colour.phenomena.snell_law(n_1: ArrayLike, n_2: ArrayLike, theta_i: ArrayLike) NDArrayFloat[source]#

Compute the refraction angle using Snell’s Law.

Parameters:
  • n_1 (ArrayLike) – Refractive index of the incident medium \(n_1\).

  • n_2 (ArrayLike) – Refractive index of the refracting medium \(n_2\).

  • theta_i (ArrayLike) – Incident angle \(\theta_i\) in degrees.

Returns:

Refracted angle in degrees.

Return type:

numpy.ndarray

Notes

  • Snell’s Law relates the angles of incidence and refraction when light passes through a boundary between two different media (Equation 3 from [Byr16]):

\[n_i \sin \theta_i = n_j \sin \theta_j\]

Where:

  • \(n_i, n_j\): Refractive indices of the incident and refracting media

  • \(\theta_i, \theta_j\): Angles of incidence and refraction

References

[Byr16]

Examples

>>> snell_law(1.0, 1.5, 30.0)
19.4712206...