干涉衍射仿真實驗(python仿真)

簡介

  軟件環境,python 3.6,配合第三方庫numpy和matplotlib繪製雙縫干涉仿真圖

衍射實驗

  獲取代碼請轉至此處
  單縫衍射
在這裏插入圖片描述
  光柵衍射
在這裏插入圖片描述

雙縫干涉

##############
#利用python仿真雙縫實驗
#時間:2018/12/31
#作者:cclplus
#僅供學習交流使用
#如有疑問或者需求,可以聯繫作者[email protected]

import numpy as np
import matplotlib.pyplot as plt
import math

#表示長度的物理量單位m
#波長
wavelength=float(5.0*10**-9)
#雙縫間距
d_slit=float(0.002)
#縫到屏幕的距離
d_screen=float(1.0)

ym=5.0*wavelength*d_screen/d_slit
xs=ym
distance=ym/50.0
ys=np.arange(-ym,ym,distance)
len_dis=len(ys)
B = [([0.0] * len_dis) for i in range(len_dis)]
Br = [([0.0] * len_dis) for i in range(len_dis)]
N=255.0
for i in range(0,len_dis):
    r1=math.sqrt((ys[i]-d_slit/2)**2+d_screen**2)
    r2=math.sqrt((ys[i]+d_slit/2)**2+d_screen**2)
    phi=2.0*math.pi*(r2-r1)/wavelength
    temp=4.0*math.cos(phi/2)**2
    for j in range(0,len_dis):
        B[i][j]=temp
        Br[i][j]=B[i][j]/4.0*N

plt.title("double_slit_experiment")
plt.imshow(Br, cmap='gray')
plt.show()

仿真結果圖
在這裏插入圖片描述

參考文獻

[1]:光學教程第五版(姚啓鈞編著)高等教育出版社 ISBN 978-7-04-040082-3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章