Zemax学习笔记(4)- 设计单透镜实例_1,设置

2023-05-16

Zemax学习笔记(4)- 设计单透镜_1,设置

  • 简介
  • 镜头分类参数和设计约束
  • 镜头数据编辑器
  • 定义系统设置
  • 定义视场
  • 设置波长
  • 插入表面
  • 输入镜头数据
  • 求解

设计单透镜分为3个部分,设置、分析和优化,本章主要介绍第一部分。

简介

首先介绍Zemax用户界面的序列模式 (Sequential mode) ,然后重点介绍如何使用系统选项 (System Explorer)镜头数据编辑器 (Lens Data Editor) 正确设置单透镜,还解释了如何使用求解 (Solves) 来强制设计约束。

在第2部分中,将讨论一些可用于系统性能的分析;第3部分中,将讨论如何优化单透镜,使其在设计约束下获得更好的性能。

镜头分类参数和设计约束

接下来我们将设计和优化一个玻璃材料为N-BK7, F数为4的单透镜。最终设计方案应满足以下规格和约束条件:

规格约束
焦距100mm
半视场角(SFOV)
波长632.8 nm (HeNe)
单透镜中心厚度在 2 mm – 12 mm 之间
单透镜边缘厚度大于 2 mm
优化标准全视场 RMS 均方根半径平均值
物体位置无穷远

镜头数据编辑器

镜头数据编辑器里边主要由这些类型的参数,其含义如下:

列名称描述
表面类型 (Surface Type)表面类型(标准面 (Standard) 、偶次非球面 (Even Aslphere) 、衍射光栅 (Diffraction Grating) 等)
标注 (Comment)用于输入特定表面注释的可选区域
曲率半径 (Radius)镜头单位定义的表面曲率半径(曲率的倒数)
厚度 (Thickness)镜头单位定义的厚度,区分当前和其后表面顶点
材料 (Material)材料类型(玻璃、空气等),区分当前面与其后的面
净口径 (clear Semi-Diameter)镜头单位定义的表面孔径的半尺寸

镜头数据编辑器中的每一行表示一个表面。在Zemax序列模式中,每个光学系统从物面 (OBJ) 开始,到像面 (IMA) 结束。除了物面和像面外,剩余表面中的一个表面必须定义为光阑 (STOP)

通过在高亮单元格中键入所需的值,可以将数据输入到镜头数据编辑器中。光标键或鼠标可以将高亮栏移动到所需的任何一栏。

定义系统设置

大多数情况下,系统孔径是开始新设计时定义的第一个参数。系统孔径不仅决定了Zemax将通过光学系统光线追迹的光束的大小,还决定了物面上每个视场点发出光线的初始方向余弦。系统孔径可由多种类型定义,包括入瞳直径 (EPD) 、像方空间F/#、物方空间NA、光阑尺寸浮动 (Float By Stop Size) 等。
每种类型都在Zemax帮助文件对应部分有更详细的定义:“设置选项卡 (The Setup Tab) >系统组 (System Group) >系统选项 (System Explorer) >系统孔径 (Aperture) ”。

入瞳直径可能是最常用的系统孔径类型,也是最方便的定义。在Zemax中,入瞳直径被定义为从物空间看到的光瞳直径,以镜头单位为单位。

我们可以很容易地确定单透镜所需的入瞳直径。如前所述,单透镜的F/#必须等于4,有效焦距为100mm。由于F/#为无限共轭的近轴有效焦距与近轴入瞳直径之比,因此入瞳直径为25mm:

F/#=efl / EPD
F/#=EFL/EPD (EFL:有效焦距,EPD:入射瞳孔径)
作用:用来决定镜头之明暗。 备注:在保证同样通光孔径的前提下,焦距越短相对孔径应越小。

在系统选项的系统孔径 (Aperture) 选项卡下,选择入瞳直径 (Entrance Pupil Diameter) 作为孔径类型 (Aperture Type) ,输入孔径值 (Aperture Value) : 25.0.
在这里插入图片描述

在系统选项 (System Explorer) >单位 (Units) ,选择镜头单位 (Lens Units) :毫米。

定义视场

OpticStudio 支持五种不同的模型来定义视场:

视场类型说明
角度( Angle )(以度为单位主光线相对于物方空间Z轴的角度。根据定义,主光线穿过入瞳中心,因此测量了入瞳中心的视场角。正的视场角是指该方向光线为正斜率,因此指向远处的物体坐标为负。这个选项在无限共轭时最有用。
物高( Object Height )X和Y高度直接作用于物面 (OBJ) 的位置。高度单位为镜头单位。此选项不能在无限共轭情况下使用。
近轴像高( Paraxial Image Height )像面上的近轴像高位置。这个选项对于固定框架尺寸的设计非常有用,例如照相机系统中的胶卷。这个选项只适用于可用近轴光学很好描述的系统。
实际像高( Real Image Height )像面上的实际像高。这个选项对于固定框架尺寸的设计也很有用。但是,由于OpticStudio必须使用迭代方法来确定像平面上主光线的真实光线坐标,因此使用此选项的光线追迹稍微慢一些。
经纬角( Theodolite Angle )极坐标角表示的水平角 θ 和 竖直角 φ ,以度为单位。这些角度通常用于测量和天文学。

在系统选项中的视场数据 (Field Data) 对话框中定义。要访问视场数据对话框,请在系统选项中选择视场 (Fields) ,打开视场数据编辑器 (Open Field Data Editor) :

为了实现单透镜设计的目的,我们将用角度定义视场。与使用单个视场表示水平视场角 (HFOV) 不同,三个视场将在5°范围内定义:(0,0)、(0,3.5)和(0,5)。

Zemax标准版的视场数据编辑器最多可以输入12个视场。每个视场中都可以设置一个权重,这在优化中非常有用。但是,出于本设计的目的,所有视场权重都保留为1。在视场数据对话框的前三项中输入三个视场,如下所示。要插入其它视场,可以使用键盘上的键,或者<右键单击>并选择插入视场 (Insert Field) 。
在这里插入图片描述

设置波长

这个实例设计的是单色光,选择系统选项 (System Explorer) 访问波长 (Wavelength) ,再双击设置 (Settings) 。从下拉菜单中选择HeNe (.6328) ,然后按下“选为当前 (Select Preset) ” 选择当前设计波长。Zemax中的波长总是以微米为单位输入的,而不考虑系统的镜头单位。保持权重为1。

在这里插入图片描述

插入表面

一旦确定了系统设置,就可以将每个表面的特定信息输入镜头数据编辑器 (Lens Data Editor) 。重申一下,镜头数据编辑器中的每一行表示一个表面。因此,由玻璃分隔的两个表面组成一个单独的元件。因此,对于单透镜,总共需要4个表面:

①物面 (OBJ) :光线发出的位置。
②透镜的前表面:光线进入透镜的地方。对于这个设计,这里也是光阑 (STO) 。
③透镜的后表面:光线从后表面射入空气。
④像面 (IMA) :光线追迹停止的位置(始终是最后一个表面)。

默认情况下,镜头数据编辑器中只包含三个表面。可以通过按键盘上的 ,或通过在表面上<右键单击>并选择插入表面 (Insert surface) ,将表面添加到镜头数据编辑器中。使用此方法,将在高亮光标当前所在的行之前添加一个表面。要在当前表面之后添加另一个表面,按下键盘上的<Ctrl + Insert>或右键单击当前表面,然后选择插入后续面 (Insert after) 。

由于光阑位于单透镜的前表面,所以在表面1之后插入另一个表面(表示透镜的后表面)。

镜头数据编辑器中的标注 (Comment) 列对于跟踪每个表面表示的内容非常有用。要为一个表面输入注释,请高亮该单元格,并键入所需的文本。完成后,点击或使用箭头键将光标移动到另一个单元格。在设计进程中编写注释是一个很好的习惯。对于单透镜,通过在镜头数据编辑器中的每个适当单元格中键入以下文本来标识每个表面。

在这里插入图片描述

输入镜头数据

单透镜由N-BK7玻璃制成。在Zemax中,材料用于区分透镜前后表面。想通过输入材料类型来区分两个表面,只需在透镜数据编辑器中的适当单元格中键入材料名称(本例中为N-BK7)。

一旦将玻璃类型输入到透镜数据编辑器中,单片透镜的透镜厚度就可以输入到表面1 (Surface 1) 的厚度栏中。由于厚度是沿光轴到下一个表面的距离,这就称为透镜元件的中心厚度。作为起始点,可以使用4 mm的厚度,因为它是孔径为25 mm透镜的合理中心厚度。在表面1的厚度列中键入值:4。注意,这个参数稍后将被设置为优化变量。

同样,第一个表面的曲率半径和透镜后表面与像面之间的厚度不需要预先确定,因为它们将被设置为优化变量。目前,我们将保持表面1的曲率半径为无穷大,并将表面2的厚度更改为100mm。将值100输入到表面2的厚度列中。
在这里插入图片描述

求解

当光学设计存在约束时,保持这些约束的方法有两种:

①将影响这些约束的参数设置为变量,并将边界约束添加到评价函数编辑器 (Merit Function Editor) 中;
②使用内置的求解功能来执行约束,消除不必要的变量。

后一种选择要好得多。虽然这两种方法都可以调整透镜参数以保持特定的约束,但边界约束会减慢评价函数的执行速度。

Zemax中有许多不同的求解类型,每个求解类型都有特定的用途。然而,该设计的性能指标只要求使用其中一个求解类型:设置系统F/#以保持所需的焦距。要打开求解对话框,可以单击所需单元格右侧的较小单元格。基于所选择的参数,可以使用不同的求解类型。

为了保证系统F/#,可以在表面2的曲率半径上放置F数求解 (F Number solve) 。F数求解调节最后一个光学表面的曲率以保证系统焦距。单击表面2的曲率半径单元格右侧的框,打开曲率求解 (Curvature solve dialog) 对话框。选择求解类型 (Solve Type) :F数 (F Number) 并输入F/#: 4,并按Enter

在这里插入图片描述

一旦设置了F数求解,Zemax将自动调整半径,以保持所需的F/#。换句话说,只要改变透镜参数,系统就会自动重新计算一个解。曲率半径旁边的字母“F”表示F数求解设置已完成。
在这里插入图片描述
每输入一个值,都可以Enter确保这个值输入完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zemax学习笔记(4)- 设计单透镜实例_1,设置 的相关文章

  • springmvc返回值

    xff08 1 xff09 返回字符串 xff08 2 xff09 void xff08 3 xff09 返回ModelAndView 把user对象存储到mv对象中 xff0c 也会把user对象存入到request对象 mv addOb
  • springmvc上传下载

    xff08 1 xff09 form表单的enctype取值是 xff1a multipart form data xff0c method取值是 xff1a post xff0c 提供一个文件选择域 xff08 2 xff09 sprin
  • 数据库多表和范式

    xff08 1 xff09 一对多的关系 xff1a 一个部门可以有多个员工 xff0c 一个员工只能属于一个部门 在多的一方建立外键 xff0c 指向1的一方的主键 xff08 2 xff09 多对多关系 课程 学生 中间表 xff0c
  • springjdbc学习笔记

    xff08 1 xff09 导包 xff08 2 xff09 创建jdbcTemplate xff0c 依赖数据源DataSource 实例化的时候需要传入DataSource jdbcTemplate 61 new JdbcTemplat
  • MySQL多表操作

    xff08 1 xff09 笛卡尔积 xff1a 两个集合的所有组合 xff1a select from 表1 xff0c 表2 xff08 2 xff09 内连接查询 xff1a 隐式内连接 xff1a select from 表1 xf
  • MySQL事务

    xff08 1 xff09 概念 xff1a 一个包含多个步骤业务操作 xff0c 被事务管理 xff0c 这些操作具有统一性 xff08 要么成功 xff0c 要么失败 xff09 操作开启事务 xff08 start transacti
  • 软件产品化

    1 产品化定义 xff1a 软件产品化是指客户无需为软件添加或调整代码和语句即能完成软件的安装配置 应用初始化 系统管理 用户使用的全过程 xff0c 并且软件至少能满足80 以上的用户某一组应用需求 微软Office或杀毒软件就是产品化软
  • MySQL忘记root密码

    1 cmd gt net stop mysql 停止mysql服务 需要管理员运行该cmd 2 使用无验证方式启动mysql服务 xff1a mysqld skip grant tables 3 打开新的cmd窗口 直接输入mysql命令
  • 对象转型

    一 对象转型介绍 对象转型分为两种 xff1a 一种叫向上转型 父类对象的引用或者叫基类对象的引用指向子类对象 xff0c 这就是向上转型 xff0c 另一种叫向下转型 转型的意思是 xff1a 如把float类型转成int类型 xff0c
  • 获取文件的真实(服务器)路径

  • jQuery选择器

    1 基本选择器 标签选择器 xff08 元素选择器 xff09 xff0c 语法 xff1a 34 html标签名 34 id选择器 xff0c 语法 xff1a 34 id的属性值 34 类选择器 xff0c 语法 xff1a 34 cl
  • MySQL8:Unknown initial character set index ‘255‘ received from server. Initial client character 解决方法

    Unknown initial character set index 39 255 39 received from server Initial client character set can be forced via the 39
  • mybatis延迟加载

    1 什么是延迟加载 在使用时候才加载数据 xff0c 不用的时候不加载 2 关联对象是1时 xff0c 采用立即加载 xff1b 关联对象是多是 xff0c 采用延迟加载 3 一对一 xff08 一对多 xff09 延迟加载步骤及配置 xf
  • springmvc拦截器

    一 springmvc拦截器只有springmvc有 xff0c Servlet的拦截器可以适用任何web项目 二 步骤 1 编写拦截器类 xff0c 实现 HandlerInterceptor 接口 xff1b 配置拦截器 2 案例 pu
  • SSM整合

    一 spring整合springmvc mybatis 二 配置文件 43 注解 1 创建相应的类 xff1a dao controller domain service service impl 2 首先配置spring xff0c 使用
  • Maven 骨架创建 Java Web 项目

    Maven 骨架创建 Java Web 项目 1 File gt New gt Project 2 如下图 3 xff09 如下图 GroupId和ArtifactId lt 项目名 gt 还有Version xff0c 这三个属性目的是标
  • IntelliJ IDEA集成maven

    一 idea中maven的配置 1 maven配置 首先需要在idea中对maven进行集成 xff0c 目录为File Setting Build Execution Deployment Build Tools maven xff0c
  • 批量替换tab为空格

    利用find 找出需要替换的文件 xff0c 然后使用sed命令执行替换 如将src 路径下的所有cpp 文件的tab 替换为空格的命令如下 sed span class hljs attribute i span span class h
  • idea工具集成配置maven最详细的

    IDEA 全称 IntelliJ IDEA xff0c 是java语言开发的集成环境 xff0c IntelliJ在业界被公认为最好的Java开发工具之一 IDEA是JetBrains公司的产品 现在有逐步取代老牌Java开发工具Eclip
  • Maven的安装与配置

    一 安装本地Maven tips 官网为外网 xff0c 下载速度较慢 xff0c 这里提供3 6 3版本的三方链接下载Maven下载 无视下载速度以及需要其他版本的伙伴点此进入Maven官网下载 选择左侧Download 点击箭头所指的链

随机推荐

  • Maven骨架

    Maven骨架 Maven骨架简单的来说就是一种模型 结构 xff0c Maven根据我们的不同的项目和需求 xff0c 提供了不同的模型 xff0c 这样就不需要我们自己建模型了 举个简单的例子 xff1a 就比如我们要做一套普通的楼房
  • 实现分页功能

    可以先看这个 xff08 1 xff09 https www baidu com link url 61 1O13jXHEC3F2wEP5jCw0KQZCsjW4S7LFdruGJxbJO7G8dkAFgLA2sNKe48F5vOjmP8G
  • jsp中select数据回显

    xff08 1 xff09 https blog csdn net qq 23190729 article details 76774801 utm medium 61 distribute pc relevant none task bl
  • 简单的jsp插入多条数据

    lt 64 page import 61 34 java sql Connection 34 gt lt 64 page import 61 34 java sql Statement 34 gt lt 64 page import 61
  • Servlet数据库连接池

    使用连接池连接数据库 首先在一下apache中的conf文件夹中的context xml文件添加下面这段配置信息 lt Resource name 61 34 jdbc message 34 auth 61 34 Container 34
  • 数据库连接池在TOMCAT中的几种配置方法

    https www cnblogs com jay36 p 7684000 html 还有 C3P0数据库连接池 阿里druid数据库连接池 https www cnblogs com fxbin p 11854367 html https
  • 在idea中的过滤器

    https blog csdn net u010835486 article details 80730745 案例 xff1a https www bilibili com video av543581547
  • Session

    概念 https www runoob com jsp jsp session html 使用 https www cnblogs com bhlsheji p 4015568 html 登录案例 https blog csdn net q
  • E: package ‘gcc‘ has no installation candidate

    E package gcc has no installation candidate 问题描述 第一次使用gcc编译c语言代码时出现command gcc not found but can be installed with sudo
  • ANOMALY: use of REX.w is meaningless (default operand size is 64)

    1 针对所有程序 注册表中增加项 计算机 HKEY LOCAL MACHINE SOFTWARE TEC Ocular 3 agent config 下 新建 字符串值 hookapi disins 数值数据 1 2 针对特定程序 注册表中
  • google启动错误

  • 安装dlib前需要先安装cmake 和boost。然后才能正确安装dlib

    pip install boost pip install cmake pip install dib
  • anconda国内镜像源

    1 为conda配置 xff08 清华 xff09 镜像源 使用conda进行安装时 xff0c 访问的是国外的网络 xff0c 所以下载和安装包时会特别慢 我们需要更换到国内镜像源地址 xff0c 这里我更换到国内的清华大学地址 xff0
  • Anaconda常用命令大全

    使用conda 首先我们将要确认你已经安装好了conda 配置环境 下一步我们将通过创建几个环境来展示conda的环境管理功能 使你更加轻松的了解关于环境的一切 我们将学习如何确认你在哪个环境中 xff0c 以及如何做复制一个环境作为备份
  • openCV错误模块‘cv2.face‘没有属性‘createEigenFaceRecognizer‘(openCV Error module &#39;cv2.face&#39; has no at

    pip uninstall opencv contrib python pip install opencv contrib python no cache dir 功能也更改为此 load被替换为read import cv2 recog
  • Python enumerate() 函数

    enumerate 函数用于将一个可遍历的数据对象 如列表 元组或字符串 组合为一个索引序列 xff0c 同时列出数据和数据下标 xff0c 一般用在 for 循环当中 Python 2 3 以上版本可用 xff0c 2 6 添加 star
  • python3 opencv3 实现基本的人脸检测、识别功能

    encoding utf 8 老杨的猫 环境 PYCHARM xff0c python3 6 opencv3 import cv2 os import cv2 face as fc 此处有坑 找不到脸 这样引用程序可以运行 xff0c 欢迎
  • idea修改maven镜像

    https jingyan baidu com article c33e3f482455d2ea15cbb526 html https blog csdn net qq 32588349 article details 51461182 阿
  • Error:(1, 1) java: 非法字符: ‘\ufeff‘

    一 问题 用IDEA打开eclipse java项目编译时 xff0c 出现以下错误 xff1a Error 1 1 java 非法字符 ufeff Error 1 10 java 需要class interface或enum 二 原因分析
  • Zemax学习笔记(4)- 设计单透镜实例_1,设置

    Zemax学习笔记 xff08 4 xff09 设计单透镜 1 xff0c 设置 简介镜头分类参数和设计约束镜头数据编辑器定义系统设置定义视场设置波长插入表面输入镜头数据求解 设计单透镜分为3个部分 xff0c 设置 分析和优化 xff0c