Python光学仿真之对光的干涉理解学习
作者:微小冷 时间:2021-05-24 04:47:52
光的干涉
干涉即两束光在叠加过程中出现的强度周期性变化情况,其最简单的案例即为杨氏双缝干涉。
如图所示,光从 S S S点发出,通过两个狭缝 S 1 , S 2 S_1,S_2 S1,S2,最终汇聚在右侧的干涉屏上,在不同位置处将会产生不同的相位差。
import numpy as np
import 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()
得到的衍射强度图为
双缝干涉是一个非常实用的模型,可以应用到许多光学装置中,例如Fresnel双面镜,Fresnel双棱镜,Lloyds镜,Billet剖开透镜等等。其中Frenel双面镜如图所示
光源入射到双面镜之后在镜后产生了两个像点 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)
来源:https://blog.csdn.net/m0_37816922/article/details/109568347
标签:光学仿真,干涉
0
投稿
猜你喜欢
8 行 Node.js 代码实现代理服务器
2024-04-22 22:37:34
MySQL六种约束的示例详解
2024-01-16 19:15:38
如何让用户再次访问我的网站时不需再提交相关信息?
2010-05-16 15:05:00
OpenCV机器学习MeanShift算法笔记分享
2021-06-04 18:54:54
centos7通过yum安装mysql的方法
2024-01-18 06:48:57
利用Python提取PDF文本的简单方法实例
2023-05-09 05:37:34
Python 数据可视化pyecharts的使用详解
2021-07-07 20:29:55
python实现在内存中读写str和二进制数据代码
2022-03-30 04:55:11
Mootools 1.2教程(6)——操纵HTML DOM元素
2008-11-20 13:19:00
如何给 legend 标签设定宽度
2008-07-26 12:18:00
Python中元组的概念及应用小结
2022-03-28 15:01:05
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2024-04-18 09:51:29
如何获知文件被改动的情况?
2009-11-24 20:42:00
conn.execute的用法
2008-07-03 12:58:00
golang中的时间格式化
2024-04-25 15:29:58
使用 iframe 获取网页片段的一个好处
2008-12-01 12:37:00
asp使用XMLHTTP下载远程数据输出到浏览器
2007-11-04 10:34:00
Python实现全角半角字符互转的方法
2022-07-29 10:03:25
MySQL按照汉字的拼音排序简单实例
2024-01-22 00:32:41
Sql Server中的事务介绍
2024-01-22 01:04:37