Octave已知折射率,求折射角
广告
{{v.name}}
1. 折射定律(斯涅尔定律)
\(n_1\sin i = n_2\sin r\)
核心公式:
折射定律描述了光从一种介质进入另一种介质时传播方向的改变。
\(n\)为折射率,等于真空中光速\(c\)与介质中光速\(v\)之比:\(n=\dfrac{c}{v}\)。
已知入射介质的折射率\(n_1\)、折射介质的折射率\(n_2\)和入射角\(i\)(度),即可求出折射角\(r\)。
Octave计算方法
已知参数:
- 入射介质折射率 \(n_1\)(示例值:1.0,空气)
- 折射介质折射率 \(n_2\)(示例值:1.5,玻璃)
- 入射角 \(i\)(度,示例值:30°)
代码如下:
function r = refraction_angle(n1, n2, i_deg)
i_rad = deg2rad(i_deg);
r_rad = asin(n1 * sin(i_rad) / n2);
r = rad2deg(r_rad);
end
调用示例:
% 已知折射率,求折射角
n1 = 1.0; n2 = 1.5; i = 30;
r = refraction_angle(n1, n2, i);
fprintf('折射角 r = %.2f°', r);
运行结果:
折射角 r = 19.47°