本文将针对光的三棱镜色散进行介绍,并介绍如何用 MATLAB 对其进行仿真实现,色散是指不同波长的光在介质中传播时,由于介质的折射率与波长有关而出现的折射角度不同的现象,一般分为自然色散和人工色散两种。
在人工色散中三棱镜是一种常用的色散元件,当光线入射到三棱镜上时,由于不同波长的光在三棱镜内反射的次数和位置不同,导致光路长度和折射角度也不同,从而使得不同波长的光分离出来。
下面给出三棱镜色散的 MATLAB 仿真实现代码:
clc; clear all; close all;
%% 参数设置
n = 1.5; % 三棱镜介质折射率
L = 3e-2; % 三棱镜长
h = 0.5e-2; % 三棱镜高
t = 0.5e-2; % 左右底面到上底面的距离
lamda_min = 400e-9; % 最小波长
lamda_max = 700e-9; % 最大波长
dlamda = 1e-9; % 波长间隔
theta = 45; % 入射角
%% 光线追踪
N = (lamda_max - lamda_min) / dlamda + 1; % 光谱点个数
lamda = lamda_min : dlamda : lamda_max; % 波长序列
for k = 1:N