为什么会有虚像

本来我就打算写虚像相关的内容,实际上我看不懂光学的内容,我只是发觉书上没有使用变分法来做,而只是解析几何的变换,这个做法完全脱离实际,物理书为什么会这样写不知道原因,但是很明显这样的内容也非常的复杂,而且一直在讲的是特例,没有意义啊。透镜成像的基本原理是费马原理,而不是解析几何。

所以我写这些内容的前提是依据我初中的物理,而且完全不记得了,有个模糊的印象。按照这个印象写出来的。

本来按照实像的原理就是数学上的同胚关系的,但是虚像也是同胚。

问题是物体曲面S的任意一点漫反射发出的光线在裁剪窗口O上,到处都是,经过反射,或者折射为什么能够形成虚像?形成虚像的原因是透过透镜的光线在反向延长之后形成的像是虚像,但是根据上面的射入裁剪窗口O的说法,射入透镜的某个表面位置y的光,其实来自物体曲面S的任意位置。为什么会选择一些光线形成像,而不是选择来自物体曲面S的不同位置x1,x2的光d1,d2反向延长形成像呢?

这个问题的回答跟之前的回答是一样的,人眼选择的过程是眼睛对焦的过程,而对焦的过程中一直都是在接受信号的,也是在成像的,分清模糊和清晰图像的依据是类似于照相机的自动对焦的算法。我这里也给出了一个自创的算法,就是采样,变换,拟合出来的光波周期函数F(x,t)---这是测量出来的结果,不代表真实的光波周期函数,真实的应该使用麦克斯韦电磁方程组做。测量出来的F(x,t)-也可以利用把麦克斯韦电磁方程组的解,先经过变分法,然后研究出来光线在透镜作用下的方向问题,再进行矢量分解得到F(x,t),过程复杂。

F(x,t)对t求导得到G(x,t),然后通过统计在像曲面S1上的Gx(x,t)=0的x的个数,只有最小的才是对上焦的。但是这个过程没有那么简单,因为再调整焦距的过程中,F(x,t)随着时间在变化的,所以当你的大脑刚好判断出来是需要像距更远才会更清晰的时候,t已经变化了,好在无论怎么变化,都不影响对焦的过程,反正是越来越清晰的。

非常需要注意的一点,这里的虚像的问题,虚像和实像的不同是在物理上虚像不能通过反光屏幕呈现出来,但是所谓的虚像在眼睛中依然是成实像的。

我之前说的像曲面S1指的是在眼睛中的成像,透镜是晶状体。

物体发出的漫反射光和物体发出的漫反射光经过反射,折射之后的光在眼睛都是成像的。

至于虚像的放大和缩小,还有对称变换,都是同胚的。

=========================================================================

物体正常的漫反射光通过裁剪窗口,和物体漫反射的光经过折射之后通过裁剪窗口,只是让原来的光线更发散或者发散程度变小了,光线发散了,不是会看到细节更多吗?为什么反而是缩小效果?

按理说是细节放大了,但是对焦距离不同,本来用变分法可以描述,但是我做不出来,那只能大致描述了。

我利用折射率公式做出描述。

sin\theta 1/sin\theta 2=n >1, 现在要计算偏转程度,就是\theta 1-\theta 2。考虑增长速度就是cos\theta, 这里的\theta 1>\theta 2, 所以cos\theta 2>cos\theta 1, 所以当\theta 1增大的时候,sin\theta 1的增加速度更慢,而sin\theta 2的增加速度更快,这意味着要保持比值,\theta 1增大的更多,\theta 2增大的较少,意味着\theta 1-\theta 2变大了。

也就是说,如果物曲面S发出的漫反射光的发散程度变小了,那么通过透镜的时候,需要的偏转程度就变小了。那么只能是入射角变小了,根据上面的讨论。因为发散程度变小是凸透镜做的,所以,他要变得不那么凸,才会使得入射角变小,那么焦距确实是变大了。

焦距更大了之后,像曲面S1变大如何理解呢?考虑物曲面S的边缘位置x,这个应该也是像曲面S1的边缘,从x位置发出的漫反射光,通过裁剪窗口O的方向所笼罩的就只能是成像的范围,由于透镜不那么凸了,与光轴的夹角就不那么大了,边缘的光线不那么集中,所以像自然就变大了。

同理物曲面S发出的漫反射光发散一些,感觉是放大了,但是眼睛的对焦距离变近了,因为需要的偏转程度要变大。焦距越近,眼睛的成像曲面越小,所以是缩小效果。

=============================================================

就这样结束了,感觉没啥意思。

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

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

相关文章

docker基础,docker安装mysql,docker安装Nginx,docker安装mq,docker基础命令

核心功能操作镜像 Docker安装mysql docker run -d --name mysql -p 3306:3306 -e TZAsia/Shanghai -e MYSQL_ROOT_PASSWORDlcl15604007179 mysql docker的基本操作 docker rm 容器名称即可 docker ps 查看当前运行的容器 docker rm 干掉当前容器 docker logs 查看容器命令日…

瑞安面试分享

瑞安面试分享 面试时间:07/06/2024 方式:在线zoom,雇主会发面试链接,提前进入准备 瑞安招前端和后端开发,我面的是偏数据库设计的后端开发 问题1:自我介绍 寒暄后开始自我介绍,如果是后端就…

Golang:bytes 格式和解析数字字节值(10K、2M、3G等)

bytes 格式和解析数字字节值(10K、2M、3G等) 文档 https://github.com/labstack/gommon/tree/master/bytes 安装 go get github.com/labstack/gommon/bytes代码示例 格式化 bytes.Format(13231323) // 12.62MiB解析 b, _ : bytes.Parse("2M") // 2000000完整代…

代码随想录算法训练营Day32|122.买卖股票的最佳时机II、55.跳跃游戏、45.跳跃游戏II

买卖股票的最佳时机II 122. 买卖股票的最佳时机 II - 力扣(LeetCode) 这里我的贪心策略是,判断今天和前一天的股票差值,若差值大于0,则说明能获益,即卖出,每天都比较一次,将所有差…

为什么Vue的watch函数无法检测到父组件的参数变化?

在 Vue 中,watch 函数用于观察和响应 Vue 实例上的数据变动。然而,如果你在父组件中直接修改了数组或对象的内容(例如,通过索引直接设置一个项的值,或者使用 Array.prototype.push 修改数组),Vu…

【ARM Cache 及 MMU 系列文章 6 -- Cache 寄存器 CTR_EL0 | CLIDR | CCSIDR | CSSELR 使用详解 1】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Cache 常用寄存器Cache CSSELR 寄存器Cache CSSELR 使用场景Cache CSSELR 操作示例 Cache CLIDR 寄存器LoUU 介绍LoUU 使用 LoUIS 介绍CLIDR 使用 Cache CCSIDR 寄存器Cache CTR_EL0 C…

移动端投屏到大屏幕的操作详解

如果你懒得折腾电脑、电视或其他大屏设备上的影视软件安装及配置,可以选择直接在手机端上将影片投屏到电脑、电视或其他大屏设备上,这里给大家分享三种手机投屏的方法。 系统自带的投屏功能 不管是安卓、鸿蒙还是苹果操作系统,都自带了无线…

【RabbitMQ】exchange\channel\queue的联系

Exchange、Channel和Queue在RabbitMQ中各自扮演不同的角色,它们之间的联系构成了RabbitMQ消息传递的核心机制。以下是对它们之间联系的详细解释: Exchange(交换机): 交换机是RabbitMQ中的消息路由器,它接收…

8.3 Go 包的组织结构

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

HTML静态网页成品作业(HTML+CSS)—— 家乡南宁介绍网页(2个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…

使用`dbus-monitor`命令深入了解DBus通信

使用dbus-monitor命令深入了解DBus通信 DBus是一种消息总线系统,它允许应用程序在运行时进行通信。在Linux系统中,DBus是一个重要的组成部分,特别是在桌面环境中,如GNOME或KDE。dbus-monitor是一个命令行工具,用于监视…

【Python】解决Python报错:IndexError: list index out of range

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 循环中的索引错误2.2 错误的列表操作 3. 解决方案3.1 使用安全的访问方法3.2 循环时使用正确的范围 4. 预防措施4.1 编写单元测试4.2 动态检查列表长度 结语 引言 在Python中操作列表时,IndexError: list …

Web 版 | 开源数据库设计软件 | drawdb

文章目录 简介快速运行方式 1:本地运行方式 2:Docker 构建并运行方式 3:Docker 运行参考🚀 目标: 安装一个 Web 版本的 ER 图设计软件! 👉 GitHub: https://github.com/drawdb-io/drawdb 【11.7k ⭐】 简介 DrawDB:Free, simple, and intuitive database design …

算法学习笔记——二分搜索

二分搜索 在有序数组中确定num存在还是不存在&#xff1a; 当arr[m] num&#xff0c;则num存在当arr[m] > num&#xff0c;则 r m - 1&#xff0c;缩小r的范围&#xff0c;继续往左二分当arr[m] < num&#xff0c;则l m 1&#xff0c;缩小l的范围&#xff0c;继续往…

Android基础-进程间通信

在Android系统中&#xff0c;跨进程通信&#xff08;IPC&#xff0c;Inter-Process Communication&#xff09;是实现不同应用程序或同一应用程序中不同进程间数据共享和交互的关键技术。Android提供了多种IPC机制&#xff0c;每种机制都有其特定的使用场景和优缺点。下面将详细…

代码随想录算法训练营第36期DAY51

DAY51 121买卖股票的最佳时机 做过了。算是二刷&#xff1a;来自力扣优质题解 贪心&#xff1a; 每次记录更新最小点和最大出售值。 class Solution {public: int maxProfit(vector<int>& prices) { int cur,resINT_MIN,curminINT_MAX; for(int…

从军事角度理解“战略与战术”

战略与战术&#xff0c;均源于军事术语。 战略&#xff08;Strategy&#xff09;&#xff0c;源自希腊语词汇“strategos&#xff08;将军&#xff09;”和“strategia&#xff08;军事指挥部&#xff0c;即将军的办公室和技能&#xff09;”。指的是指挥全局性作战规划的谋略…

【位运算】【前缀和】个人练习-Leetcode-1177. Can Make Palindrome from Substring

题目链接&#xff1a;https://leetcode.cn/problems/can-make-palindrome-from-substring/description/ 题目大意&#xff1a;给出一个字符串s&#xff0c;每次query给出l, r, k&#xff0c;要求判断子串s[l:r1]在经过k次操作后是否能变为回文串。一次操作可以将子串内的一个字…

mysql 数据库在liunx 上的备份和恢复

一. mysql 数据库备份 sh 脚本 1. vim sqlback.sh #!/bin/bashUSER"root" #账号 PASSWORD"123456" #密码 DATABASE"test" #数据库名 BACKUP_DIR"/home/dev/mysql" #备份存的目录 TIMESTAMP$(date "%F") …

搭建python虚拟环境,并在VSCode中使用

创建环境 python -m venv E:\python\flask\venv激活环境 运行下图所示的bat文件 退出环境 执行下面的语句 deactivateVSCode中配置&#xff1a; ①使用CTRLshiftp命令&#xff0c;使用CTRLshiftp命令&#xff0c;输入&#xff1a; Python: Select Interpreter②选择之前创建…