近轴成像的相关性质

news2024/11/16 3:17:44

本文介绍薄透镜近轴成像的一些性质,所谓近轴成像,就是入射光线非常靠近光轴,意味着入射角很小。在介绍这些性质之前,我们先来看看三角函数的泰勒展开:

sin ⁡ θ = θ − θ 3 3 ! + θ 5 5 ! − θ 7 7 ! + . . . \sin{\theta} = \theta - \frac{\theta^{3}}{3!} + \frac{\theta^{5}}{5!} - \frac{\theta^{7}}{7!} + ... sinθ=θ3!θ3+5!θ57!θ7+...

cos ⁡ θ = 1 − θ 2 2 ! + θ 4 4 ! − θ 6 6 ! + . . . \cos{\theta} = 1 - \frac{\theta^{2}}{2!} + \frac{\theta^{4}}{4!} - \frac{\theta^{6}}{6!} + ... cosθ=12!θ2+4!θ46!θ6+...

当入射角很小的时候,上面的三角函数可以近似为:

sin ⁡ θ ≈ θ cos ⁡ θ ≈ 1 tan ⁡ θ ≈ θ \sin{\theta} \approx \theta \quad \cos{\theta} \approx 1 \quad \tan{\theta} \approx \theta sinθθcosθ1tanθθ

近轴成像

在这里插入图片描述

如上图所示,假设从物方有一点 P 发出一根近轴光线到达球面,通过球面折射之后到达像方 P’,球面两边介质的折射率分别为 n 和 n’,球面的曲率半径为 r,P 与球面交点的连线构成的角度为 u,P’ 与球面交点的连线构成的角度为 u’,球面交点与球面中心的连线构成的角度为 a,这些角度都是小角度,入射光线与球面法线的夹角为 i, 出射光线与球面法线的夹角为 i’, 球面交点到 PP’ 连线的垂直距离为 h,z 表示物距,z’ 表示像距。

根据光学的折射定律:

n sin ⁡ i = n ′ sin ⁡ i ′ n \sin{i} = n' \sin{i'} nsini=nsini

在角度很小的时候,三角函数可以用泰勒的一阶近似表示,上面的式子可以写成:

n i ≈ n ′ i ′ n i \approx n'i' nini

同理,可以得到:

u ≈ tan ⁡ u ≈ h / z u ′ ≈ tan ⁡ u ′ ≈ h / z ′ a ≈ h / r u \approx \tan{u} \approx h/z \quad u' \approx \tan{u'} \approx h / z' \quad a \approx h/r utanuh/zutanuh/zah/r

根据三角形的内角和定义:

i = u + a a = i ′ + u ′ i = u + a \quad a = i' + u' i=u+aa=i+u

代入上式,可以得到:

n ( u + a ) ≈ n ′ ( a − u ′ ) n(u + a) \approx n'(a - u') n(u+a)n(au)

n ( h / z + h / r ) ≈ n ′ ( h / r − h / z ′ ) n(h/z + h/r) \approx n'(h/r - h/z') n(h/z+h/r)n(h/rh/z)

n / z + n / r ≈ n ′ / r − n ′ / z ′ n/z + n/r \approx n'/r - n'/z' n/z+n/rn/rn/z

n / z + n ′ / z ′ ≈ n ′ / r − n / r n/z + n'/z' \approx n'/r - n/r n/z+n/zn/rn/r

上面的 h h h 消掉了,意味着在近轴成像的情况下,从 P 点发出的光线都能汇聚到 P’ 点上。

当物距足够大的时候,可以认为光线是平行入射的,这种情况下,上面的式子可以写成:

n ′ / z ′ ≈ n ′ / r − n / r ⇒ z ′ ≈ ( r n ′ ) / ( n ′ − n ) n'/z' \approx n'/r - n/r \quad \Rightarrow z' \approx (rn')/(n' - n) n/zn/rn/rz(rn)/(nn)

这个时候的 z 就是薄透镜的焦距 f f f

造镜公式 Lensmaker’s formula

根据上面的薄透镜成像原理,我们可以推导出近轴成像的一般公式:

n / z + n ′ / z ′ ≈ n ′ / r − n / r n/z + n'/z' \approx n'/r - n/r n/z+n/zn/rn/r

上面是只考虑单面的球面的情况,对于两面的情况,可以进行类似的推导。

在这里插入图片描述

如上图所示,假设物点 P 先到达透镜的 A 点,然后传输到 D 点,最后通过透镜折射到 Q 点,这个透镜是由左右两个球面构成的,前面一个球面的曲率半径为 R 1 R_1 R1,球面中心为 C,后面一个球面的曲率半径为 R 2 R_2 R2,球面中心在 E,透镜的折射率为 n n n

先看第一面的折射情况,根据近轴成像原理,及一阶泰勒展开,我们可以得到如下的关系式:

sin ⁡ i 1 = n sin ⁡ r 1 i 1 = n r 1 i 1 = α 1 + β 1 r 1 = β 1 − γ \sin{i_1} = n \sin{r_1} \quad i_1 = n r_1 \quad i_1 = \alpha_1 + \beta_1 \quad r_1 = \beta_1 - \gamma sini1=nsinr1i1=nr1i1=α1+β1r1=β1γ

从上面的式子,可以得到:
α 1 + β 1 = n ( β 1 − γ ) (1) \alpha_1 + \beta_1 = n(\beta_1 - \gamma) \tag{1} α1+β1=n(β1γ)(1)

接下来看第二面的折射情况,同样根据近轴成像关系,以及一阶泰勒展开,可以得到如下的关系式:

sin ⁡ i 2 = n sin ⁡ r 2 i 2 = n r 2 i 2 = α 2 + β 2 r 2 = β 2 + γ \sin{i_2} = n \sin{r_2} \quad i_2 = n r_2 \quad i_2 = \alpha_2 + \beta_2 \quad r_2 = \beta_2 + \gamma sini2=nsinr2i2=nr2i2=α2+β2r2=β2+γ

从上面的式子,可以得到:

α 2 + β 2 = n ( β 2 + γ ) (2) \alpha_2 + \beta_2 = n(\beta_2 + \gamma) \tag{2} α2+β2=n(β2+γ)(2)

将 (1) 和 (2) 合并,可以得到:

α 1 + α 2 = ( n − 1 ) ( β 1 + β 2 ) \alpha_1 + \alpha_2 = (n-1)(\beta_1 + \beta_2) α1+α2=(n1)(β1+β2)

根据上面的三角函数关系近一阶泰勒近似,我们可以得到如下的关系

α 1 = h / s α 2 = h / s ′ β 1 = h / R 1 β 2 = h / R 2 \alpha_1 = h/s \quad \alpha_2 = h/s' \quad \beta_1 = h/R_1 \quad \beta_2 = h/R_2 α1=h/sα2=h/sβ1=h/R1β2=h/R2

最终可以得到:

1 s + 1 s ′ = ( n − 1 ) ( 1 R 1 + 1 R 2 ) (3) \frac{1}{s} + \frac{1}{s'} = (n-1)(\frac{1}{R_1} + \frac{1}{R_2}) \tag{3} s1+s1=(n1)(R11+R21)(3)

公式 (3) 被称为造镜者公式,如果物距 s s s 足够大的时候, s ′ s' s 就对应这个薄透镜的焦距 f f f

1 f = ( n − 1 ) ( 1 R 1 + 1 R 2 ) \frac{1}{f} = (n-1)(\frac{1}{R_1} + \frac{1}{R_2}) f1=(n1)(R11+R21)

所以:

1 s + 1 s ′ = 1 f \frac{1}{s} + \frac{1}{s'} = \frac{1}{f} s1+s1=f1

这个就是薄透镜的高斯成像公式。

Ray transfer matrix 追迹转换矩阵

在近轴成像的前提下,可以得到一个通用的追迹公式,称为追迹转换矩阵。

在这里插入图片描述

如上图所示:

x i = s i θ i x 0 = s 0 θ 0 1 s i + 1 s 0 = 1 f x_i = s_i \theta_i \quad x_0 = s_0 \theta_0 \quad \frac{1}{s_i} + \frac{1}{s_0} = \frac{1}{f} xi=siθix0=s0θ0si1+s01=f1

因为透镜的厚度很薄,可以认为 d ≈ 0 d \approx 0 d0,所以 $ x_i \approx x_0$

综合上式,我们可以得到如下的矩阵关系:

[ x 0 θ 0 ] = [ 1 0 − 1 f 1 ] [ x i θ i ] \begin{bmatrix} x_0 \\ \theta_0 \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ -\frac{1}{f} & 1 \end{bmatrix} \begin{bmatrix} x_i \\ \theta_i \end{bmatrix} [x0θ0]=[1f101][xiθi]

上面的矩阵 [ 1 0 − 1 f 1 ] \begin{bmatrix} 1 & 0 \\ -\frac{1}{f} & 1 \end{bmatrix} [1f101] 就是追迹转换矩阵,如果有多片薄透镜放在一起,可以将多个透镜的追迹转换矩阵连乘即可:

在这里插入图片描述

  • Ref. https://solitaryroad.com/c1034b.htm
  • Ref. http://graphics.cs.cmu.edu/courses/15-463/

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

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

相关文章

#10047. 「一本通 2.2 练习 3」似乎在梦中见过的样子(内附封面)

题目描述 原题来自:2014 年湖北省队互测 Week2 「Madoka,不要相信 QB!」伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约。 这是 Modoka 的一个噩梦,也同时是上个轮回中所发生的事。为了使这一次 Madoka 不再与…

JVM类加载机制-JVM(一)

我们运行一个.class文件,windows下的java.exe调用底层jvm.dll文件创建java虚拟机(c实现)。创建一个引导类加载器实例(c实现)C调用java代码Launcher,该类创建其他java类加载器。Launcher.getClassLoader()调…

【算法】最长公共子序列编辑距离(两个序列之间的DP)

文章目录 最长公共子序列(LCS)编辑距离(Edit Distance)总结相关题目练习583. 两个字符串的删除操作 https://leetcode.cn/problems/delete-operation-for-two-strings/712. 两个字符串的最小ASCII删除和 https://leetcode.cn/prob…

BWA序列比对方法丨针对较大基因组的并行计算和性能优化方式,利用多线程和负载均衡策略提高效率

BWA 序列比对 高通量测序技术日新月异发展迅猛,产生了数亿级大数据,生命的世界由DNA序列ATCG组成,正如计算机的世界由二进制01组成。 高通量测序的工作实质是把一本生命字典撕成碎片,然后每人手里拿一片,招募成千上万…

【洛谷】B3644 【模板】拓扑排序 / 家谱树(用邻接表存储和其他题解不一样哦)

本薅蒻通过这次学到的知识点(本人认为好用的东西): 1: (情况适用于输入的x为0时结束输入) 2: 先输出“t”(就是因为这里wa了好几发,555555) 原本是在 if里面输出的,这…

mysql通过存储过程解决ERROR 1060 (42S21): Duplicate column的问题

问题描述 实际的日常开发工作中,经常需要对现有表的结构作出变更,涉及到sql相关的操作,基本都通过初始化脚本来完成,如果初始化脚本运行失败或者遇到其他问题,可能导致sql部分执行,不分失败的问题&#xf…

ModaHub ——向量数据库Milvus特征向量和预写式日志教程

目录 特征向量 什么是特征向量 特征向量的优势 应用领域 预写式日志 数据可靠性 缓冲区设置 旧日志删除 特征向量 什么是特征向量 向量是具有一定大小和方向的量,可以简单理解为一串数字的集合,就像一行多列的矩阵,比如&#xff1a…

领域事件驱动(三)子域

上一章对领域层的相关概念做了阐述 应用服务 应用层作为展现层与领域层的桥梁,是用来表达用例和用户故事的主要手段。 应用层通过应用服务接口来暴露系统的全部功能。在应用服务的实现中,它负责编排和转发,它将要实现的功能委托给一个或多…

蓝桥杯刷题-1

文章目录 1.蓝桥杯官网2.蓝桥杯题目进入界面 及 题目详情3.题目解答过程及思路4.运行结果图5.解答代码展示6.ASCII表图例 大家好,我是晓星航。今天为大家带来的是 蓝桥杯刷题 - 1 -单词分析 相关的讲解!😀 1.蓝桥杯官网 题库 - 蓝桥云课 (l…

source insight小键盘在vim中不能使用数字(数字按键变英文)

文章目录 问题描述解决办法注意: 问题描述 在使用source insight登录远程服务器并使用vim编辑模式时,出现数字键盘的0-9变成了yxwvutsrqp情况。 解决办法 注意: 如果你点了save as…的话,会让你保存untitled.key文件到你指定的路…

Redis保姆级安装(windows版)

MySQL是一种传统的关系型数据库,我们可以使用MySQL来很好的组织跟管理我们的数据 但是MySQL的缺点也是很明显的!他的数据始终是存在硬盘里的,对于我们的用户的信息经常不修改的内容用MySQL存储的确可以,但是如果要快速更新或者是频…

Excel的一些操作:移动列,添加索引

移动列 在 Excel 中移动列的 5 种方法——分步教程 选中某一列,然后鼠标放在边缘,移动到你想移动到的列 添加索引 例如,我想添加的索引列名为“index”,然后选中想要添加序列的行,点击“填充-->录入123序列”

顶部导航菜单组件的一种做法

今天来分享一款顶部导航的菜单做法&#xff0c;可以参考一下。 它的效果是这个样子的。虽然不算太好看&#xff0c;但是也能实现具体功能 &#xff0c;剩了不少时间。 废话不多说&#xff0c;直接上代码。 以下是html代码。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT…

【Spring】Bean的作用域与生命周期详情:请简述Spring的执行流程并分析Bean的生命周期?

前言 我们都知道&#xff0c;Spring框架为开发人员提供了很多便捷&#xff0c;这使得开发人员能够更加专注于应用程序的核心业务逻辑&#xff0c;而不需要花费大量时间和精力在技术细节上。作为一个包含众多工具方法的IoC容器&#xff0c;存取JavaBean是其极为重要的一个环节。…

vue + leaflet实现图标指定方向随机旋转

效果 github地址 官方示例Demo 安装leaflet-rotatedmarker npm install leaflet-rotatedmarker -S引入leaflet.rotatedmarker import leaflet-rotatedmarker实现 this.laryerGroup this.$L.layerGroup() data.forEach(item > {this.layerGroup.addLayer(this.getMarke…

【tomcat知识点和部署】

文章目录 一、tomcat概述1.1 tomcat的介绍1.2 tomcat的特点 二、tomcat核心组件2.核心组件的介绍2.1 Web容器2.2 servlet容器2.3 JSP容器2.4 Tomcat核心组件的请求方式&#xff08;交互方式&#xff09;2.4.1 Web容器2.4.2 JSP容器2.4.3 serverlet容器2.5 Tomcat处理请求&#…

第六章 linux调试器——gdb的使用

第六章 linux调试器——gdb的使用 一、前提1、debug与release2、gdb的安装 二、常用调试指令1、开始调试2、代码显示3、断点设置4、代码执行5、信息监控6、退出调试 一、前提 1、debug与release 程序最终的发布方式分成两种&#xff0c;一种是debug模式&#xff0c;一种是rel…

华为OD机试真题 Python 实现【机器人活动区域】【2023Q1 200分】

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出 一、题目描述 现有一个机器人&#xff0c;可放置于 M N的网格中任意位置&#xff0c;每个网格包含一个非负整数编号。当相邻网格的数字编号差值的绝对值小于等于 1 时&a…

redis-单节点安装

daemonize yes port 6379 bind 0.0.0.0 requirepass 123456 save 3600 1 300 100 60 10000dir /usr/local/redis dbfilename dump.rdb logfile redis.log pidfile redis.pid##save 3600 1 300 100 60 10000 ##3600秒(一小时),至少有一个值的话,会进行存盘 ##300秒(五分钟),至少…

探索性测试: 工具和方法的综合应用

1、前言 2、工具的使用 1、测试管理工具 2、缺陷跟踪工具 3、测试自动化工具 4、探索性测试工具 5、代码覆盖率工具 6、日志分析工具 7、网络抓包工具 8、数据库查询工具 9、并发和负载测试工具 10、安全测试工具 11、API测试工具 12、数据生成工具 13、异常处理和边界测试工具…