25. 一个双高斯照相物镜的设计

导论:

双高斯照相物镜的设计思想,当β=-1时,由于其对称,彗差、畸变和倍率色差自动校正为0,利用中间两块厚透镜可以校正场曲,选取合适的光阑位置可以校正像散,在厚透镜中加胶合面使每个半部校正位置色差,并应用厚、薄透镜互相补偿球差。这样从初级像差理论来看,双高斯照相物镜可以校正所有像差。

照相物镜多对无限远物体校正像差,在结构上虽然保持对称,但具体结构参数(r,d,n)则需适当偏离于对称,以补偿β≠-1所引起的像差。

设计一个双高斯物镜,其光学特性要求为焦距55mm,视场角2ω=40度,入瞳直径26mm。

设计流程:

原始系统确定:

我们直接查找一个现有结构作为原始系统:

r

d玻璃
305ZK11
840.1
17.56ZK7
573F5
129
infinity(光阑)9
-143F5
infinity7ZK7
-190.1
70.35ZK11
-52
ZEMAX设计与优化:
系统建模:

首先输入系统特性参数,如下:

在系统孔径中选择入瞳直径,并根据设计要求输入26。

在波长设定对话框中,选择F,d,C自动加入三个波长。

在视场设定对话框中设置3个视场(0 0.7 1视场),要选择角度,如下图:

在镜头数据编辑器中输入查找出来的初始结构,如下图。

观察系统的二维结构图,如下图:

结构图有些异常,需要优化设计。

系统优化

首先建立评价函数。

打开评价函数编辑器,选择优化设置导向。如下图:

点击应用,系统已经根据上述设置自动生成一系列控制像差的操作数。

增加EFFL操作数,控制透镜的最小中心厚度,权重为1。

增加MNET操作数,控制透镜的最小边缘厚度,权重为1。

如下图所示:

返回镜头数据编辑器,为系统设置变量。将10个球面的曲率和所有透镜厚度(除两个微小的空气间隔0.1以外)都设置为变量,如下图所示:

点击优化按钮执行优化。

优化后系统的二维结构图,如下图:

查看优化后的点列图,如下图:

查看优化后的MTF,如下图:

从MTF图中看出,经过优化后,系统点列图半径虽然有所减小,但MTF反应像质仍有点差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

High Performance Design for HDFS with Byte-Addressability of NVM and RDMA——论文泛读

ICS 2016 Paper 分布式元数据论文阅读笔记整理 问题 非易失性存储器(NVM)提供字节寻址能力,具有类似DRAM的性能和持久性,提供了为数据密集型应用构建高通量存储系统的机会。HDFS(Hadoop分布式文件系统)是…

掌握React的条件渲染:技巧与实践

掌握React的条件渲染:技巧与实践 大家好,我是极客前端探索者,今天我们将深入探讨React中的一项基础而强大的特性——条件渲染。无论是新手还是有经验的开发者,掌握条件渲染都能极大地提升你的React应用的灵活性和用户体验。如果你…

2024第15届东莞国际电子智造及微电子展览会

2024第15届东莞国际电子智造及微电子展览会 The 15th Dongguan International Electronic Intelligent Manufacturing and Microelectronics Exhibition in 2024 时间:2024年11月18-20日 地点:广东现代国际展览中心 详询主办方陆先生 I38&#xff0…

手写实现call函数和应用场景

1. 手写实现call函数 var person {getName:function(){console.log(this) //windowreturn this.name}}var man{name:张三}console.log(person.getName) // undefinedconsole.log(person.getName.call(man)) //张三//------------------------------------------//手写call函数…

java项目中的高并发处理

在Java面试中,当被问及项目中的高并发处理时,你可以从以下几个方面来分享经验: 1. 项目背景介绍 简要介绍项目的业务场景和功能,以及为什么需要高并发处理。 2. 并发量评估 描述如何评估系统需要处理的并发量,包括…

vuejs3 pinia持久化存储

pinia地址: 开始 | Pinia 插件地址: 快速开始 | pinia-plugin-persistedstate 先安装pinia npm install pinia 再安装插件 安装pinia后,再安装这个插件 npm i pinia-plugin-persistedstate 全局中引入持久化插件 在src目录下的main…

react传参有哪些常用方法?--Props,Context API和Redux全局管理

在 React 中,父子组件之间的传参主要通过以下几种方式实现: 1) Props 传递:父子传参 2)Context API: 跨多层组件传递数据 3) Redux: 全局状…

基于Django的博客系统之增加手机验证码登录(九)

需求文档 概述 实现基于Redis和第三方短信服务商的短信验证码登录功能。用户可以通过手机号码获取验证码,并使用验证码进行登录。 需求细节 用户请求验证码 用户在登录页面输入手机号码并请求获取验证码。系统生成验证码并将其存储在Redis中,同时通过…

【Android】安卓开发的前景

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

VMware虚拟机-Ubuntu设置共享文件夹(超详细)

目录 前言1. 其他教程2. 创建共享文件夹3. VMware 设置4. Ubuntu 设置4.1 创建 hgfs 目录:4.2 挂载共享目录4.3 验证是否挂载成功4.4 设置开机自动挂载创作不易,禁止转载抄袭!!!违者必究!!! 创作不易,禁止转载抄袭!!!违者必究!!! 创作不易,禁止转载抄袭!!!违…

韩顺平0基础学java——第24天

p484-508 System类 常见方法 System.arrycopy(src,0,dest,1,2); 表示从scr的第0个位置拷贝2个,放到目标数组索引为1的地方。 BigInteger和BigDecimal类 保存大整数和高精度浮点数 BigInte…

Springboot 整合 Flowable(一):使用 flowable-UI 绘制流程图

目录 一、Flowable简介 二、Flowable 与 Activiti 的区别 三、流程图的绘制(以员工请假流程图为例) 1、下载 flowable 的压缩包: 2、启动包中的 tomcat 3、登录页面 4、绘制结束,导出 bpmn20.xml文件 一、Flowable简介 Fl…

老胡的周刊(第146期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 pingvin-share[2] Pingvin Share 是一个可自…

【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术

🔥 个人主页:空白诗 文章目录 引言一、图数据及其应用场景1.1 图数据的定义和特征1.2 常见的图数据结构1.2.1 社交网络1.2.2 知识图谱1.2.3 分子结构1.2.4 交通网络 1.3 图数据在不同领域的应用实例1.3.1 社交网络中的推荐系统1.3.2 知识图谱中的信息检索…

StarRocks详解

什么是StarRocks? StarRocks是新一代极速全场景MPP数据库(高并发数据库)。 StarRocks充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果。 1.可以在Spark和Flink里面处理数据,然后将处理完的数据写到StarRo…

SQL 表连接(表关联)

目录 一、INNER JOIN(内连接,等值连接) 二、LEFT JOIN(左连接) 三、RIGHT JOIN(右连接): 一、INNER JOIN(内连接,等值连接) 用途:获取两个表中字段能匹配上…

如何解决 Git 默认不区分文件名大小写和同名文件共存?

修改文件命名的大小写,不会有 git 记录 本文章的例子:将 demo.vue 文件命名改为 Demo.vue 1、在Git项目路径下执行该命令 git config core.ignorecase false (1)以上方法可以实现 git 区分 demo.vue 与 Demo.vue 文件&#xff0…

功能强大的多功能文档转换工具Neevia Document Converter Pro 7.5.0.241

Neevia Document Converter Pro是一款功能强大的Windows软件,旨在将文档转换为各种格式,包括PDF、TIFF、JPEG和许多其他格式。该程序专为在企业环境中使用而设计,提供文档转换和处理过程的自动化,这使其成为处理大量文档的组织的***工具。 Neevia Document Converter Pro的…

Oracle的listagg的用法和例子

LISTAGG 是 Oracle 数据库中用于将多行数据连接(聚合)成单个字符串的函数。它通常与 GROUP BY 子句一起使用,以便将来自多个行的值连接成一个由指定分隔符分隔的字符串。 语法 sql LISTAGG(column_value, delimiter) WITHIN GROUP (ORDER …

PHP7 数组的实现

前提 PHP版本:php7.0.29使用到的文件 php-src/Zend/zend_types.hphp-src/Zend/zend_hash.hphp-src/Zend/zend_hash.cphp-src/Zend/zend_string.h 本文 是《PHP7底层设计和源码实现》第5章 数组的实现,学习笔记 功能分析 整体结构 bucket 里面增加h字段…