| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 【Python光学仿真】光线在线性分层的变折射率介质中传播的规律 -> 正文阅读 |
|
[Python知识库]【Python光学仿真】光线在线性分层的变折射率介质中传播的规律 |
光线模型默许了一条基本的原则:即道路千万条,光只走最短的那条。 为了让问题充分简单,先考虑折射率分层分布的情况,即假设空间中折射率分布为 n = n 0 + k x n=n_0+kx n=n0?+kx 取光线传播方向为坐标平面,建立坐标系 x O y xOy xOy,记光束入射设介质折射率分布为 n ( x , y ) n(x,y) n(x,y),光束与 x x x轴夹角为 θ \theta θ。 考虑折射率只在 x x x轴方向变化,即 n ( x ) n(x) n(x)。设介质中某点 ( x , y ) (x,y) (x,y)入射光线 ( x , y , θ ) (x,y,\theta) (x,y,θ),其临近的出射位置为 ( x + d x , y + d y ) (x+\text dx,y+\text dy) (x+dx,y+dy),有 n ( x ) sin ? θ ( x ) = n ( x + d x ) sin ? θ ( x + d x ) n(x)\sin\theta(x)=n(x+\text dx)\sin\theta(x+\text dx) n(x)sinθ(x)=n(x+dx)sinθ(x+dx) 记外界折射率为 n 0 n_0 n0?,入射角为 θ 0 \theta_0 θ0?,则对于任意一点,有 n ( x ) sin ? θ ( x ) = n 0 sin ? θ 0 n(x)\sin\theta(x)=n_0\sin\theta_0 n(x)sinθ(x)=n0?sinθ0? 则 d y = d x tan ? θ ( x ) = d x sin ? θ ( x ) 1 ? sin ? 2 θ ( x ) ( d y d x ) 2 = n 0 2 sin ? 2 θ 0 n ( x ) 2 ? n 0 2 sin ? 2 θ 0 \begin{aligned} \text dy&=\text dx\tan\theta(x)\\ &=\text dx\frac{\sin\theta(x)}{\sqrt{1-\sin^2\theta(x)}}\\ (\frac{\text dy}{\text dx})^2&=\frac{n_0^2\sin^2\theta_0}{n(x)^2-n_0^2\sin^2\theta_0}\\ \end{aligned} dy(dxdy?)2?=dxtanθ(x)=dx1?sin2θ(x)?sinθ(x)?=n(x)2?n02?sin2θ0?n02?sin2θ0??? 此即在折射率分层介质中,光的传播规律。 当 n ( x ) = n 0 + k x n(x)=n_0+kx n(x)=n0?+kx时,记 N 0 = n 0 sin ? θ 0 N_0=n_0\sin\theta_0 N0?=n0?sinθ0?,上式写为 ( d y d x ) 2 = N 0 2 ( n 0 + k x ) 2 ? N 0 2 d y d x = 1 ( n 0 + k x N 0 ) 2 ? 1 \begin{aligned} (\frac{\text dy}{\text dx})^2&=\frac{N^2_0}{(n_0+kx)^2-N_0^2}\\ \frac{\text dy}{\text dx}&=\frac{1}{\sqrt{(\frac{n_0+kx}{N_0})^2-1}} \end{aligned} (dxdy?)2dxdy??=(n0?+kx)2?N02?N02??=(N0?n0?+kx?)2?1?1?? 令 X = n 0 + k x N 0 X=\frac{n_0+kx}{N_0} X=N0?n0?+kx?,即 x = N 0 X ? n 0 k x=\frac{N_0X-n_0}{k} x=kN0?X?n0??,上式变为 d y d X k 2 N 0 = 1 X 2 ? 1 → y = 2 N 0 k ∫ 1 X 2 ? 1 d x → X = 1 cos ? α = 2 N 0 k ∫ d α cos ? α = 2 N 0 k ln ? ∣ 1 + sin ? α cos ? α ∣ → X = 1 cos ? α = 2 N 0 k ln ? ∣ X + X 2 ? 1 ) ∣ \begin{aligned} \frac{\text dy}{\text dX}\frac{k}{2N_0}&=\frac{1}{\sqrt{X^2-1}}\\ \to y&=\frac{2N_0}{k}\int\frac{1}{\sqrt{X^2-1}}\text dx\\ \xrightarrow{X=\frac{1}{\cos\alpha}}&=\frac{2N_0}{k}\int\frac{\text d\alpha}{\cos\alpha}\\ &=\frac{2N_0}{k}\ln|\frac{1+\sin\alpha}{\cos\alpha}|\\ \xrightarrow{X=\frac{1}{\cos\alpha}}&=\frac{2N_0}{k}\ln|X+\sqrt{X^2-1})| \end{aligned} dXdy?2N0?k?→yX=cosα1??X=cosα1???=X2?1?1?=k2N0??∫X2?1?1?dx=k2N0??∫cosαdα?=k2N0??ln∣cosα1+sinα?∣=k2N0??ln∣X+X2?1?)∣? 解得 y = 2 N 0 k ln ? ∣ n 0 + k x N 0 + ( n 0 + k x N 0 ) 2 ? 1 ) ∣ + C y=\frac{2N_0}{k}\ln|\frac{n_0+kx}{N_0}+\sqrt{(\frac{n_0+kx}{N_0})^2-1})| + C y=k2N0??ln∣N0?n0?+kx?+(N0?n0?+kx?)2?1?)∣+C 设入射位置为 ( 0 , 0 ) (0,0) (0,0),则上式变为 y = 2 N 0 k ln ? n 0 + k x + ( n 0 + k x ) 2 ? N 0 2 n 0 + n 0 2 ? N 0 2 y=\frac{2N_0}{k}\ln\frac{n_0+kx+\sqrt{(n_0+kx)^2-N_0^2}}{n_0+\sqrt{n_0^2-N_0^2}} y=k2N0??lnn0?+n02??N02??n0?+kx+(n0?+kx)2?N02??? 代码为
得到光线的传播图像为 图中两条线分别表示光线轨迹和光线的入射方向。 所谓分层介质,当然不必处处折射率梯度恒定,即 n ( x ) n(x) n(x)可以选取更加复杂的变化规律,而此时下列方程不一定存在解析解 ( d y d x ) 2 = n 0 2 sin ? 2 θ 0 n ( x ) 2 ? n 0 2 sin ? 2 θ 0 (\frac{\text dy}{\text dx})^2=\frac{n_0^2\sin^2\theta_0}{n(x)^2-n_0^2\sin^2\theta_0} (dxdy?)2=n(x)2?n02?sin2θ0?n02?sin2θ0?? 故选取其差分方式 d y = n 0 sin ? θ 0 n ( x ) 2 ? n 0 2 sin ? 2 θ 0 d x \text dy=\frac{n_0\sin\theta_0}{\sqrt{n(x)^2-n_0^2\sin^2\theta_0}}\text dx dy=n(x)2?n02?sin2θ0??n0?sinθ0??dx 当折射率周期变化时,有
如图所示 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 3:49:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |