像差计算程序.docx

上传人:b****1 文档编号:2390475 上传时间:2023-05-03 格式:DOCX 页数:10 大小:1.03MB
下载 相关 举报
像差计算程序.docx_第1页
第1页 / 共10页
像差计算程序.docx_第2页
第2页 / 共10页
像差计算程序.docx_第3页
第3页 / 共10页
像差计算程序.docx_第4页
第4页 / 共10页
像差计算程序.docx_第5页
第5页 / 共10页
像差计算程序.docx_第6页
第6页 / 共10页
像差计算程序.docx_第7页
第7页 / 共10页
像差计算程序.docx_第8页
第8页 / 共10页
像差计算程序.docx_第9页
第9页 / 共10页
像差计算程序.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

像差计算程序.docx

《像差计算程序.docx》由会员分享,可在线阅读,更多相关《像差计算程序.docx(10页珍藏版)》请在冰点文库上搜索。

像差计算程序.docx

像差计算程序

班级:

学号:

姓名:

摘要:

本程序能计算多个面的五条光线的球差,计算之后能够输出各面球差曲线。

关键词:

球差程序

目录

摘要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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2