iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python光学仿真光的偏振编程理解学习
  • 159
分享到

Python光学仿真光的偏振编程理解学习

2024-04-02 19:04:59 159人浏览 薄情痞子

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

摘要

光的偏振 由于光波是横波,所以对于任意一个光波,其振幅方向与传播方向在一个固定的平面内。换言之,一束光波可以存在振幅方向不同的一群光波,对于其中一个光波而言,其振幅方向即为偏振方向。

光的偏振

由于光波是横波,所以对于任意一个光波,其振幅方向与传播方向在一个固定的平面内。换言之,一束光波可以存在振幅方向不同的一群光波,对于其中一个光波而言,其振幅方向即为偏振方向。

可以画出其示意图


#偏振光演示
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3D import Axes3D as axd
def polarShow():
    z = np.arange(0,5,0.01)      #传播方向,单位um
    dWave = 0.6328   
    x1 = z*0
    y1 = np.cos(2*np.pi*z/dWave)#此光波偏振方向为y
    x2 = np.cos(2*np.pi*z/dWave)#此光波偏振方向为y
    y2 = z*0
    fig = plt.figure()
    ax = axd(fig)
    ax.plot3D(z,x1,y1)
    ax.plot3D(z,x2,y2)
    ax.plot3D(z,x1,y2)
    plt.show()

得到其示意图为

在这里插入图片描述

我们生活中遇到的大部分光都是各种偏振方向的均匀混合,即并不是偏振光。上图所示的蓝色和橙色光波,其偏振方向单一,这种光叫做线偏振光。又因为这两束光处处保持等相位,则这两束光的合成仍旧为偏振光。

如果二者之间产生一点相位差,那么其合成将不再是线偏振光,下面将程序中插入一个相位


#两个存在相位差的线偏振光演示
def polarShow(dWave = 0.6328,delta=0.5):
    z = np.arange(0,5,0.01)      
    x1 = z*0
    y1 = np.cos(2*np.pi*z/dWave+delta)#此光波偏振方向为y
    x2 = np.cos(2*np.pi*z/dWave)#此光波偏振方向为x
    y2 = z*0
    x3 = x1+x2
    y3 = y1+y2
    fig = plt.figure()
    ax = axd(fig)
    ax.plot3D(z,x1,y1)
    ax.plot3D(z,x2,y2)
    ax.plot3D(z,x3,y3)
    ax.plot3D(z,x1,y2)
    plt.show()

调整视角之后,如下图所示,可见两束现偏振光合成之后,偏振方向则在光的不同传播位置处发生变化。由于沿着光的传播方向看去,其投影为一个椭圆,所以称此时的光为椭圆偏振光。

在这里插入图片描述

调整相位差,然后画出光波沿传播方向上的投影


#偏振光演示
def polarShow(dWave = 0.6328):
    z = np.arange(0,5,0.01)      
    x = np.cos(2*np.pi*z/dWave) #x偏振光
    delta = [0,np.pi/6,np.pi/4,\
             np.pi/3,np.pi/2,2*np.pi/3,\
             3*np.pi/4,5*np.pi/6,np.pi]    
    titles = ["0","30°","45°","60°","90°",\
        "120°","135°","150°","180°"]
    #fig = plt.figure()
    for i in range(9):
        ax =plt.subplot(331+i)  #子图绘制,表示3×3的布局中的第(1+i)个图
        ax.set_title(titles[i])
        y = np.cos(2*np.pi*z/dWave+delta[i])#此光波偏振方向为y
        plt.plot(x,y)
        plt.xticks([])
        plt.yticks([])  #去掉坐标轴
    plt.subplots_adjust(wspace=0.5,hspace=0.5)#调整子图间距
    plt.show()

于是就得到了这张著名的图片:

在这里插入图片描述

光在空气中或者水中传播时,并不会改变其偏振状态,同时这两种介质对不同偏振方向的光具有相同的折射率。

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

--结束END--

本文标题: Python光学仿真光的偏振编程理解学习

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python光学仿真光的偏振编程理解学习
    光的偏振 由于光波是横波,所以对于任意一个光波,其振幅方向与传播方向在一个固定的平面内。换言之,一束光波可以存在振幅方向不同的一群光波,对于其中一个光波而言,其振幅方向即为偏振方向。...
    99+
    2024-04-02
  • Python光学仿真之对光的干涉理解学习
    光的干涉 干涉即两束光在叠加过程中出现的强度周期性变化情况,其最简单的案例即为杨氏双缝干涉。 如图所示,光从 S S S点发出,通过两个狭缝 S 1 , S 2 S_1,S_2 S...
    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光学仿真教程实现光线追踪
    目录光线追迹几何抽象光线线段与圆弧光线追迹 得益于计算机的计算的能力,通过追踪具有代表性的光线的传播轨迹,可以更加精确地描述光学系统的性能,光线追迹方法也因此大展其能,诸如Zemax...
    99+
    2024-04-02
  • Python光学仿真学习Gauss高斯光束在空间中的分布
    目录Gauss光束强度的表达式为 如图所示 左上图和左下图表示激光传输过程中的其束腰半径的变化情况;右图则表示高斯光束某一横截面处激光的能量分布。 绘制代码如下 import...
    99+
    2024-04-02
  • python光学仿真相速度和群速度计算理解学习
    目录波动模型相速度群速度从编程的角度来说,波动光学在某些情况下可以简单地理解为在光线模型的基础上,引入一个相位项。 波动模型 一般来说,三个特征可以确定空间中的波场:频率、振幅和相位...
    99+
    2024-04-02
  • python光学仿真学习wxpython创建手速测试程序
    滚动条是什么大家自然都是知道的,可以非常直观地显示数据的变化,或者可以非常方便地改变某些数值。 此前在介绍按钮、静态文本、输入文本这三个控件时,相对来说比较乏味,所以这次我们采用需求...
    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光学仿真从Maxwell方程组到波动方程矢量算法理解学习
    Maxwell方程组是十九世纪最伟大的公式,代表了传统物理学人对公式美学的孜孜追求,也影响了无数后来者的物理美学品味。 回顾历史,当1864年,Maxwell发出那篇著名的《电磁场的...
    99+
    2024-04-02
  • python光学仿真PyQt5基础框架教程
    前几天为了自己搞一个光学仿真集成GUI界面,于是去研究了一下PyQt5,不得不说这个模块的使用性远远超过了tkinter,强烈推荐,于是准备出一个专栏,记录一下PyQt5学习中遇到的...
    99+
    2024-04-02
  • python光学仿真实现光线追迹之空间关系
    目录空间关系相交判定射线排序线弧关系点弧关系空间关系 变化始于相遇,所以交点是一切的核心。 相交判定 首先考察一束光线能否打在某个平面镜上。光线被抽象成了一个列表[a,b,c],平面...
    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
  • python光学仿真通过菲涅耳公式实现波动模型
    从物理学的机制出发,波动模型相对于光线模型,显然更加接近光的本质;但是从物理学的发展来说,波动光学旨在解决几何光学无法解决的问题,可谓光线模型的一种升级。从编程的角度来说,波动光学在...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作