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

 更新时间:2021年10月20日 10:36:01   作者:微小冷  
这篇文章主要为大家介绍了通过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光的偏振的资料请关注脚本之家其它相关文章!

相关文章

  • Python WSGI 规范简介

    Python WSGI 规范简介

    这篇文章主要介绍了Python WSGI 规范的相关资料,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • python 修改本地网络配置的方法

    python 修改本地网络配置的方法

    今天小编就为大家分享一篇python 修改本地网络配置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python 实现一个颜色色值转换的小工具

    Python 实现一个颜色色值转换的小工具

    这篇文章主要介绍了Python 实现一个颜色色值转换的小工具的相关资料,需要的朋友可以参考下
    2016-12-12
  • Python学习之基础语法介绍

    Python学习之基础语法介绍

    大家好,本篇文章主要讲的是Python学习之基础语法介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Python字符串中如何去除数字之间的逗号

    Python字符串中如何去除数字之间的逗号

    这篇文章主要介绍了Python字符串中如何去除数字之间的逗号,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python多叉树的构造及取出节点数据(treelib)的方法

    Python多叉树的构造及取出节点数据(treelib)的方法

    今天小编就为大家分享一篇Python多叉树的构造及取出节点数据(treelib)的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python入门篇之字符串

    Python入门篇之字符串

    可能大多数人在学习C语言的时候,最先接触的数据类型就是字符串,因为大多教程都是以"Hello world"这个程序作为入门程序,这个程序中要打印的"Hello world"就是字符串。今天我们来了解一下Python中的字符串,看看它的用法。
    2014-10-10
  • Django开发的简易留言板案例详解

    Django开发的简易留言板案例详解

    这篇文章主要介绍了Django开发的简易留言板,结合实例形式详细分析了基于Python框架Django开发留言板的具体文件结构、流程步骤与相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • python进行参数传递的方法

    python进行参数传递的方法

    在本篇文章里小编给大家分享的是关于python进行参数传递的方法以及代码,需要的朋友们可以学习下。
    2020-05-05
  • python paramiko连接ssh实现命令

    python paramiko连接ssh实现命令

    这篇文章主要为大家介绍了python paramiko连接ssh实现的命令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论