资源简介

纯matlab代码,模拟平凸透镜的光线追迹,里面有详细注释供大家参考

资源截图

代码片段和文件信息

clear;clc
%平凸透镜光线追迹
n=1.5062;%材料为k9玻璃,对1064nm波长的折射率
d=3;%透镜中心厚度
R=100;%透镜凸面曲率半径
Dr=sqrt(R^2-(R-d)^2);%透镜尺寸(最大半径)
mh=100;
if Dr>10
    hmax=10;
else 
    hmax=Dr;
end
h0=linspace(-hmaxhmaxmh);
mz=1000;
z0=20;%初始光线到透镜平面的距离
y=zeros(size(z0));
theta1=asin(hmax/R);
theta2=asin(n*hmax/R);
theta=theta2-theta1;
f=hmax/tan(theta);%透镜的近似焦距
z=linspace(0f+z0+f/3mz);
for gh=1:mh
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         858  2020-03-18 10:21  模拟平凸透镜的光线追迹.m

评论

共有 条评论