目录

【问题描述】

【问题分析】

【建立模型】

【问题解答】

【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 中的角 和  来表示,得到:

         (方程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 定律变成

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        (方程7)

在这张实验室的照片中

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        °,°

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

Snell定律(折射定律)之导数的应用相关推荐

  1. matlab斯奈尔定律,2 第二章 地震波运动学理论

    等于入射角θ: ④ 反射线.入射线和法线所构成的的平面为射线平面,垂直与界面. 透射定律: ① 透射线也位于入射面内,② 入射角的正弦和透射角的正弦之比等于第一和第二两种介质的波速之比. 综合反射定律 ...

  2. 视觉与图像系列 几何光学I 近轴光学1 Fermat原理

    视觉与图像系列 几何光学I 近轴光学1 Fermat原理 三个实验定律 Fermat原理 我们首次接触几何光学是在初中的物理课上,它给我留下的印象就是各种画图,折射.反射.组合透镜的光路图.后来大一时 ...

  3. GPU Gems1 - 2 水刻蚀的渲染

    2.1 引言 光线从弯曲的表面反射或折射,因此只聚焦在受光面上的某些区域,于是就产生了刻蚀现象.本文从美学角度出发,不以纯物理的方式计算,使其很容易在大多数图形硬件上实现,效果又十分逼真. 2.2 刻 ...

  4. 现代数学和理论物理已经发展到多么令人震惊的水平了?

    来简单说一下当前可以确认的理论物理的高度.我们最早的理论物理是为实验服务的.在那个年代,我们依然处于做大量的实验,然后总结规律的阶段.所以在这一阶段涌现出了一系列比较初等的定律,比如 热力学第n定律 ...

  5. Whitted光线追踪实现

    Whitted光线追踪实现 Whitted光线追踪是的光线追踪中最经典示例之一.该技术由特纳·惠特(Turner Whitted)于1980年在Siggraph论文"用于阴影显示的改进的照明 ...

  6. 【声学基础】概述——传播

    第四章.声波的基本特性   本章主要描述了理想流体媒质中声波的传播特性.注意,弹性媒质是声波传播的必要条件,理想流体媒质的弹性主要表现在体积改变出现的恢复力. 声波方程   首先考虑声波的三个基本物理 ...

  7. Geophysics背景知识(2)

    Geophysics背景知识(2) 地震波的运动学理论 地震波运动学:用波前,射线描述波的运动,与几何光学相似,也称为几何地震学. 地震波动力学:从波动方程出发,从能量角度来研究波的特征. 地震波场理 ...

  8. [图形学] 基于物理的渲染(PBR)

    reference :<real-time rendering 4> BRDF 概述 基于物理的渲染即计算沿着视线进入相机的光照辐射.如果不考虑吸收或散射的介质,则进入相机的辐射等于离开相 ...

  9. 计算机图形学 1 —— 颜色模型图像基本知识,Phong光照模型

    色彩视觉 什么是色彩? 色彩是对不同波长的光的能量的感知: 不同波长的电磁波(electromagnetic waves) 对应不同的色彩: 对于人眼能感知的光(可见光),其波长范围为 380nm到7 ...

最新文章

  1. 06JavaScript中的流程控制之循环结构
  2. 天昊Accu16S细菌绝对定量测序项目登陆顶级环境杂志《Journal of Hazardous Materials》...
  3. 【代码笔记】iOS-屏幕旋转
  4. failed to open log file_log日志功能及设置方法
  5. 安装SQL2000,挂起无法安装问题
  6. 数据处理踩过的坑(不断更新):
  7. 单台mysql增加节点_如何在一台服务器上安装两个PXC集群节点
  8. jq获取同级元素_jq获取上级、同级、下级元素
  9. [AH2017/HNOI2017]礼物
  10. 如何设置Hyper-V的虚拟机快捷方式
  11. 动手学无人驾驶(1):交通标志识别
  12. 专有网络VPC搭建FTP站点
  13. QPSK调制及MATLAB实现
  14. iOS开发IPhone以及iPad尺寸汇总
  15. 412:Cadence使用—— Padstack Editor焊盘设计
  16. HTTP长连接、短连接使用及测试
  17. 联想小新310电脑Fn功能键切换
  18. 控制结构:1.台球游戏
  19. Excel中 匹配尾部字符并替换
  20. shopee虾皮货代仓储打包系统erp铺货中转仓

热门文章

  1. 互联网电商大厂库存系统设计案例讲解
  2. 科三考试邢台市交安考试路线
  3. 利用for循环,计算1+2+3+……+100。等差数列求和
  4. mysql脏读解决方案_MySQL为什么可以解决脏读和不可重复读?
  5. Linux基础之 getopts
  6. 74HC595驱动四位数码管
  7. 车展背后|车规级芯片知多少?
  8. java 中的 while和 do...while语句的区别
  9. 数据版吐槽大会:盘点2018国产综艺节目
  10. win10 win11 系统安装指南