如何理解广角镜头和长焦镜头的区别。

为什么广角镜头的视野会比长焦镜头的视野大呢?

   我之前用等光程解释了景深,也解释了为什么焦距越远,成像越大,但是从来没有提到过视野范围这个概念。实际上在我之前建立的数学模型中,物曲面S是无限大的,像曲面S1也是无限大的。但是实际的照相机中,照片是被框住了的,也就是像曲面S1的大小是固定的,那么怎样使得在S1固定的情况下,物曲面S尽可能的大呢?

首先,根据费马原理,这是个非常好用的原理,因为可以不用考虑折射,反射,只需要关注问题本身了,譬如这里,从S发出的光在透镜中发生了折射,但是由于折射只是最小光程的结果,光线的路径可以是任意的,那么我随意画,只要等光程即可,反正最后是选择其中光程最小的路径即可,而且这种任意性使得最小光程也符合我从任意的情况下总结出的一般性的规律。

首先有SA+SB=AS1+BS1。

所以就是SA-SB=常数2a,那么S的路径就是个双曲线了,AB的光程2c,(+-c,0)是双曲线的焦点。

注意,这里面,SA和SB是空气的光程,AB是介质中的光程,不一样。A和B是透镜的边界点。

首先假设SA-SB=2a, 可以画出来双曲线如图所示:

所以到达S1曲面的边界的位置的像点分布在双曲线上,如果是W区域和U区域发出的光呢?比如S'A-S'B大于AB了,那么就会需要像曲面S1更大或者更靠前才能使得像边界点到A和B的光程差变大。而如果是在V区域的点,由于光程差S'A-S'B变小,只要把到像边界位置的点向光轴靠近,就可以缩小光程差了。

所以可以总结出来,透镜左边的物区域,只有V区域包含双曲线的位置是可以在固定大小的成像曲面S1上的。

但是有个问题,我右边给出的是成像曲面是2维度的,左边却是空间区域是3维度的,维度不一样啊。所以,左边的双曲线中,S'点被S点遮挡住了?这还真是个问题,因为右边的光程路径是一样的,但是光线并没有被遮挡,如果改变光圈AB大小,比如缩小AB,那么S'和S在像曲面S中的位置都向光轴靠拢,但是S的光程差改变较大,所以S在像S1中的位置更向光轴靠拢。

物S'和S的最小光程在像曲面S中的位置可能不同,这只是某个光线路径的光程相同,并一定是像点。

首先我给出像点的定义:所谓的像点就是到达这个点的所有的光程都相等,如果只是部分光程相等,那就不是像点。

然后我给出最小光程的解释:最小光程说的是折射的意思。如果所有的光程在像曲面S1上的某个点都相等,那所有的光程都是最小光程了。

但是从最坏的情况考虑,假设双曲线上的物点S'和S的所有光程都在像曲面上,并且最小光程的像点在像曲面S的位置是一样的。那么可以认为这个双曲线是不成像的,因为光线重合了。也就是说在成像的边界处是不成像的,只能感受到有光,但是没有信息。

这个最坏的情况就是成像的视野了。我现在解决透镜右边像曲面是2维的,左边物区域是三维的问题。

实际上同胚的只能是二维的,也就是说能清晰看到的是二维流形,其余的三维的是不清晰的。也就是说在V区域只表示能看到的,但是在任何情况下,能够清晰成像的都是二维的流形,比如三维空间中的球面是二维的。在最小光程双曲线上,W和U区域包括双曲线是不可见的,但是W区域是不在成像曲面S上。而双曲线上是在成像曲面S的边界上,但只是能感受到光而没有信息。

所以,广角镜头为什么周围会有扭曲感呢?就是因为这个不可见的双曲线。

当透镜大小,即光程AB=2c不变的时候,而当焦距变小的时候,像曲面S1的距离变小了,即是SA-SB=2a变大了。

渐近线公式:y=±(a/b)x (焦点在y轴上)

aa+bb=cc, 所以b变小了,所以渐近线的斜率变大了,所以我上面的W区域和U区域更小了。所以短焦的视野更大,就是这个道理。

          

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python,PyCharm,Anaconda安装及使用教程

一、Python下载及安装 Python官网Welcome to Python.org 当前最新版是3.11.0版本:python-3.11.0-amd64.exe 下一步,下一步进行安装即可 选择:“Customize installation”,出现下图: 点击“Next”下一步,出现如下图…

HTTP网络协议

1.HTTP (1)概念: Hyper Text Transfer Protocol,超文本传输协议规定了浏览器和服务器之间数据传输的规则。 (2)特点 基于TCP协议:面向连接,安全基于请求-响应模型的:一次请求对应一次响应HTTP协…

Redis源码学习:quicklist的设计与实现

为什么需要quicklist 假设你已经知道了ziplist的缺陷: 虽然节省空间,但是申请内存必须是连续的,如果内存占用比较多,申请效率低要存储大量数据,超过了ziplist的最佳上限后,性能有影响 借鉴分片思想&…

说说 SSL 的错误认识和不足之处

最近明月在学习折腾 LNMP 期间无意中建了一个 Typecho 的博客小站,近一周的折腾下来,收获真的不少,致使兴趣也越来越浓了,在升级 LNMP 的时候捎带手的给这个 Typecho 博客也启用了 SSL。并且开启了 memcached 和 OPcache 优化加速…

Spring Cache常见问题解决

目录 一 报错:Null key returned for cache operation 二 报错:类型转换异常 三 取出的数据为null 一 报错:Null key returned for cache operation 这里报错有两种情况: 第一,如果你在新增的方法上使用Cacheable注解,那么肯定是…

终极解决方案,传统极速方案,下载软件的双雄对决!

在数字资源日益丰富的今天,下载管理器成为了我们日常生活中不可或缺的工具。市场上两款备受欢迎的下载管理软件——Internet Download Manager(IDM)和迅雷11,它们以各自的特色和优势,满足了不同用户群体的需求。 软件…

5.3 Python len()函数:获取字符串长度或字节数

Python len()函数详解:获取字符串长度或字节数 Python 中,要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使用 len 函数。 len 函数的基本语法格式为: …

python-今年第几天

[题目描述] 定义一个结构体变量(包括年、月、日)。 计算该日在本年中是第几天,注意闰年问题。输入格式: 年 月 日。输出格式: 当年第几天。样例输入 2000 12 31样例输出 366 数据范围 对于100%的数据,保…

解决MNIST数据集下载慢,或者Http连接失败问题

下载MNIST数据集时遇到速度慢的问题 解决:手动从MNIST数据集的官方网站直接使用下载好的数据文件,放到指定目录下,再进行调取即可。 手动下载地址:MNIST官网 http://yann.lecun.com/exdb/mnist/ 【仍需要连接外网】 这里我提供…

ATA-4052C高压功率放大器在新能源汽车安全测试中的应用

新能源汽车的崛起已经改变了汽车行业的格局,为环境友好型交通方式提供了更多的选择。为了确保这些新型汽车的安全性和可靠性,进行全面的安全测试是至关重要的。高压功率放大器在新能源汽车的安全测试中发挥着重要的作用,本文将介绍其应用以及…

已解决:Vector析构异常Opencv Assert _CrtIsValidHeapPointer

已解决:Vector析构异常Opencv Assert _CrtIsValidHeapPointer 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉…

PathDecider 详细解读

目录 PathDecider的主要功能 PathDecider代码分析 Process() MakeObjectDecision() MakeStaticObstacleDecision() MakeStaticObstacleDecision()的流程图​编辑 MakeStaticObstacleDecision()的代码解析 GenerateObjectStopDecision() PathDecider里用到的其他函数 …

C语言入门4-函数和程序结构

函数举例 读取字符串&#xff0c;如果字符串中含有ould则输出该字符串&#xff0c;否则不输出。 #include <stdio.h>// 函数声明 int getLine(char s[], int lim); int strindex(char s[], char t[]);int main() {char t[] "ould"; // 要查找的目标子字符串…

自然语言处理学习路线(1)——NLP的基本流程

NLP基本流程 【NLP基本流程】 0. 获取语料 ——> 1. 语料预处理 ——> 2. 特征工程&选择 ——> 3. 模型训练 ——> 4. 模型输出&上线 【NLP基本流程图】 Reference 1. 自然语言处理(NLP)的一般处理流程&#xff01;-腾讯云开发者社区-腾讯云 2. …

Vatee万腾平台:智能科技的领航者

随着科技的飞速发展&#xff0c;数字化转型已成为企业、行业乃至整个社会不可逆转的趋势。在这个变革的浪潮中&#xff0c;Vatee万腾平台凭借其卓越的技术实力、前瞻的战略眼光和卓越的服务品质&#xff0c;成为了智能科技的领航者。 Vatee万腾平台致力于为企业提供全方位的数字…

【Python机器学习】利用t-SNE进行流形学习

虽然PCA通常是用于变换数据的首选方法&#xff0c;使你能够用散点图将其可视化&#xff0c;但这一方法的性质限制了其有效性。 有一类用于可视化的算法叫做流形学习算法&#xff0c;它允许进行更复杂的映射&#xff0c;通常也可以给出更好的可视化。其中特别有用的一个就是t-S…

google gemini1.5 flash视频图文理解能力初探(一)

市面能够对视频直接进行分析的大模型着实不多&#xff0c;而且很多支持多模态的大模型那效果着实也不好。 从这篇公众号不只是100万上下文&#xff0c;谷歌Gemini 1.5超强功能展示得知&#xff0c;Gemini 1.5可以一次性处理1小时的视频、11小时的音频或100,000行代码&#xff0…

c++设计模式之一创建型模式

1、创建型模式&#xff08;常见的设计模式&#xff09; Factory 模式&#xff08;工厂模式&#xff0c;被实例化的子类&#xff09; 在面向对象系统设计中经常可以遇到以下的两类问题&#xff1a; 下面是第一类问题和代码示例&#xff1a;我们经常会抽象出一些类的公共接口以…

stm32学习笔记---新建工程步骤和点灯演示

目录 STM32的三种开发方式 基于寄存器的方式 基于库函数的方式 基于Hal库的方式 固件库介绍 新建基于标准库的工程步骤 配置寄存器来完成点灯操作 添加库函数来完成点灯操作 添加库函数 开始点灯操作 第一步&#xff1a;使能时钟 第二步&#xff1a;配置端口模式 …

ic基础|功耗篇03:ic设计人员如何在代码中降低功耗?一文带你了解行为级以及RTL级低功耗技术

大家好&#xff0c;我是数字小熊饼干&#xff0c;一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结&#xff0c;并通过汇总成文章的形式进行输出&#xff0c;相信无论你是在职的还是…