像差计算程序.docx
- 文档编号:2390475
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:10
- 大小:1.03MB
像差计算程序.docx
《像差计算程序.docx》由会员分享,可在线阅读,更多相关《像差计算程序.docx(10页珍藏版)》请在冰点文库上搜索。
像差计算程序
像
差
计
算
程
序
课
程
设
计
班级:
学号:
姓名:
摘要:
本程序能计算多个面的五条光线的球差,计算之后能够输出各面球差曲线。
关键词:
球差程序
目录
摘要I
关键词I
目录II
第一章绪论1
1.1背景及意义1
1.2设计目的及要求1
1.2.1设计目的1
1.2.2设计要求1
第二章项目分析及介绍3
2.1光路计算方法3
2.2程序数据模型分析5
第三章程序构架6
3.1数据输入模块6
3.2计算模块7
3.3显示模块9
3.4绘图模块10
第四章总结11
参考文献12
第一章绪论
1.1背景及意义
光路计算程序课程设计作为一个交叉学科的课程设计。
程序设计是计算机专业或其他信息类专业学生的一项基本技能,应用光学是我们光信息科学与技术的专业课,而光路计算是这门专业课最实际的应用。
通过学习知道,手工计算光路是一项相当繁琐的任务,可以可以利用,来轻松解决光路计算。
通过光路计算程序课程设计,我们不仅可以提升编程能力,更能够加深我们对光路计算以及应用光学实际的问题的理解。
另外,他能还能培养我们对这种交叉学科的兴趣,以计算机为工具,加速我们光信息科学与技术专业的发展。
1.2设计目的及要求
1.2.1设计目的
运用MicrosoftVisualC++6.0,设计一款基于MFC对话框的程序,用来计算简单的光路。
1.2.2设计要求
●能自动判断输入面数。
●面数大于3需要逐面添加结构参数
计算五条带光的球差并绘制球差曲线,并且可以查看各面各参数。
第二章项目分析及介绍
2.1光路计算方法
本次课程设计可只考虑近轴光和实际光的的计算。
所有公式参考自【1】
实际光线计算(分为无限远和有限远两种情况):
a)
有限远计算公式见图2.1
图2.1有限远实际光线光路计算公式
b)无限远计算公式见图2.2
图2.2无限远实际光线光路计算公式
近轴光线光路计算公式见图2.3
图2.3近轴光线光路计算公式
复杂的系统由多个折射面构成,必须解决折射面与折射面之间的过渡问题。
过渡公式如图2.4所示。
图2.4过渡公式
2.2程序数据模型分析
因为要处理较多的数据,计算过程较为繁杂,所以将每个面的所有数据定位一个结构体,并且便与后续开发。
并定义一个这个数组的动态数组,便与用户自定面数。
定义情况如图2.5所示。
图2.5单个面的所有参数
第三章程序构架
3.1数据输入模块
程序为了方便默认了三个面的结构参数输入框,对于少于3个面的光学系统,可以直接输入,如图3.1所示。
图3.1输入界面
如果面数大于3则需点开ToAdd按钮再右侧继续单面输入,如图3.2所示。
图3.2多面输入界面
正确填入数据后即可点击“计算/列表”按钮,录入、计算、显示。
自动判断面数将数组存在m_data的动态数组成员变量中。
对于大于三面的光学系统,数据录入略有不同。
即在点击“添加”按钮后需要在动态数组后面再新增一个结构体变量。
3.2计算模块
对于计算单独使用了一个类CSUAN处理,使用这个类时只需传入前一个面,后一个面的各种参数即可。
传入的数据将在构造函数取出。
CSUAN的声明为
CSUAN:
:
CSUAN(inti,COUNTDATA*m_data1,COUNTDATA*m_data2)
计算过程结构如图3.3所示:
图3.3计算过程
在计算之前各面的各种参数中有很多是没有经过计算的空值。
所以在计算一次后都将新数据重新存进面结构体的动态数组中。
m_data.SetAt(facenumber,newdata);
这样更新的数据就可以被调用了。
3.3显示模块
在计算好的面结构体动态数组中,已经存放了各种数据。
新建一个类CRESULT用于显示。
显示用对话框如图3.4所示。
3.4显示对话框
●在其构造函数中获得数据
CLightDlg*pdlg=(CLightDlg*)pParent;
m_datapArray=&(pdlg->m_data);
●在上面一个表格中显示结构参数,便与用户核对。
●在下面一个表格中显示各种计算结果,包括入射角、出射角、球差、像方截距、像方孔径角。
用户点击上方表格的各面结构时,在下方表格可即时查看其相应数据。
如果弹出了球差曲线显示对话框,可以即时查看对应面的球差曲线。
效果如图3.5所示。
3.5即时查看任意面示意图
3.4绘图模块
绘图与3.3的显示类似,在计算好的面结构体动态数组中,已经存放了各种数据。
新建一个类CPLOT用于绘图。
默认点开显示窗口的“球差图像”按钮后显示最后一面球差曲线,在显示窗口的上方表格中点击相应面,可以查看相应面球差对应结果。
如图3.5所示。
点击图像对话框的“同时显示”按钮可以查看所有面的球差曲线。
第4章总结
经过这次课程设计让我真正认识到计算机的强大计算能力,但是要用好它必须学好编程语言,这次课程设计不仅加深了对基本原理的理解,同时在不断调试程序过程中发现问题并解决问题,从而增强了编程能力。
参考文献
[1]张以谟主编.应用光学(第三版).北京:
电子工业出版社.2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 程序