snell3d

Version 1.2.1 (1.35 KB) by Duijnhouwer
Refraction of light at a surface in 3D vector form
100 Downloads
Updated 1 Oct 2020

View License

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 (2024). snell3d (https://www.mathworks.com/matlabcentral/fileexchange/80422-snell3d), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with R2019b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
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