snell3d

Refraction of light at a surface in 3D vector form

You are now following this Submission

Implementation of tutorial found on
http://starkeffects.com/snells-law-vector.shtml

s2 = snell3d(n1,n2,s1,N)
n1,n2: refractive indexes of first medium and surface respectively
s1: incident ray vector (xyz vector, will be normalized and made column)
N: surface normal (xyz vector, will be normalized and made column)
s2: refracted ray (normalized xyz vector)

Cite As

Duijnhouwer (2026). snell3d (https://in.mathworks.com/matlabcentral/fileexchange/80422-snell3d), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with R2019b and later releases

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.1

added icon

1.2.0

Fixed bug where function relied on idiosyncratic normalize function that happened to reside on my path!

1.1.0

Made sure vector 2-norm is used for normalization

1.0.1

Examples in help

1.0.0