20 #ifndef ANTKEEPER_PHYSICS_LIGHT_REFRACTION_HPP
21 #define ANTKEEPER_PHYSICS_LIGHT_REFRACTION_HPP
42 return a + b / (lambda * lambda);
59 const T lambda2 = lambda * lambda;
60 return a + b / lambda2 + c / (lambda2 * lambda2);
78 const T lambda2 = lambda * lambda;
80 const T t1 = (b1 * lambda2) / (lambda2 - c1);
81 const T t2 = (b2 * lambda2) / (lambda2 - c2);
101 T
sellmeier(T lambda, T b1, T c1, T b2, T c2, T b3, T c3)
103 const T lambda2 = lambda * lambda;
105 const T t1 = (b1 * lambda2) / (lambda2 - c1);
106 const T t2 = (b2 * lambda2) / (lambda2 - c2);
107 const T t3 = (b3 * lambda2) / (lambda2 - c3);
vector< T, N > sqrt(const vector< T, N > &x)
Takes the square root of each element.
T cauchy(T lambda, T a, T b)
Two-term form of Cauchy's transmission equation.
T sellmeier(T lambda, T b1, T c1, T b2, T c2)
Two-term form of the Sellmeier equation.