大话光学原理:1.“实体泛光说”、反射与折射
一、实体泛光说
在古希腊,那些喜好沉思的智者们中,曾流传着一个奇妙的设想:他们认为,我们的眼睛仿佛伸出无数触手般的光线,这些光线能向四面八方延伸,紧紧抓住周围的每一个物体。于是,当我们凝视某物时,实际上是我们的目光在轻抚着它。然而,这个理论很快就在先哲们严密的逻辑推理下土崩瓦解:如果我们的眼睛自带发光能力,那为何夜晚还会降临?如果我们不断从睁开眼皮的瞬间起,就不停地放射出光芒,黑暗又怎么可能存在?这个“眼睛发光论”自然不攻自破。尽管如此,关于光线如同触手的想象,却并没有因此消失无踪。

多年以后,一幅新的图景逐渐浮现,更具说服力地解释了我们的视觉奥秘:我们之所以能看见世界,是因为物体表面的微光悄悄穿透了我们的双眼。这一理论似乎在暗示,为了进入我们的视野,周围的石头、树木都在默默无闻地散发出光芒。每个生命,为了不被忽视,都必须努力闪耀自己的光芒。
这个新观点甚至试图解释黑暗的存在:只需所有生命和非生命同时停止发光,世界便会被黑暗笼罩。按照“实体泛光说”,虽然我们可以尝试创造一个小小的黑暗空间,但要抹去整个天空的光辉,其难度或许不亚于创造整个宇宙。那么,宇宙的创造者是否在每一粒物质背后都安装了一个秘密的亮度开关,以便绘制出无垠的夜空呢?
随着时间的流逝,工匠们手中的铜镜等光学工具日益精细,人类开始意识到,我们不仅可以用眼睛直接观察世界,还可以通过仪器从不同角度去探索。那些在阴影中清澈如水的镜片,一旦置于阳光下,便会闪耀出耀眼的光芒;在暗室中墙上凿开的小孔,竟能将屋外的景色倒映在对面墙上……这些奇妙的现象揭示了这样一个真理:视觉确实是外部光线激发视网膜产生的神经信号,但并非只有发光的物体才能被看见,那些不发光的物体同样可以通过周围的光线来展现自己的轮廓。所谓的黑暗,不过是光源暂时消失或被遮挡,使得不发光的物体显露出了它们本来的样子。
当我们似乎解开了“看”的谜题时,新的疑惑又随之而来:我们如何区分一个物体是在自发地“发光”,还是在借助周围的光线“借光”?光的本质究竟是什么呢?这些问题,依旧在人类的探索之中等待着答案。

二、反射与折射
当一束光在真空自由翱翔时,它毫无拘束地漫游着。然而,就在某个不经意的瞬间,一堵镜子突然出现在它的路径上。光勇敢地冲向前去,却惊讶地发现自己被温柔地弹了回来,这就是神奇的“反射”现象。带着些许好奇,光继续前行,这次却遇到了一汪清澈的泉水。它紧张地闭上眼睛,准备迎接新的挑战。不料——嘿,光竟然轻巧地穿过了这层界限,进入了一个全新的介质,并且改变了它的行进方向,这个过程被称作“折射”。
想象一下,在这两种介质的交界处,我们画一根垂直的线,这就是所谓的“法线”。光线与法线所形成的角度,就是我们所说的“入射角”。光线反射回来时与法线之间的角度,我们称之为“反射角”,而光线进入另一种介质后与法线形成的角度,则叫做“折射角”。这些角度之间隐藏着怎样的秘密联系呢?

人们观察到,不论是光线反射还是折射,其角度都会随着入射角的变化而相应调整。经过细致的测量,我们发现了一个简单而神奇的规律:在反射现象中,反射角总是与入射角保持一致。然而,折射现象则更为复杂。当光线穿越两种不同介质时,折射角虽然会有所偏移,但它始终与入射角保持同步增减。
那么,是什么神秘的力量决定了这个关键的比值呢?直到17世纪初,荷兰莱顿大学的数学教授威里布里德·斯涅耳通过整理多年的观测数据,终于揭示了这一规律:光线的偏转率取决于介质的搭配方式。这无疑是一项重大的发现。
举例来说,如果我们将光线的传播方向上下颠倒,让光线从水中进入真空,由于介质并未改变,我们只需将箭头翻转——原本的折射光变为入射光,而真空中的入射光变成折射光——就可以预测实际的情况。在这种情况下,入射角θi会比折射角θr更小,但折线的形状依然保持不变。
斯涅耳的这一发现,用数学语言表达,就是我们熟知的“折射定律”(斯涅尔定律)。

在光线的冒险中,θi和θr如同它的左右臂,分别指引着光线进入新领域的入射角与折射角。那个名为nr-i的神秘因子,则是连接两个世界的“相对折射率”。根据这一定律,我们只需将任意介质置于真空之中,测出光束从真空进入该介质的“绝对折射率”n,便可以预见到光的行踪。拿光从真空跃入水中的故事来说,我们已知它的绝对折射率为n水;而当光进入玻璃时,我们也知晓了它的绝对折射率n玻璃。借助斯涅耳定律,我们便能揭示光线接下来的旅程。

可推得:

相关文章:
大话光学原理:1.“实体泛光说”、反射与折射
一、实体泛光说 在古希腊,那些喜好沉思的智者们中,曾流传着一个奇妙的设想:他们认为,我们的眼睛仿佛伸出无数触手般的光线,这些光线能向四面八方延伸,紧紧抓住周围的每一个物体。于是,当我们凝视…...
住宅代理、移动代理和数据中心代理之间的区别
如果您是一名认真的互联网用户,可能需要反复访问某个网站或服务器,可能是为了数据抓取、价格比较、SEO 监控等用例,而不会被 IP 列入黑名单或被 CAPTCHA 阻止。 代理的工作原理是将所有传出数据发送到代理服务器,然后代理服务器将…...
光学传感器图像处理流程(一)
光学传感器图像处理流程(一) 1. 处理流程总览2. 详细处理流程2.1. 图像预处理2.1.1. 降噪处理2.1.2. 薄云处理2.1.3. 阴影处理 2.2. 辐射校正2.2.1. 辐射定标2.2.2. 大气校正2.2.3. 地形校正 2.3. 几何校正2.3.1. 图像配准2.3.2. 几何粗校正2.3.3. 几何精…...
el-table 树状表格查询符合条件的数据
需要对el-table的树状表格根据输入机构名称,筛选出符合条件的数据,可用如下方法: 页面内容如下: <el-input v-model"ogeName" placeholder"请输入机构名称"><el-table :data"list" row…...
MQTT教程--服务器使用EMQX和客户端使用MQTTX
什么是MQTT MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备…...
326. 3 的幂
哈喽!大家好,我是奇哥,一位专门给面试官添堵的职业面试员 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟! 文章目录 一、题目二、答案三、总结 一、题目 …...
多标签问题
一、多标签问题与单标签问题的区别: 多标签问题是单标签问题的推广。 举个例子,同时识别图片中的小汽车,公交车,行人时,标签值有三个:小汽车,公交车,行人。 单标签问题仅对一个标签…...
suricata7 rule加载(三)加载options
suricata7.0.5 加载options (msg:“HTTP Request Example”; flow:established,to_server; http.method; content:“POST”; http.uri; content:“query.php”; bsize:>9; http.protocol; content:“HTTP/1.1”; bsize:8; http.host; content:“360”; bsize:>3; class…...
【电路笔记】-C类放大器
C类放大器 文章目录 C类放大器1、概述2、C类放大介绍3、C类放大器的功能4、C 类放大器的效率5、C类放大器的应用:倍频器6、总结1、概述 尽管存在差异,但我们在之前有关 A 类、B 类和 AB 类放大器的文章中已经看到,这三类放大器是线性或部分线性的,因为它们在放大过程中再现…...
c++语法之函数重载
引例 我们在C语言里面写add函数的时候,只能支持一种类型的相加,除非我们创建多个add函数: 但是这样写并不方便,于是就有了c的函数重载。 函数重载 函数重载就是可以将多个参数类型、顺序、数量不同,实现逻辑相同的函…...
EtherCAT主站IGH-- 11 -- IGH之fmmu_config.h/c文件解析
EtherCAT主站IGH-- 11 -- IGH之fmmu_config.h/c文件解析 0 预览一 该文件功能`fmmu_config.c` 文件功能函数预览二 函数功能介绍1. `ec_fmmu_config_init`2. `ec_fmmu_set_domain_offset_size`3. `ec_fmmu_config_page`示例用法示例详细说明三 h文件翻译四 c文件翻译该文档修改…...
如何使用IDEA快速清理无效代码(荣耀典藏版)
大家好,我是月夜枫。 今天分享一下IDEA中很有实用价值的Analyze,那么Analyze是用来做什么的呢? 主要用来清理没有引用的代码,包括方法、实体类以及没有使用的Mapper和Service等。 为了是项目更加整洁,可以使用Idea中…...
ELK优化之Filebeat部署
目录 1.安装配置Nginx 2.安装 Filebeat 3.设置 filebeat 的主配置文件 4.修改Logstash配置 5.启动配置 6.kibana验证 主机名ip地址主要软件es01192.168.9.114ElasticSearches02192.168.9.115ElasticSearches03192.168.9.116ElasticSearch、Kibananginx01192.168.9.113ng…...
蝙蝠优化算法(Bat Algorithm,BA)及其Python和MATLAB实现
蝙蝠优化算法(Bat Algorithm,简称BA)是一种基于蝙蝠群体行为的启发式优化算法,由Xin-She Yang于2010年提出。该算法模拟了蝙蝠捕食时在探测目标、适应环境和调整自身位置等过程中的行为,通过改进搜索过程来实现优化问题…...
vscode运行java中文乱码,引发的mac配置问题
文章目录 问题 vscode 安装 java环境之后 public class Main{ public static void main(String[] args) { System.out.println(“哈哈”); } } ➜ .leetcode cd “/Users/leesin/.leetcode/.vscode/” && javac -encoding utf-8 Main.java && java Main &am…...
MySQL之备份与恢复(五)
备份与恢复 备份数据 符号分隔文件备份 可以使用SQL命令SELECT INTO OUTFILE以符号分隔文件格式创建数据的逻辑备份。(可以用mysqldump的 --tab选项导出到符号分隔文件中)。符号分隔文件包含以ASCII展示的原始数据,没有SQL、注释和列名。下面是一个导出为逗号分隔…...
离线运行Llama3:本地部署终极指南_liama2 本地部署
4月18日,Meta在官方博客官宣了Llama3,标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验,Llama3 8B效果已经超越GPT-3.5,最为重要的是,Llama3是开源的,我们可以自己部署! 本文和大家…...
【YOLO8系列】(二)YOLOv8环境配置,手把手嘴对嘴保姆教学
目录 一. 准备环境 1.Anaconda下载 2.创建yolov8虚拟环境 3.pytorch安装 4.CUDA下载 5.CUDNN下载 二、yolov8模型下载 1.clone模型 2.pycharm配置 ①解释器配置 ②终端配置 3.安装必要库 4.下载训练模型 三、 环境验证 四、总结 YOLOv8 是 YOLO 系列最新的目标…...
MFC常见问题解决
文章目录 1. 单文档程序初始化显示设置问题解决方案 2. MFC中控件响应出错 1. 单文档程序初始化显示设置 问题 在Microsoft Foundation Classes (MFC) 中,单文档应用程序(SDI)的初始化时默认并不设置为最大显示。但你可以通过编程方式在程序…...
学生管理系统 | python
1. 题目描述 ****************************** 欢迎使用学生管理系统 ****************************** 1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统 1 请输入学生姓名: zhangsan 请输入学生学号: 10010 请输入学生班级: 3 请输入学生成…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
