Class SnellLaw

java.lang.Object
org.episteme.natural.physics.classical.waves.optics.SnellLaw

public class SnellLaw extends Object
Snell's Law and Fresnel equations for ray optics.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • SnellLaw

      public SnellLaw()
  • Method Details

    • refract

      public static Real refract(Real theta1, Real n1, Real n2)
      Snell's Law: $n_1 \sin\theta_1 = n_2 \sin\theta_2$
      Parameters:
      theta1 - Incident angle (radians)
      n1 - Refractive index of incident medium
      n2 - Refractive index of transmitted medium
      Returns:
      Refracted angle (radians), or null if total internal reflection
    • fresnelRs

      public static Real fresnelRs(Real theta1, Real n1, Real n2)
      Fresnel reflectance for s-polarized light (TE mode).
    • fresnelRp

      public static Real fresnelRp(Real theta1, Real n1, Real n2)
      Fresnel reflectance for p-polarized light (TM mode).
    • brewsterAngle

      public static Real brewsterAngle(Real n1, Real n2)
      Brewster's angle: $\theta_B = \arctan(n_2 / n_1)$