费马原理与光的反射折射

news2024/9/20 8:15:58

费马原理:光传播的路径是光程取极值的路径

光的反射

在这里插入图片描述

如上图所示,光从P点出发射向x点,反射到Q点。
P 点到 x 点的距离 d 1 = x 2 + a 2 d1 = \sqrt{x^2 + a^2} d1=x2+a2
Q 点到 x 点的距离 d 2 = b 2 + ( l − x ) 2 d2 = \sqrt{b^2 + (l-x)^2} d2=b2+(lx)2

点 P 到点 Q 的光程 D = d 1 + d 2 D = d1 + d2 D=d1+d2

根据费马原理,光线在真空中传播的路径是光程为极值的路径。

取光程 D 对 x 的导数,令其为零:

d D d x = x x 2 + a 2 + − l + x b 2 + ( l − x ) 2 = 0 \frac{dD}{dx} = \frac{x}{\sqrt{x^2 + a^2}} + \frac{-l + x}{\sqrt{b^2 + (l-x)^2}} = 0 dxdD=x2+a2 x+b2+(lx)2 l+x=0

根据三角函数关系:

sin ⁡ θ 1 = x x 2 + a 2 sin ⁡ θ 2 = l − x b 2 + ( l − x ) 2 \sin{\theta_1} = \frac{x}{\sqrt{x^2 + a^2}} \quad \sin{\theta_2} = \frac{l - x}{\sqrt{b^2 + (l-x)^2}} sinθ1=x2+a2 xsinθ2=b2+(lx)2 lx

代入上面的求导,可以得到: sin ⁡ θ 1 = sin ⁡ θ 2 θ 1 = θ 2 \sin{\theta_1} = \sin{\theta_2} \quad \theta_1 = \theta_2 sinθ1=sinθ2θ1=θ2

光的折射

在这里插入图片描述

如上图所示,假设介质 1 和介质 2 的折射率分别为 n 1 , n 2 n_1, n_2 n1,n2,那么光在介质 1 和介质 2 中的速度分别为 v 1 , v 2 v_1, v_2 v1,v2

v 1 = c / n 1 v 2 = c / n 2 v_1 = c/n_1 \quad v_2 = c / n_2 v1=c/n1v2=c/n2

从点 Q 到点 P 的传播时间 T为:

T = x 2 + a 2 v 1 + b 2 + ( l − x ) 2 v 2 T = \frac{\sqrt{x^2 + a^2}}{v_1} + \frac{\sqrt{b^2 + (l-x)^2}}{v_2} T=v1x2+a2 +v2b2+(lx)2

根据费马原理,光线传播的路径是所需时间为极值的路径,取传播时间 T 对 x 的导数,设定其为零

d T d x = x v 1 x 2 + a 2 + − l + x v 2 b 2 + ( l − x ) 2 = 0 \frac{dT}{dx} = \frac{x}{v_1 \sqrt{x^2 + a^2}} + \frac{-l + x}{v_2 \sqrt{b^2 + (l-x)^2}} = 0 dxdT=v1x2+a2 x+v2b2+(lx)2 l+x=0

根据三角函数关系:

sin ⁡ θ 1 = x x 2 + a 2 sin ⁡ θ 2 = l − x b 2 + ( l − x ) 2 \sin{\theta_1} = \frac{x}{\sqrt{x^2 + a^2}} \quad \sin{\theta_2} = \frac{l - x}{\sqrt{b^2 + (l-x)^2}} sinθ1=x2+a2 xsinθ2=b2+(lx)2 lx

d T d x = sin ⁡ θ 1 v 1 − sin ⁡ θ 2 v 2 = 0 \frac{dT}{dx} = \frac{\sin{\theta_1}}{v_1} - \frac{\sin{\theta_2}}{v_2} = 0 dxdT=v1sinθ1v2sinθ2=0

将速度公式代入可以得到:

n 1 sin ⁡ θ 1 = n 2 sin ⁡ θ 2 n_1 \sin{\theta_1} = n_2 \sin{\theta_2} n1sinθ1=n2sinθ2

这个就是光的折射定律。

参考:https://zh.wikipedia.org/wiki/%E8%B2%BB%E9%A6%AC%E5%8E%9F%E7%90%86

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

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

相关文章

WebAPIs-DOM操作元素属性/自定义属性

Web APIs web APIs 操作页面元素做出各种效果 DOM 文档对象模型 使用js操作页面文档 BOM 浏览器对象模型 使用js操作浏览器 API 应用程序接口 接口:无需关心内部如何实现,只需要调用就可以很方便实现某些功能 作用:使用js提供的接口来操…

SQL事务与隔离

事务 事务的定义 事务是完成一个任务的多条语句,这些语句中,只要有一条语句失败,那么整个事务就会失败,即使之前的语句已经执行完毕也会被撤回 举个例子: 我去银行给王哥转钱,这个转钱呢分两个步骤,第一步先把我的钱拿出来,第二步把钱给王哥,那万一刚把我钱拿出来但是没到王…

大数据分析案例-基于LightGBM算法构建公司破产预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

1.网络基础

什么是网络? 信息传递,资源共享 计算机—1946年2月14日—电脑 电流—二进制— 1001—人类语言(抽象语言)—应用程序—编译—编码—应用层 把人类语言转化为二进制—表示层(编码表) 网路层——路由器&#x…

AI 绘画 - 建筑绘图辅助设计之生图

前情提要 2023-06-16 周五 杭州 小雨 小记: 今天下班,回来比较晚,端午节去看老弟,只希望下周不要那么多乱七八糟的事情了,继续AI 绘画,之前上学的时候从来不爱做笔记的,现在或许是老了吧,。 …

C语言复习笔记5

1.函数 #include<stdio.h>void Add(int *p) {(*p); }int main() {int time0;Add(&time);printf("%d\n",time);return 0; }2.二分查找 #include<stdio.h>void Add(int *p) {(*p); }int main() {int time0;Add(&time);printf("%d\n",t…

Linux常用命令——findfs命令

在线Linux命令查询工具 findfs 标签或UUID查找文件系统 补充说明 findfs命令依据卷标&#xff08;Label&#xff09;和UUID查找文件系统所对应的设备文件。findfs命令会搜索整个磁盘&#xff0c;看是否有匹配的标签或者UUID没有&#xff0c;如果有则打印到标注输出上。find…

Spring中的设计模式

目录 1.Spring中使用到的设计模式有&#xff1a; 2.工厂模式 3.单例模式 4.代理模式 5.模板模式 6.适配器模式 1.Spring中使用到的设计模式有&#xff1a; 工厂模式&#xff1a;实现IoC容器 单例模式&#xff1a;将bean设置为单例 代理模式&#xff1a;AOP的底层实现 模板…

聊一聊.NET的网页抓取和编码转换

在本文中&#xff0c;你会了解到两种用于 HTML 解析的类库。另外&#xff0c;我们将讨论关于网页抓取&#xff0c;编码转换和压缩处理的知识&#xff0c;以及如何在 .NET 中实现它们&#xff0c;最后进行优化和改进。 文章目录 1. 背景2. 网页抓取3. 编码转换4. 网页压缩处理5.…

C#,数值计算——哈夫曼编码与数据压缩技术(Huffman Coding and Compression of Data)源代码

1 霍夫曼编码导论 霍夫曼编码是一种基于数据集中符号频率的无损数据压缩形式。它是一种前缀编码方案&#xff0c;这意味着编码的数据不包含任何冗余比特。霍夫曼编码广泛应用于各种应用&#xff0c;如图像和视频压缩、数据传输和数据存储。 2 霍夫曼编码的优点 以下是霍夫曼编…

[LeetCode周赛复盘] 第 326 场周赛20230702

[LeetCode周赛复盘] 第 326 场周赛20230702 一、本周周赛总结6909. 最长奇偶子数组1. 题目描述2. 思路分析3. 代码实现 6916. 和等于目标值的质数对1. 题目描述2. 思路分析3. 代码实现 6911. 不间断子数组1. 题目描述2. 思路分析3. 代码实现 6894. 所有子数组中不平衡数字之和…

【小沐学Unity3d】Unity播放视频(VideoPlayer组件)

文章目录 1、简介2、脚本播放示例3、界面播放示例3.1 2d界面全屏播放3.2 2d界面部分区域播放3.3 3d模型表面播放 结语 1、简介 使用视频播放器组件可将视频文件附加到游戏对象&#xff0c;然后在运行时在游戏对象的纹理上播放。 视频播放器 (Video Player) 组件: 属性功能Sourc…

Java实现OpenAI 模型训练(fine-tune)

本文章介绍如何用java实现OpenAI模型训练&#xff0c;仅供参考 提前准备工作 OpenAI KEY&#xff0c;获取方式可自行百度需要自备VPN 或 使用国外服务器转发需要训练的数据集&#xff0c;文章格式要求为JSONL&#xff0c;格式内容详见下图&#xff08;尽量不要低于500个问答&…

openai

⭐作者介绍&#xff1a;大二本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;努力输出优质文章 ⭐作者主页&#xff1a;逐梦苍穹 ⭐所属专栏&#xff1a;人工智能。 目录 1、简介2、如何实现3、api文档 1、简介 OpenAI 提供了一个名为 OpenAI API 的库&#xff0c;用…

npm构建vite项目

基础环境 npm init vitelatest 依次输入项目名称、使用框架、使用语言。 生成的项目 进入目录&#xff0c;安装依赖&#xff0c;启动项目。 cd 0702_demo01npm installnpm run dev

网络安全进阶学习第四课——SSRF服务器请求伪造

文章目录 一、什么是SSRF&#xff1f;二、SSRF成因三、SSRF简析四、PHP存在SSRF的风险函数五、后台源码获取方式六、SSRF危害七、SSRF漏洞挖掘从WEB功能上寻找&#xff0c;从URL关键字中寻找 八、SSRF具体利用ssrf常利用的相关协议PHP伪协议读取文件端口扫描 九、SSRF存在的必要…

架构分层方法指导

在《不过时的经典层架构》里讲了经典的四层架构怎样对易变性做封装。咱们实际项目中&#xff0c;如果没有足够的实践和关键性思考&#xff0c;还是很可能使用名义上科学的分类理论&#xff0c;却在按照功能进行架构分层。今天咱们就通过一些简单的指导来尽量减少这种风险。 四问…

LeetCode 75 —— 70. 爬楼梯

LeetCode 75 —— 70. 爬楼梯 一、题目描述&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法…

机器学习笔记 - 基于OpenCV和Vantage-point tree构建图像哈希搜索引擎

一、关于图像哈希 上一篇文章中,了解到了图像哈希是使用算法为图像分配唯一哈希值的过程。在深度学习普及之前,一些搜索引擎使用散列技术来索引图像。 言外之意目前的图像搜索引擎主要都是基于深度学习的技术,不过思路都是一样的,我们这里基于OpenCV提供的图像哈希技术构建…

python实现削苹果小游戏

也不用998只有199源码发你。 支付完发我邮箱发你源代码。