一、设计目的

①熟悉光学系统像差的概念,产生的原因和对光学系统成像质量的影响;

②掌握各种几何像差的定义和基本理论;

③加深理解子午面内的光线光路计算。

二、设计要求

设计利用Matlab,运用光路计算方法计算双胶合透镜的球差。

三、基本原理

I.球差成因及危害

由于透镜中间部分与边缘部分顶角大小不同,使光透过时发生的偏向角大小不同,致折射光与主轴的焦点不重合而产生球差;它的存在影响光学成像系统的清晰度、相似性和色彩逼真度等。

II.轴上物点近轴光线的光路计算

①近轴光路像方参数计算:

[注]:i为入射角,i'为折射角;n为透镜前方折射率,n'为透镜后方折射率,r为曲率半径;u为孔径角,u’为折射孔径角。

②近轴k个折射面组成光路计算由前一个面过渡公式:

III.轴上物点远轴光线的光路计算

①远轴光路像方参数计算:

②远轴k个折射面组成光路计算由前一个面过渡公式:

整理得到,

四、设计实现

I.代码

clc;clear;
[nD1,nD3,nF1,nF3,nC1,nC3]=deal(1.51470,1.67270,1.52067,1.68749,1.51218,1.66662);%多参数连续赋值
[hm1,h11,LC1]=f(nD1,nD3);%D光透镜相差
[hm2,h12,LC2]=f(nF1,nF3);%F光透镜相差
[hm3,h13,LC3]=f(nC1,nC3);%C光透镜相差
plot(LC1,h11/hm1,'b-');
title('D光F光C光球差曲线')
hold on
plot(LC2,h12/hm2,'r--');
hold on
plot(LC3,h13/hm3,'g--');
plot([0,0],[0,1],'k');
legend('D光球差曲线','F光球差曲线','C光球差曲线');
function [hm,h1,LC]=f(nD1,nD3)%3个镜面球差计算函数
r1=61.857189;r2=-43.831719;r3=-128.831547;
d1=1.9433;d2=1.1;n=1.000;
hm=20;
%定义主要参数
h1=linspace(0.01,hm,1000); u1=0;
%D(F、C)光近轴
%D(F、C)光近轴第一镜面成像参数
i1=h1./r1;
i11=n.*i1./nD1;
u11=u1+i1-i11;
l11=(i11.*r1)./u11+r1;
%D(F、C)光近轴第二面镜成像参数
l2=l11-d1;
i2=(l2-r2).*u11./r2;
i21=nD1.*i2./nD3;
u21=u11+i2-i21;
l21=r2+r2.*i21./u21;
%D(F、C)光近轴在第三镜面成像参数
l3=l21-d2;
i3=(l3-r3).*u21./r3;
i31=nD3.*i3./n;
u31=u21+i3-i31;
l31=r3+r3.*i31./u31;
%D(F、C)光远轴
%计算初值为L1=inf,U1=0,sinI1=h1/r1;
%D(F、C)光远轴在第一镜面成像参数
I1=asin(h1./r1);
I11=asin(n.*sin(I1)./nD1);
U11=0+I1-I11;
L11=r1+(r1.*sin(I11)./sin(U11));
%D(F、C)光远轴在第二镜面成像参数
L2=L11-d1;
U2=U11;
I2=asin((L2-r2).*sin(U2)./r2);
I21=asin(nD1.*sin(I2)./nD3);
U21=U2+I2-I21;
L21=r2+(r2.*sin(I21)./sin(U21));
%D(F、C)光远轴在第三镜面成像参数
L3=L21-d2;
U3=U21;
I3=asin((L3-r3).*sin(U3)./r3);
I31=asin(nD3.*sin(I3)./n);
U31=U3+I3-I31;
L31=r3+(r3.*sin(I31)./sin(U31));
%理想值减实际值得球差
LC=l31-L31;
end

II.仿真结果:

Matlab在透镜像差计算中的应用相关推荐

  1. matlab 水文,MATLAB在水文水能计算中的应用

    第 25卷第 1期 2006年第 1期 红水河 HongShui River V01.25.No.1 No.1.20o6 MATLAB在水文水能计算中的应用 黄飞仁 ,黄汉球2,曾英先 (1.广西水电 ...

  2. matlab 水利,Matlab在水力仿真计算中的应用.kdh.pdf

    ISSN 1009-3044 E-mail: eduf@ 第 卷第 期 年 月 6 3 (2010 1 ) Computer Knowledge and Technology 电脑知识与技术 Comp ...

  3. matlab光线追击,MATLAB在追迹光线计算中的应用

    原标题:MATLAB在追迹光线计算中的应用 李理,刘 健,彭广威,曾斌 (湘潭大学新材料研究中心,湖南湘潭411105) 摘要:给出了理想光具组系统矩阵的MATLAB计算程序,并借助MATLAB进行光 ...

  4. 全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.Python 会有哪些最为独特的优势呢?又存在哪些让开发者无力的缺陷?在本文中,我们将 ...

  5. python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...

  6. matlab 梯度图像,快速计算matlab中图像的梯度

    感谢您的所有答案和有用的建议.我采纳了pseudoDust的建议,Hugues,Dima和高性能标记并写我自己的代码.下面我的代码中给出: clc;clear all;close all; x=32; ...

  7. matlab 与 python 在科学计算中的区别比较

    本文以求解拟一维喷管流动为例,比较两者在科学计算中的区别. 感受:matlab矩阵实验室在求解矩阵方面具有得天独厚的优势,尤其是在矩阵之间的运算方面.求解方程过程中,能够明显感觉到编程给人带来的快感, ...

  8. matlab中变压器电感基值公式,基于MATLAB的变压器短路阻抗计算.pdf

    基于MATLAB的变压器短路阻抗计算 第 卷 第 期 电力机车与城轨车辆 45 6 2)"9 45 :)9 6 年 月 日 !"#$%&'$ ()$)*)%'+#, - . ...

  9. 水击计算的matlab程序,MATLAB GUI在油库管道水击压力计算中的应用

    MATLAB GUI在油库管道水击压力计算中的应用 于聪聪 [浙江海洋学院石油化工学院 浙江舟山 316000] 收稿日期:2010 - 08 - 11.作者简介:于聪聪(1989 - ) ,女 ,本 ...

最新文章

  1. nodejs渐入佳境[27]-express+mongodb+middleware实现密码哈希
  2. leetcode算法题--飞地的数量
  3. CPropertyPage::OnSetActive()和OnKillActive()函数:属性页切换时的处理函数
  4. 高级ZK:异步UI更新和后台处理–第2部分
  5. c#调api串口通讯
  6. java remove map_Java HashMap remove()方法
  7. mysql5.6找不到int_为什么在mysql 5.6中,在int字段上自动递增跳过“2147483646”?
  8. WEB前端性能优化基本套路
  9. ppt转换成pdf软件免费版
  10. python源代码文件加密
  11. Nmap扫描和识别服务
  12. PYTHON-音视频合并方法
  13. Python数据分析项目实例5: 分析某餐饮企业的订单详情表数据(基于matplotlib的python数据可视化分析)
  14. OSChina 周日乱弹 —— 我重新说
  15. 【JAVA学习】六、设计模式
  16. 豆瓣十年,一个典型精英社区的起伏兴衰
  17. 如何鉴别交换机的优劣好坏?您可以从这十方面去评判!
  18. java与python两个小人动图_CSS Sprite小图片自动合并工具(NodeJS,Python,Java,Ruby)
  19. 2020vue运行出现ESLint is disabled since its execution has not been approved or denied yet. Use the ligh
  20. 为什么我连接到Wi-Fi但不能连接到Internet?

热门文章

  1. 判断mac是MacOS X64 或者MacOS ARM64
  2. python re match返回值_Python re正则表达式学习
  3. ESP8266Wi-Fi接入云平台
  4. win7系统启动到一半停止_电脑开机到一半就重启的解决方法
  5. ArcGIS工具提取CAD节点高程等属性标注——在排水建模中的应用
  6. 自然语言生成:解决低频Tokens退化整个Tokens模型问题
  7. 教程篇(6.0) 13. 数据泄露预防 (DLP) ❀ FortiGate 安全 ❀ Fortinet 网络安全专家 NSE 4
  8. [POJ 1417] True Liars
  9. 做好软件测试才能提升应用质量
  10. vue实现动态路由俩种方式