返回顶部
首页 > 资讯 > 后端开发 > Python >Python光学仿真之对光的干涉理解学习
  • 923
分享到

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

2024-04-02 19:04:59 923人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

光的干涉 干涉即两束光在叠加过程中出现的强度周期性变化情况,其最简单的案例即为杨氏双缝干涉。 如图所示,光从 S S S点发出,通过两个狭缝 S 1 , S 2 S_1,S_2 S

光的干涉

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

在这里插入图片描述

如图所示,光从 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)

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

--结束END--

本文标题: Python光学仿真之对光的干涉理解学习

本文链接: https://lsjlt.com/news/154937.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python光学仿真之对光的干涉理解学习
    光的干涉 干涉即两束光在叠加过程中出现的强度周期性变化情况,其最简单的案例即为杨氏双缝干涉。 如图所示,光从 S S S点发出,通过两个狭缝 S 1 , S 2 S_1,S_2 S...
    99+
    2024-04-02
  • Python光学仿真光的偏振编程理解学习
    光的偏振 由于光波是横波,所以对于任意一个光波,其振幅方向与传播方向在一个固定的平面内。换言之,一束光波可以存在振幅方向不同的一群光波,对于其中一个光波而言,其振幅方向即为偏振方向。...
    99+
    2024-04-02
  • Python光学仿真理解Jones矩阵学习
    目录Jones向量Jones矩阵Jones矩阵的表示Jones向量 假设光波沿z轴传播,那么其三个方向的电场分量可以表示为 Jones矩阵 能够保证二维列向量形状不变的运算有无穷...
    99+
    2024-04-02
  • Python光学仿真学习处理高斯光束分布图像
    目录通过python处理光斑图像1 相关包与图像读取2 图像截取3显示强度4数据拟合问题通过python处理光斑图像 1 相关包与图像读取 首先需要科学计算必备包numpy和画图包m...
    99+
    2024-04-02
  • Python光学仿真学习衍射算法初步理解
    对衍射最经典的解释是Huygens-Fresnel原理,Huygens认为波阵面上每一点都会成为新的波源,这些子波源的相互干涉就形成了衍射。这显然是一种离散的观点,仿佛是专门为程序员...
    99+
    2024-04-02
  • python光学仿真面向对象光学元件类的实现
    光学元件类 平面反射镜是一种极为简单的模型,因为我们只需要考虑一个平面即可。但是除此之外的其他光学元件,可能会变得有些复杂:我们必须考虑光在入射面和出射面的行为。 这当然是一句废话,...
    99+
    2024-04-02
  • Python光学仿真wxpython之DC绘图
    一般来说,系统与绘图程序之间的信息交换是由图形设备接口(Graphics Device Interface,GDI)实现的,在wxpython中,通过device context(D...
    99+
    2024-04-02
  • Python光学仿真学习Gauss高斯光束在空间中的分布
    目录Gauss光束强度的表达式为 如图所示 左上图和左下图表示激光传输过程中的其束腰半径的变化情况;右图则表示高斯光束某一横截面处激光的能量分布。 绘制代码如下 import...
    99+
    2024-04-02
  • python光学仿真相速度和群速度计算理解学习
    目录波动模型相速度群速度从编程的角度来说,波动光学在某些情况下可以简单地理解为在光线模型的基础上,引入一个相位项。 波动模型 一般来说,三个特征可以确定空间中的波场:频率、振幅和相位...
    99+
    2024-04-02
  • python光学仿真实现光线追迹之空间关系
    目录空间关系相交判定射线排序线弧关系点弧关系空间关系 变化始于相遇,所以交点是一切的核心。 相交判定 首先考察一束光线能否打在某个平面镜上。光线被抽象成了一个列表[a,b,c],平面...
    99+
    2024-04-02
  • Python光学仿真教程实现光线追踪
    目录光线追迹几何抽象光线线段与圆弧光线追迹 得益于计算机的计算的能力,通过追踪具有代表性的光线的传播轨迹,可以更加精确地描述光学系统的性能,光线追迹方法也因此大展其能,诸如Zemax...
    99+
    2024-04-02
  • python光学仿真学习wxpython创建手速测试程序
    滚动条是什么大家自然都是知道的,可以非常直观地显示数据的变化,或者可以非常方便地改变某些数值。 此前在介绍按钮、静态文本、输入文本这三个控件时,相对来说比较乏味,所以这次我们采用需求...
    99+
    2024-04-02
  • python光学仿真PyQt5基础框架教程
    前几天为了自己搞一个光学仿真集成GUI界面,于是去研究了一下PyQt5,不得不说这个模块的使用性远远超过了tkinter,强烈推荐,于是准备出一个专栏,记录一下PyQt5学习中遇到的...
    99+
    2024-04-02
  • Python光学仿真从Maxwell方程组到波动方程矢量算法理解学习
    Maxwell方程组是十九世纪最伟大的公式,代表了传统物理学人对公式美学的孜孜追求,也影响了无数后来者的物理美学品味。 回顾历史,当1864年,Maxwell发出那篇著名的《电磁场的...
    99+
    2024-04-02
  • python光学仿真实现光线追迹折射与反射的实现
    目录折射与反射平面反射平面折射python实现弧面问题折射与反射 光线与光学元件相互作用,无非只有两件事,反射和透射。而就目前看来,我们所常用的光学元件,也无非有两种表面,即平面和球...
    99+
    2024-04-02
  • Python光学仿真实现波长与颜色之间对应关系示例解析
    目录光的颜色python实现为绘制光谱光的颜色 与其说颜色是光的一种属性,不如说是人眼对可见光频率范围内的一种感应,是人眼的一种属性。而人眼对光频的感应包括三个方面,即明度、色调和饱...
    99+
    2024-04-02
  • Python光学仿真wxpython透镜演示系统框架
    透镜演示系统 框架 现在,我们可以做一个具备友好界面的透镜演示系统了。我们需要两个圆弧来表示透镜,一条线段表示主光轴,多条线段表示光线的传播路径。此外,还需要对光源和透镜的参数进行调...
    99+
    2024-04-02
  • python光学仿真PyQt5基础框架的方法是什么
    本篇内容介绍了“python光学仿真PyQt5基础框架的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这篇先来说说PyQt5创建时...
    99+
    2023-06-25
  • Python光学仿真wxpython透镜演示系统计算与绘图
    目录计算与绘图计算与绘图 这里的计算主要包括两个部分,分别是通过滚动条的参数得到光学器件的特征,这一点此前已经备述。其二则是光在传播过程中所产生的各种行为,反射折射函数也都已经讲过了...
    99+
    2024-04-02
  • python光学仿真通过菲涅耳公式实现波动模型
    从物理学的机制出发,波动模型相对于光线模型,显然更加接近光的本质;但是从物理学的发展来说,波动光学旨在解决几何光学无法解决的问题,可谓光线模型的一种升级。从编程的角度来说,波动光学在...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作