Engineering & Scientific
Snell’s Law Refraction Angle & Total Internal Reflection (TIR) Critical Angle
Calculate optical refraction angle theta_2 and Total Internal Reflection critical angle theta_c = DEGREES(ASIN(n_2 / n_1)) across planar dielectric interfaces with radian-degree conversion and ASIN domain guards.
Why ASIN throws #NUM! above the critical angle when light exits a denser medium
Across a boundary between refractive indices n_1 and n_2, Snell’s law conserves tangential wavevector n_1 * sin(theta_1) = n_2 * sin(theta_2), where angles are measured from the surface normal. Because Excel and Arte Sheets trigonometric functions SIN and ASIN operate in radians, incident degrees must be wrapped in RADIANS(theta_1) and inverse sine wrapped in DEGREES(ASIN(...)).
When light propagates from high-index glass or fiber core into lower-index cladding or air (n_1 > n_2), sin(theta_2) = (n_1 / n_2) * sin(theta_1) reaches unity at critical angle theta_c = arcsin(n_2 / n_1). Any incident angle theta_1 > theta_c drives (n_1 / n_2) * sin(theta_1) > 1, causing unguarded ASIN to fail with #NUM! when physically 100% of optical power undergoes Total Internal Reflection (TIR).
| Interface Case | n_1 -> n_2 & Incident theta_1 | sin(theta_2) Ratio | Optical Outcome |
|---|---|---|---|
| Crown Glass -> Air (Sub-Critical) | 1.50 -> 1.00 at 30.00 deg | 0.7500 | Refracted at 48.59 deg (theta_c = 41.81 deg) |
| Crown Glass -> Air (Super-Critical) | 1.50 -> 1.00 at 45.00 deg | 1.0607 (> 1) | TOTAL_INTERNAL_REFLECTION |
| Air -> Crown Glass (External) | 1.00 -> 1.50 at 30.00 deg | 0.3333 | Refracted at 19.47 deg (NO_TIR_CRITICAL) |
Total Internal Reflection Critical Angle Formula (Degrees)
Check whether n_1 > n_2; if n_1 <= n_2, TIR cannot occur across any real incident angle, otherwise evaluate DEGREES(ASIN(n_2 / n_1)).
=IF(B2 <= B3, "NO_TIR_CRITICAL", ROUND(DEGREES(ASIN(B3 / B2)), 2))Domain-Guarded Snell’s Law Refracted Angle Formula
Bind sin_ref = (n_1 / n_2) * SIN(RADIANS(theta_1)) inside LET and guard ABS(sin_ref) > 1 before calling ASIN.
=LET(sin_ref, (B2 / B3) * SIN(RADIANS(B4)), IF(ABS(sin_ref) > 1, "TOTAL_INTERNAL_REFLECTION", ROUND(DEGREES(ASIN(sin_ref)), 2)))Try the example
Use the original values or change them to test your understanding.