Snell定律(折射定律)之导数的应用

目录

【问题描述】

【问题分析】

【建立模型】

【问题解答】

【c++代码展示】

【产生结论】

【知识补充】


【问题描述】

        求一条光线从光速为 c1 的介质中的点 A 穿过平直界面,行进到光速为 c2 的介质中点 B 的路径。

【问题分析】

        因为光线从 A 到 B 会按最快的路径行进,所以我们寻求使行进时间最短的路径

【建立模型】

                                

                                                                        图1

        我们假定 A 和 B 位于 xy 平面,而且两种介质的分界线为 x 轴(图1) 在均匀的介质中光速不变,“ 最短时间 ” 意即 “ 最短路径 〞,而且光线遵循直线路径行进。由此,从A到B的路径由从A到边界点P 的线段,紧接着从 P 到 B 的另一个线段组成,由距离等于速率乘时间的公式。

【问题解答】

        时间 = 距离  / 速率        (公式1)

        所以,光线从 A 行进到 P 所需要的时间为:

                                                        (方程1)

        从 P 到 B 所需时间为:

                                                        (方程2)

        则从 A 到 B 的时间为此二者之和:

                ​​​​​​​        ​​​​​​​        ​​​​​​​        (方程3)

        这个方程把 t 表示为 x 的一个可微函数,其定义域为闭区间 [0, d] ,而我们要求的就是,在该闭区间上 t 的绝对值最小值。

        【注:识别零界点和端点】

        我们求得:

                                        (方程4)

        用图1 中的角\theta 1 和 \theta 2 来表示,得到:

                                                 (方程5)

        我们从方程4 可以知道在:

                x = 0 处,dt / dx<0,而在 x = d 处,dt / dx>0。

                由此得到在 x = 0 和 t = d 之间的某 x = xo 处 dr / dx = 0(图2)。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

                                                                        图2

        这样的点只有一个,因为dt / dx是增函。在x = xo 处:

                                                                (方程6)

        方程6 即 Snell 定律或折射定律

【c++代码展示】

#include<iostream>
#include<cmath>//数学函数库,用来计算平方根 
using namespace std;

int main () {
	
	//定义所需变量 
	float t1, t2, t, c1, c2, d, dt;
	
	//c1,c2分别为光速(具体含义可查看【问题描述】) 
	//通过公式1计算光线行进的总时间 
	t1 = (sqrt(a*a + x*x)) / c1;
	t2 = (sqrt(b*b + (d-x)*(d-x))) / c2;
	t = t1 + t2;
	
	//dt表示dt / dx, 是求导运算 
	//此处通过求导,计算光线行进所需的最小时间 
	dt =  (x / c1*sqrt(a*a + x*x)) - ((d-x) / c2*sqrt(b*b + (d-x)*(d-x)));
	
	return 0;
}

【产生结论】

        光线遵循的路径是由 Snell 定理描述的路径。

【知识补充】

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

                                                                            图3

 图3 说明了光线对空气和水的情形。

对室温下的空气和水,光速比为 1.33,从而 Snell 定律变成

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​\sin \theta 1 = 1.33 \sin \theta 2        (方程7)

在这张实验室的照片中

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \theta 1 = 35.5°,\theta 2 = 26°   

而    

                                        (sin 35.5° / sin 26°) = 0.581 / 0.438 = 1.33
和预测值相同
这张照片还说明了 反射角 = 人射角

        

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值