gpt4 book ai didi

Python光学仿真之对光的干涉理解学习

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python光学仿真之对光的干涉理解学习由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

光的干涉

干涉即两束光在叠加过程中出现的强度周期性变化情况,其最简单的案例即为杨氏双缝干涉.

Python光学仿真之对光的干涉理解学习

如图所示,光从 S S S点发出,通过两个狭缝 S 1 , S 2 S_1,S_2 S1​,S2​,最终汇聚在右侧的干涉屏上,在不同位置处将会产生不同的相位差.

Python光学仿真之对光的干涉理解学习

import numpy as npimport matplotlib.pyplot as plt#两束光叠加waveAdd = lambda I1,I2,theta : I1+I2+2*np.sqrt(I1*I2)*np.cos(theta)#同一束光经过小孔之后的光程差,dSlit为小孔间距,dWave为波长#point为衍射屏上某点,theta为衍射屏相对小孔所在直线倾角def interSlit(dSlit,point=(1,1,1),n=1,dWave=1.06e-6):    pVar = sum(np.array(point)**2) + 0.25*dSlit**2    delt = 2*np.pi*n/dWave*(        np.sqrt(pVar+point[0]*dSlit)-        np.sqrt(pVar-point[0]*dSlit))    return delt#杨氏干涉,只考虑x方向#dSlit:小孔间距;dScreen:衍射屏距离#nGrid:网格个数;dGrid:网格间距def interYang(dSlit=1e-3,dScreen=1,n=1,I1=1,I2=1,              dWave=1.06e-6,nGrid=500,dGrid=1e-5):    xAxis = np.arange(-nGrid,nGrid+1)*dGrid    I = [waveAdd(I1,I2,interSlit(            dSlit,(x,0,dScreen),n,dWave))             for x in xAxis]    plt.plot(xAxis,I)    plt.show()

得到的衍射强度图为 。

Python光学仿真之对光的干涉理解学习

双缝干涉是一个非常实用的模型,可以应用到许多光学装置中,例如Fresnel双面镜,Fresnel双棱镜,Lloyds镜,Billet剖开透镜等等。其中Frenel双面镜如图所示 。

Python光学仿真之对光的干涉理解学习

光源入射到双面镜之后在镜后产生了两个像点 P , Q 二者相当于一对小孔,于是可以在右侧的干涉屏上产生干涉.

其仿真过程与杨氏干涉只差一个小孔的转换,图像亦如出一辙.

#alpha为双镜锐角,dSA为光源到劈点距离,dScreen为S像点连线到干涉屏距离def lensFresnel(alpha=0.1,dSA=1e-3,dScreen=1,                n=1,I1=1,I2=1,dWave=1.06e-6,                nGrid=500,dGrid=1e-4):    dSlit = 2*dSA*np.sin(alpha)    interYang(dSlit,dScreen,n,I1,I2,dWave,nGrid,dGrid)

以上就是Python光学仿真之对光的干涉理解学习的详细内容,更多关于Python理解光的干涉的资料请关注我其它相关文章! 。

原文链接:https://blog.csdn.net/m0_37816922/article/details/109568347 。

最后此篇关于Python光学仿真之对光的干涉理解学习的文章就讲到这里了,如果你想了解更多关于Python光学仿真之对光的干涉理解学习的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com