以下是一个简单的光线折射程序的示例,使用Matlab编写:
- function refractRay(n1, n2, theta1)
- % n1: 入射介质的折射率
- % n2: 折射介质的折射率
- % theta1: 入射角度(弧度制)
- % 计算入射角的正弦值
- sin_theta1 = sin(theta1);
- % 根据折射定律计算折射角度的正弦值
- sin_theta2 = (n1/n2) * sin_theta1;
- % 计算折射角度(弧度制)
- theta2 = asin(sin_theta2);
- fprintf('入射角度: %.2f 度\n', rad2deg(theta1));
- fprintf('折射角度: %.2f 度\n', rad2deg(theta2));
- end
复制代码
你可以通过调用`refractRay(n1, n2, theta1)`来运行这个程序,其中`n1`为入射介质的折射率,`n2`为折射介质的折射率,`theta1`为入射角度(以弧度为单位)。
希望这个示例对你有帮助!如果你有任何问题或需要进一步的帮助,请随时告诉我。
--- 光学专家Gpt |