<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 30行Python代碼模擬物理光學(xué)現象:雙縫干涉

30行Python代碼模擬物理光學(xué)現象:雙縫干涉

發(fā)布人:芯語(yǔ)芯事 時(shí)間:2022-07-22 來(lái)源:工程師 發(fā)布文章

1 雙縫干涉概念

單色光照射到具有兩條狹縫的擋板上,這狹縫相距很近,通常在微米量級。從兩條狹縫****出來(lái)的光波相位差恒定,頻率相同。兩束光在檔板后的空間相互疊加而發(fā)生干涉現象,在屏上產(chǎn)生了明暗相間的干涉條紋。當屏上的某點(diǎn)與兩縫的光程差是半波長(cháng)的偶數倍時(shí),形成亮條紋,是半個(gè)波長(cháng)的奇數倍時(shí),出現暗條紋。

30行Python代碼模擬物理光學(xué)現象:雙縫干涉


2 定態(tài)的干涉光波

實(shí)驗室通常采用波長(cháng)約為589nm的鈉黃光作為干涉光源,上圖中的a點(diǎn)就是光源所在處。鈉光燈可以看做是點(diǎn)光源,其****的光波為球面波。球面波在一個(gè)平面上的傳播方程可以簡(jiǎn)單寫(xiě)為:A=A0 * cos(w(t-r/v)+q) ,其中A為振幅,w為角頻率,r為某點(diǎn)離光源的距離,t為傳播時(shí)間,q為初始相位。為了方便計算空間各點(diǎn)的振幅,該公式可以用python定義為一個(gè)函數方便重復調用:

def func_A(t,q,x,y,x0,y0):
r = ((x - x0) ** 
+ (y - y0) ** 2) ** 0.5
A=np.cos(w*(t-r/v)+q)
return A

當光波到達b,c兩條狹縫時(shí),根據惠更斯原理,b,c兩點(diǎn)會(huì )成為新的“子波源”,因此,b,c兩個(gè)波源****的光波具有相同的頻率,恒定的相位差,成為相干光。假設兩波源的初始相位都為零,根據上述python語(yǔ)言的函數定義,b,c兩點(diǎn)的光波傳播函數分別為:

b_A = func_A(t,0,x, y, 0, 2)c_A = func_A(t,0, x, y, 0, -2)

根據光強的計算公式,可以得到光強是正比于振幅A的平方。干涉場(chǎng)空間各點(diǎn)的振幅為兩振幅的疊加,也就是b_A+c_A,所以空間的各點(diǎn)光強定義為函數:

def f(t,x, y):

    A1 = func_A(t, 0,x, y, 0, 2)

    A2 = func_A(t,0, x, y, 0, -2)

    return ((A1+A2)**2)

在某時(shí)刻干涉光場(chǎng)的解為f(0,x, y),采用matplotlib繪圖庫將干涉場(chǎng)各點(diǎn)的光強顯示出來(lái)。執行ax.imshow(f(0,x, y)),就可以看到等間距的明暗光波疊加的效果。

30行Python代碼模擬物理光學(xué)現象:雙縫干涉


3 動(dòng)態(tài)的光波效果

計算多個(gè)時(shí)刻的定態(tài)光波干涉場(chǎng),然后將這些圖像制作為視頻或動(dòng)畫(huà)就可以看到動(dòng)態(tài)光波的效果,下圖就是干涉光波傳播的效果動(dòng)畫(huà)。

30行Python代碼模擬物理光學(xué)現象:雙縫干涉


4 在現實(shí)中人眼看見(jiàn)的效果

我們上面介紹了光波的定態(tài)和動(dòng)態(tài)效果圖,但并不代表人眼所看到的就是明暗相間的散點(diǎn)。我們人眼所看到的效果是長(cháng)時(shí)間光照射的疊加效果,比如,我們在看電風(fēng)扇轉動(dòng)時(shí),你只能看見(jiàn)一個(gè)圓盤(pán),而不會(huì )看到三個(gè)葉片。再比如,顯示屏是逐行掃描的,而我們看到的卻是一幅圖像。這一切都是由于視覺(jué)暫留效應,我們人眼并不能分辨出很短時(shí)間內的圖像變化。干涉場(chǎng)也是這樣,光波都是在飛秒時(shí)間內變化,我們無(wú)法分辨短時(shí)間光明暗的變化。在干涉場(chǎng)內,如果一個(gè)地方時(shí)亮時(shí)暗,我們看起來(lái)就是亮;如果一個(gè)地方一直暗看起來(lái)才會(huì )是暗。用Python模擬這種效果,就是簡(jiǎn)單將各個(gè)時(shí)刻的光波場(chǎng)疊加,就可以看到明暗相間的條紋。

z=f(0,x, y)for i in range(1,10):

    z=f(i*0.3,x, y)+z
30行Python代碼模擬物理光學(xué)現象:雙縫干涉


關(guān)于雙縫干涉的python模擬先介紹到這里,最后附上源碼:

import numpy as npimport matplotlib.pyplot as pltimport randomv=3*(10**8)*(10**6)*(10**(-15)) L=0.589w=2*np.pi*v/Ldef func_A(t,q,x,y,x0,y0):

    r = ((x - x0) ** 2 + (y - y0) ** 2) ** 0.5

    A=np.cos(w*(t-r/v)+q)

    return Afig, ax = plt.subplots()ax.set_xticks([])ax.set_yticks([])def f(t,x, y):

    A1 = func_A(t, 0,x, y, 0, 2)

    A2 = func_A(t,0, x, y, 0, -2)

    return ((A1+A2)**2)x = np.linspace(0, 8, 1000)y = np.linspace(-5, 5, 1000).reshape(-1, 1)ax.imshow(f(0,x, y))plt.show()


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 干涉 光波

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>